> ## Documentation Index
> Fetch the complete documentation index at: https://help.reevo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect a GoHighLevel Form to Reevo

> Send GoHighLevel form submissions to Reevo from a workflow webhook, then map the incoming contact fields to your CRM.

Connect a GoHighLevel form to Reevo to create or update CRM records and run a Reevo workflow whenever someone submits the form.

***

## Before you start

You need a published GoHighLevel form and an external form created in Reevo. Follow [Connecting an External Form to Reevo](/Prospecting-and-Outreach/Connecting-an-External-Form#create-the-external-form-in-reevo) to create it and copy its webhook URL.

GoHighLevel sends form submissions through a workflow. Create one GoHighLevel workflow for each form that you connect to Reevo.

***

## Add a webhook action in GoHighLevel

1. In GoHighLevel, open **Automation** and create a new workflow from scratch.
2. Add the **Form Submitted** trigger and filter it to the form you want to connect.
3. Add a **Webhook** action after the trigger.
4. Set the method to `POST`.
5. Paste the webhook URL you copied from Reevo.
6. Save the workflow, then publish it.

<Info>
  Use the standard **Webhook** action, not the premium **Custom Webhook** action. Reevo reads the standard payload that GoHighLevel sends, so no custom request body is needed.
</Info>

***

## Understand the incoming fields

The webhook action sends the contact's details with each submission. Reevo uses these keys as the source fields that you map to your CRM:

| Source | Example keys |
| :- | :- |
| **Standard contact fields** | `first_name`, `last_name`, `email`, `phone`, `company_name` |
| **Custom fields** | The field name, such as `Company Size` |
| **Custom Data** | Each key you add under **Custom Data** in the webhook action, such as `utm_source` |

Reevo ignores the location, workflow, and other context details that GoHighLevel includes in the payload.

<Tip>
  Use **Custom Data** to send extra values, such as campaign or source details, under clear and unique key names. A Custom Data key replaces a contact field with the same name.
</Tip>

***

## Map and test the form in Reevo

1. Submit the published GoHighLevel form using recognizable test values.
2. Return to the external form builder in Reevo and click **Populate from submission**.
3. Select the GoHighLevel test submission.
4. Map each incoming key to its Contact or Account field.
5. Configure the connected workflow, then click **Launch**.
6. Submit the GoHighLevel form again and confirm the submission and workflow appear in Reevo.

<Info>
  For the complete mapping and workflow steps, see [Connecting an External Form to Reevo](/Prospecting-and-Outreach/Connecting-an-External-Form#map-incoming-fields-to-your-crm).
</Info>

***

## Troubleshooting GoHighLevel

* **No submission appears in Reevo**: confirm that the workflow is published, that its trigger filter matches the form you submitted, and that the webhook URL exactly matches the URL from Reevo.
* **A field is missing**: make sure the test submission contains a value for that field, then populate the payload schema again.
* **Submissions from another form appear**: check the workflow's **Form Submitted** trigger filter. Each Reevo external form should receive submissions from one GoHighLevel form.
* **A Custom Data value is missing**: confirm the key has a value in the webhook action and that the value's custom value placeholder resolves for the submitting contact.
