Webhooks & Bulk Import
5 articles
- 1 Setting Up Inbound Webhooks 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 Go to Syncly >... Read article
- 2 Webhook Event Types Supported events Event What happens in WordPress ContactCreate Plugin checks if a WordPress user with the same email exists. If yes, links them. If no, creates a new WordPress user with auto-generated username and password, then maps GHL field data to user meta. ContactUpdate Finds the linked WordPress user and updates their user meta with... Read article
- 3 Bulk Import from GoHighLevel What bulk import does Bulk import pulls all contacts from your connected GHL location and creates WordPress user accounts for any contact that does not already have one. How to run it Go to Syncly > Settings > Tools. Click Start Bulk Import. A progress bar shows import status. The import runs in pages of... Read article
- 4 Webhook Troubleshooting Webhook not receiving events Webhook URL is correct: Must be https://yoursite.com/wp-json/syncly/v1/webhooks. HTTP will not work. Secret header is set: x-ghl-token must be present with the exact secret from your WordPress settings. Site is publicly accessible: The endpoint must be reachable from the internet. Webhooks will not work on localhost or behind a password protection. REST... Read article
- 5 Ping-Pong Prevention and Guards The sync loop problem With both outbound sync and inbound webhooks active, a loop can occur: WordPress pushes to GHL, GHL webhooks back to WordPress, WordPress pushes again. Without protection this continues indefinitely. The 30-second inbound guard When the plugin receives an inbound webhook for a contact, it sets a WordPress transient with a 30-second... Read article