Revset
Book a Free Audit

30-minute call · No obligation

HomeGHL HubIntegrations & APIIntegrate ManyChat with GoHighLevel for Seamless Automation
REVSET LABS · EXPERT GUIDE·Integrations & API

Integrate ManyChat with GoHighLevel for Seamless Automation

1,172 words·5 min read·Updated 28 April 2026·beginner·
Arsalan ZaffarArsalan ZaffarLinkedIn

👉 Start your 30-day GoHighLevel free trial.

Start 30-Day Free Trial
Quick Answer

To integrate ManyChat with GoHighLevel, you will use ManyChat's 'External Request' action to send data via a POST request to a GoHighLevel Inbound Webhook. This process allows you to sync contact information, custom field data, and trigger GHL automations. The core setup typically takes about 30-45 minutes.

Key Takeaways
  • Always create dedicated custom fields in GoHighLevel to accurately store ManyChat data, ensuring proper segmentation and personalization.
  • Thoroughly test your ManyChat 'External Request' actions and GoHighLevel workflows with sample data before deploying them to live campaigns.
  • Use GoHighLevel's Inbound Webhook as the trigger for your automation workflows, allowing you to process incoming ManyChat data efficiently.
  • Map ManyChat custom fields directly to GoHighLevel contact fields or custom fields within your GHL workflow using the `_data.body` syntax.
  • Leverage the integrated data to automate lead nurturing, opportunity creation, and internal notifications, streamlining your sales and marketing processes.

Why Integrate ManyChat with GoHighLevel?

Integrating ManyChat with GoHighLevel creates a powerful synergy between your chatbot marketing and comprehensive CRM. This connection allows you to seamlessly capture leads, enrich contact profiles with chatbot interactions, and trigger automated follow-up sequences in GoHighLevel. You can move prospects from a Messenger conversation directly into your sales pipeline, ensuring no lead is missed and every interaction is leveraged for conversion. This guide walks you through the precise steps to establish this crucial link, empowering you to automate lead management and enhance customer engagement.

Section 1: Prepare Your GoHighLevel Account

Before you connect ManyChat, prepare your GoHighLevel account to receive and store the incoming data. This involves creating custom fields to house specific information from ManyChat and setting up a dedicated tag for easy identification of ManyChat-generated contacts. Proper preparation ensures that your data is organized and actionable within GoHighLevel.

1
1.1 Create Custom Fields for ManyChat DataGo to Settings → Custom Fields and click + Add Custom Field. Create fields for any specific data you want to capture from ManyChat, such as 'ManyChat Opt-in Date', 'Last ManyChat Interaction', or 'Messenger ID'.
2
1.2 Add a ManyChat Contact TagNavigate to Settings → Tags and click + Create New Tag. Name it 'ManyChat Lead' or similar, so you can easily identify contacts originating from your chatbot within GoHighLevel.
🔥 Pro Tip

Use consistent naming conventions for your custom fields (e.g., 'MC_Opt_In_Date') to make mapping easier and avoid confusion later on.

Section 2: Set Up Your GoHighLevel Inbound Webhook

The GoHighLevel Inbound Webhook acts as the receiving endpoint for data sent from ManyChat. You will create a dedicated workflow that starts with this webhook, allowing GoHighLevel to listen for and process incoming information. This webhook URL is crucial for ManyChat to send its data.

1
2.1 Create a New GoHighLevel WorkflowFrom the left navigation, click Automation → Workflows. Click + Create New Workflow and then Start from Scratch to begin building your automation.
2
2.2 Add an Inbound Webhook TriggerClick + Add New Workflow Trigger and select 'Webhook' from the list. This trigger will initiate your workflow whenever ManyChat sends data to it.
3
2.3 Copy the Webhook URLOnce the Webhook trigger is added, GoHighLevel automatically generates a unique URL. Copy this URL immediately; you will need it for the ManyChat setup in the next section.

⚠️ Do not share your webhook URL publicly, as it can be used to send unauthorized data to your GoHighLevel account.

Try GoHighLevel Free

Start your 30-day GoHighLevel free trial

Everything in this guide is in your free trial. 30 days, no credit card — the platform behind 78+ revenue systems.

Start 30-Day Free Trial

Some links are affiliate links — if you sign up we may earn a commission, at no extra cost to you. We only recommend GoHighLevel because we build on it every day.

Section 3: Configure ManyChat for Data Sending

