Question from Reddit user:
I am trying to connect GHL leads generated through a GHL form on my landing page to manychat so i can send them whatsapps through there.
I am trying to do this with the webhook.
But I can’t make it work.
Anyone know how??
Answer from Nabil:
The short answer is:
Your webhook is likely failing because the GoHighLevel workflow’s webhook action needs to be configured to send data to a ManyChat External Request URL, which acts as ManyChat’s webhook receiver, and the data format (JSON) or the mapping of the phone number field is incorrect.
ManyChat does not have a general inbound webhook URL; it specifically uses the External Request action in its flow builder to receive data.
You need to create a GHL Workflow triggered by the form submission, and the very next step should be a Webhook action that sends a correctly formatted POST request, including the contact’s phone number, to the unique URL you generate inside a ManyChat flow.
The long answer is:
The reason your current webhook setup isn’t working is a common pitfall: you’re likely trying to send the data to a place in ManyChat that doesn’t exist or isn’t set up to receive it.
ManyChat doesn’t publish a single, static webhook endpoint like some other CRMs.
Instead, to receive data from an external source like a GHL Workflow, you must use the External Request action inside a ManyChat flow.
The steps for a successful webhook integration are: First, create a ManyChat flow that begins with the External Request step, which will generate a unique, cryptic URL.
This is the target URL for your GHL webhook.
Second, in your GoHighLevel Workflow, set the trigger as Form Submitted and select your specific form.
The immediate next action should be the Webhook step.
This is where you paste the unique URL from ManyChat.
Crucially, the data you send from GHL must be correctly structured.
You need to configure the GHL webhook to send data as a POST request in JSON format, and you must explicitly map the contact fields (name, email, and most importantly, the phone number) to parameters that ManyChat can understand and save as a custom field.
If any part of the URL is wrong, the data format is not valid JSON, or the required phone number field is missing or incorrectly named, the webhook will fail silently.
For a bulletproof, high-volume, and completely reliable connection, an excellent solution is to move beyond the GHL workflow webhook action and use the HighLevel API and the ManyChat API with a simple intermediary application hosted on a service like Google Cloud Platform or an integration platform like Zapier or Make (formerly Integromat).
This custom script would be triggered by the GHL form submission (via an internal webhook or a dedicated API call), and its sole job would be to take the GHL contact data, use the ManyChat API’s createSubscriber
or setCustomFields
method to add or update the contact in ManyChat (using the phone number as the key), and then immediately use the ManyChat API’s sendFlow
method to trigger your specific WhatsApp sequence.
This API-to-API approach allows you to handle error logging, custom data transformation, and ensures a reliable connection that the native webhook function sometimes struggles to maintain under load or with complex data requirements.
While adding Google Tag Manager and Stape to this specific GHL-to-ManyChat-WhatsApp flow isn’t strictly necessary since the form submission already occurs inside GHL, it’s a powerful consideration for future use cases where you might need to capture form abandonment events or behavioral data directly from the landing page to enrich the lead data before it hits ManyChat.