All docs
Webhooks & Bulk Import

Getting Started

What Is Syncly for GoHighLevel? System Requirements Installation Guide Quick Start: Setup Wizard Plugin Dashboard Overview Free vs Pro: Feature Comparison White-Label Domain Setup WordPress Multisite Setup

Connection & Authentication

Connecting via OAuth2 Manual API Token Authentication API Scope Detection Multi-Location and Agency Setup Disconnecting and Reconnecting Security Best Practices Connection Troubleshooting

Field Mapping

How Field Mapping Works Setting Up Field Mapping Sync Direction: To GHL, From GHL, Both Ways Computed and Virtual Fields Extended Field Mapping (Pro) AI-Assisted Field Suggestions (Pro)

User Sync & Tag Management

How User Sync Works Configuring User Sync Settings Bulk User Sync Login Tracking Ping-Pong Prevention Role-Based Tagging System Global Tags (Pro) Sync Preview and Dry Run (Pro) User Profile GHL Section

Content Restrictions

How Tag-Based Restrictions Work Page and Post Metabox Setup [syncly_restrict] Shortcode Gutenberg Restricted Content Block Elementor Widget Conditions (Pro) Archive and REST API Protection (Pro) Admin Bypass and Override Rules (Pro)

Forms & Shortcodes

Embedding Syncly Forms: Overview [syncly_form] Shortcode [syncly_user_meta] Shortcode Syncly Form Gutenberg Block Syncly Form Elementor Widget Per-Form Submission Limits (Pro) Form Autofill and Logged-In-Only Mode Contact Form 7 Integration

Webhooks & Bulk Import

Setting Up Inbound Webhooks Webhook Event Types Bulk Import from GoHighLevel Webhook Troubleshooting Ping-Pong Prevention and Guards

WooCommerce Integration

WooCommerce Integration Overview Per-Product GHL Tags (Pro) Abandoned Cart Tracking (Pro) Pipeline and Opportunity Management (Pro) Lead-to-Customer Conversion (Pro) WooCommerce Extended Field Mapping (Pro)

LearnDash Integration

LearnDash Integration Overview (Pro) Course Enrollment and Completion Tags (Pro) Tag-Based Auto-Enrollment (Pro) Quiz Score-Based Threshold Tagging (Pro) Lesson and Topic Completion Tags (Pro) Syncing Course Progress to GHL (Pro) LearnDash Group Sync (Pro) LearnDash Extended Field Mapping (Pro)

BuddyBoss Integration

BuddyBoss Group Sync to GHL Custom Objects BuddyBoss Group Admin Metabox Bulk Group Sync BuddyBoss XProfile Field Mapping (Pro) Family BuddyBoss Groups (Pro)

Pro Features

Custom Objects: Overview (Pro) Mapping Post Types to GHL Custom Objects (Pro) Custom Object Contact Associations (Pro) Family Relationships: Overview (Pro) Managing Family Members and Invitations (Pro) Family Tag Inheritance (Pro) Conditional Navigation Menus (Pro) [syncly_family_manager] Shortcode (Pro) Analytics Dashboard (Pro) Public REST API Endpoints (Pro)

Sync Engine & Troubleshooting

How the Sync Queue Works Sync Logs and Reading Them Enhanced Sync Logs (Pro) Rate Limits and API Quotas Auto-Login Links Email Notifications Setup Advanced Settings (Cache, Batch Size, Retention) Common Issues and Solutions Frequently Asked Questions Uninstalling the Plugin

Webhooks & Bulk Import

Setting Up Inbound Webhooks

< 1 min read Updated Jun 8, 2026

What inbound webhooks do

Inbound webhooks let GoHighLevel push contact changes to WordPress in real time. When a contact is created, updated, or deleted in GHL, GHL sends a POST request to your webhook endpoint and the plugin updates the corresponding WordPress user.

Your webhook endpoint

https://yoursite.com/wp-json/syncly/v1/webhooks

Setting up in GoHighLevel

  1. Go to Syncly > Settings > Webhooks in WordPress.
  2. Copy the Webhook URL and the Webhook Secret.
  3. In GoHighLevel, go to Settings > Integrations > Webhooks or create a workflow with a webhook action.
  4. Add your webhook URL.
  5. Add a custom header: key x-ghl-token, value is your webhook secret.
  6. Select events: ContactCreate, ContactUpdate, ContactDelete.
Important: The webhook secret header is required. Without it, your endpoint returns 401 and ignores all payloads. Keep your secret private.

Regenerating the secret

Click Regenerate Secret in Settings > Webhooks if the secret is compromised. Update the header value in GHL after regenerating.

What are your Feelings