Now, you will configure your ManyChat flows to send contact data to the GoHighLevel webhook you just created. This involves adding an 'External Request' action within your ManyChat flow and precisely mapping the data you want to transfer. This step is critical for ensuring the correct information reaches GoHighLevel.

1
3.1 Open Your ManyChat FlowLog into your ManyChat account and navigate to Automation → Flows. Select the specific flow where you want to send data to GoHighLevel, for example, after a user provides their email.
2
3.2 Add an 'Action' StepWithin your ManyChat flow, add a new 'Action' block at the point where you want to send data. Click the + icon and choose Actions.
3
3.3 Select 'External Request'In the 'Actions' menu, select External Request. This action allows ManyChat to send data to external services like GoHighLevel via webhooks.
4
3.4 Configure the External Request DetailsPaste the GoHighLevel Webhook URL you copied earlier into the 'URL' field. Set the 'Request Type' to POST and 'Content Type' to application/json.
5
3.5 Construct the JSON Request BodyIn the 'Body' section, you will define the data payload. Use JSON format to map ManyChat custom fields to keys that GoHighLevel will recognize. For example: `{"first_name": "{{first_name}}", "last_name": "{{last_name}}", "email": "{{email}}", "phone": "{{phone_number}}", "manychat_optin_date": "{{last_interaction_date}}"}`. Ensure keys match expected GHL fields or custom field names you created.

⚠️ Double-check your JSON syntax for correct curly braces, quotes, and commas. A single error can prevent the webhook from sending data successfully.

🔥 Pro Tip

Always use ManyChat's built-in custom field selectors (e.g., `{{first_name}}`, `{{email}}`) when building your JSON body to ensure dynamic data is sent.

Section 4: Test the ManyChat to GoHighLevel Connection

Testing is a critical step to ensure your integration works as expected. You will trigger the ManyChat flow, send a test request, and then verify that GoHighLevel correctly receives and processes the data. This helps identify and fix any issues before live deployment.

1
4.1 Send a Test Request from ManyChatIn your ManyChat flow, click the Test Request button within the 'External Request' action. This sends a sample data payload to your GoHighLevel webhook.
2
4.2 Verify Data in GoHighLevel Workflow HistoryReturn to your GoHighLevel workflow and click Save and then Test Workflow. You should see the incoming data from ManyChat appear under the 'Webhook trigger' step, confirming successful receipt.
3
4.3 Check Contact Creation/Update in GoHighLevelAfter a successful test, navigate to Contacts in GoHighLevel. Search for the test contact created by ManyChat (using your own name if you tested with your profile) and verify that all mapped fields are correctly populated.
🔥 Pro Tip

Use unique test data each time you test, like 'Test User 1', 'Test User 2', to easily distinguish new records and track changes.

Section 5: Build GoHighLevel Automation with Webhook Data

Once data is successfully received, you can build powerful automations in GoHighLevel to process this information. This includes creating or updating contacts, adding them to opportunities, applying tags, and sending internal notifications. This step transforms raw data into actionable insights and automated workflows.

1
5.1 Add 'Create/Update Contact' ActionBack in your GoHighLevel workflow, after the 'Webhook' trigger, add an action. Select Create/Update Contact to process the incoming ManyChat lead.
2
5.2 Map Webhook Data to Contact FieldsWithin the 'Create/Update Contact' action, use the custom values dropdown to map webhook data to GoHighLevel fields. For example, for 'First Name', select `_data.body.first_name`. Map all relevant fields you sent from ManyChat.
3
5.3 Add 'Add to Opportunity' ActionTo manage new leads, add an Add to Opportunity action. Select your desired pipeline and stage (e.g., 'New ManyChat Lead') to automatically move prospects into your sales funnel.
4
5.4 Add 'Add Contact Tag' ActionSelect Add Contact Tag and choose the 'ManyChat Lead' tag you created earlier. This helps segment and identify contacts that originated from your chatbot.
5
5.5 Add 'Send Internal Notification' (Optional)To alert your team about new ManyChat leads, add a Send Internal Notification action. Configure it to send an email or SMS to relevant team members with details of the new lead.
6
5.6 Publish Your GoHighLevel WorkflowAfter configuring all necessary actions, ensure your workflow is set to 'Active'. Click Save and then Publish to make your ManyChat integration live and fully automated.

⚠️ Always publish your workflow after making changes. Unpublished workflows will not run and your automations will not execute.

🔥 Pro Tip

Use conditional logic in your GoHighLevel workflow to create different paths based on data received from ManyChat, allowing for highly personalized automations.

Troubleshooting Common Issues

⚠️ ManyChat 'External Request' fails or shows an error.
Check the webhook URL for typos. Ensure the 'Request Type' is POST and 'Content Type' is application/json. Verify your JSON body syntax for any missing commas, quotes, or brackets.
⚠️ Data is sent from ManyChat but not appearing in GoHighLevel workflow history.
Confirm the GoHighLevel workflow is published and active. Re-copy the webhook URL from GHL and paste it into ManyChat to rule out an incorrect URL.
⚠️ Contact is created in GoHighLevel, but specific fields are empty or incorrect.
Review the JSON body in ManyChat to ensure ManyChat custom fields are correctly referenced (e.g., `{{first_name}}`). In GoHighLevel, check the 'Create/Update Contact' action to confirm `_data.body` mappings are accurate and match the keys in your ManyChat JSON.
⚠️ GoHighLevel workflow runs but doesn't create an opportunity or apply tags.
Inspect the specific actions in your GoHighLevel workflow. Ensure the 'Add to Opportunity' action has a selected pipeline and stage, and the 'Add Contact Tag' action has the correct tag selected. Check for any conflicting conditions if you're using 'If/Else' branches.

Common Mistakes to Avoid

  • Forgetting to publish the GoHighLevel workflow after making changes, preventing it from running.
  • Incorrectly typing the GoHighLevel webhook URL into ManyChat, leading to failed requests.
  • Mistakes in JSON syntax (missing quotes, commas, or curly braces) in the ManyChat 'External Request' body.
  • Not creating corresponding custom fields in GoHighLevel for all the specific data you intend to send from ManyChat.
  • Failing to thoroughly test the end-to-end integration with different data scenarios before going live.

Frequently Asked Questions

QWhat kind of data can I sync from ManyChat to GoHighLevel?
You can sync any standard ManyChat contact data, such as first name, last name, email, phone number, and Messenger ID. Additionally, you can send data from any custom fields you've created within ManyChat, allowing for highly specific and personalized information transfer. This includes things like quiz responses, survey answers, or specific preferences a user indicated in your chatbot.
QDo I need a paid ManyChat plan to use this integration?
Yes, the 'External Request' action in ManyChat, which is essential for sending data to GoHighLevel via webhooks, is a Pro feature. Therefore, you will need an active ManyChat Pro subscription to implement this integration successfully. The free ManyChat plan does not include the necessary functionality for external webhook calls.
QHow can I update an existing contact in GoHighLevel instead of creating a new one?
When configuring the 'Create/Update Contact' action in your GoHighLevel workflow, ensure you map a unique identifier like 'Email' or 'Phone' from ManyChat to the corresponding field in GoHighLevel. GoHighLevel automatically checks for an existing contact with that unique identifier. If found, it updates the existing contact; otherwise, it creates a new one. This prevents duplicate contacts.
QCan I trigger different GoHighLevel automations based on ManyChat interactions?
Absolutely. By sending different data payloads or using distinct webhook URLs for various ManyChat flows, you can trigger highly specific automations in GoHighLevel. You can also use conditional logic (If/Else actions) within a single GoHighLevel workflow to branch based on the data received from ManyChat, executing different actions for different user responses or segments.
QWhat if I want to send data from GoHighLevel back to ManyChat?
Sending data from GoHighLevel back to ManyChat requires a reverse setup. You would typically use a GoHighLevel workflow to trigger an 'External Request' action (similar to ManyChat's) that sends data to a ManyChat webhook. ManyChat provides 'Receive Content' actions that can listen for incoming webhooks, allowing you to update ManyChat custom fields or trigger specific flows based on GoHighLevel events.
Try GoHighLevel Free

Start your 30-day GoHighLevel free trial

Everything in this guide is in your free trial. 30 days, no credit card — the platform behind 78+ revenue systems.

Start 30-Day Free Trial

Some links are affiliate links — if you sign up we may earn a commission, at no extra cost to you. We only recommend GoHighLevel because we build on it every day.

Arsalan Zaffar
Arsalan Zaffar
Revset Labs · Revenue Systems · 78+ GHL Builds

Arsalan writes GHL guides from real build experience — 78+ systems, $9.2M in client pipeline. Wharton, CXL & Google certified.

Connect on LinkedIn
Tags:ManyChatGoHighLevelIntegrationWebhooksAutomationChatbotCRM