---
title: "GoHighLevel"
description: "Send attendees into GoHighLevel workflows using an inbound webhook, with no app to install."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.meetfullhouse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GoHighLevel

FullHouse sends people into a GoHighLevel workflow through its **Inbound Webhook** trigger. There's no account to connect, no key to store and no app to install: you paste a URL from GoHighLevel into a rule on your webinar. In GoHighLevel, the workflow can then create the contact, add tags, start campaigns or anything else a workflow can do.

Each URL belongs to one workflow and each rule has its own URL, so you can send different actions to different workflows.

## What you need

- A GoHighLevel sub-account, with permission to build workflows.
- Access to the **Inbound Webhook** trigger. GoHighLevel treats it as a premium trigger, so check it's available on your account.

There's no **Connect** button in FullHouse. The GoHighLevel card under **Workspace → Integrations** shows **No connection needed**, with these steps and a sample payload.

## Set it up

1. **Create the workflow**

   In GoHighLevel, open **Automation → Workflows** and create a new workflow. Add a trigger and pick **Inbound Webhook**. GoHighLevel generates a unique URL. Copy it.
2. **Add a rule in FullHouse**

   Go to **Webinars →** your webinar **→ Automations** and click **Add automation**. Pick a trigger under **When an attendee…**, and under **Send to** choose **GoHighLevel**. Paste the URL into **Inbound webhook URL** and click **Add automation**.
3. **Send a test**

   Make the rule fire. For a **Registers** rule, register for your webinar using a test email. For other triggers, join the webinar and do the action.
4. **Map the fields**

   Back in the workflow trigger, fetch the sample request FullHouse sent and select it. Then add your actions, such as **Create Contact** and **Add Tag**, and map the incoming fields to them.
5. **Publish the workflow**

   Save and publish it in GoHighLevel. Then test once more with a new email address.

:::note
A rule fires once per person, so use a new email address for each test, such as `you+test2@yoursite.com`.
:::

## What FullHouse sends

Each rule sends one JSON message, once per person. This is an example with a **Watches at least…** rule:

```json
{
  "email": "ada@example.com",
  "event": "watched_percent",
  "first_name": "Ada",
  "last_name": "Lovelace",
  "offer_clicked": true,
  "phone": "+44 7700 900123",
  "registered_at": "2026-06-10T14:03:00+00:00",
  "utm": { "source": "newsletter" },
  "watch_percent": 75.0,
  "webinar_id": 12,
  "webinar_title": "Scaling with evergreen webinars"
}
```

| Field | What it holds |
| --- | --- |
| `event` | What triggered the rule. See the table below. |
| `webinar_id` | The webinar's number in FullHouse. |
| `webinar_title` | The webinar's title. |
| `email` | The person's email address. |
| `first_name` | Their first name. |
| `last_name` | Their last name, or `null`. |
| `phone` | Their phone number, or `null`. |
| `watch_percent` | How much of the webinar they'd watched live when the rule fired, from 0 to 100. |
| `offer_clicked` | Whether they'd clicked an offer in the live room by then. |
| `utm` | Any UTM values from registration, using the keys `source`, `medium`, `campaign`, `term` and `content`, or `null` if there were none. |
| `registered_at` | When they registered, in UTC. |

| `event` value | Rule trigger |
| --- | --- |
| `registered` | **Registers** |
| `attended` | **Joins the live room** |
| `watched_percent` | **Watches at least…** |
| `offer_seen` | **Sees the offer** |
| `offer_clicked` | **Clicks the offer** |
| `replay_viewed` | **Opens the replay** |

:::caution
The sample on the Integrations page shows `utm_source` inside `utm`. The real key is `source`, as above. Map your fields from a real test request rather than the sample.
:::

### What isn't sent

The join link, replay link, session time and answers to custom questions aren't included. If your GoHighLevel workflow needs them, for example to text someone their join link, send a [webhook](/connect/webhooks) instead. It carries all of these, and you can pass it to GoHighLevel through an inbound webhook or a tool such as Zapier.

## Rules for the URL

- It must start with `https://`. The editor says `The webhook URL must start with https://` otherwise.
- It can be up to 500 characters.
- It must be a public address, without a username, password or `#` part.

Treat the URL like a password. Anyone who has it can send data into your workflow, and FullHouse doesn't sign these messages.

## Fix problems

A failing rule shows its failure count and latest error on its card in the **Automations** step. It tries three times, then stops for that person and appears under [Failed automations on Debug](/workspace/debug#retry-a-failed-automation), where you can retry it.

| What you see | What to do |
| --- | --- |
| Integration returned HTTP 404. | The workflow or trigger was deleted, or the URL was mistyped. Copy it again and edit the rule. |
| Integration returned HTTP 4xx or 5xx | GoHighLevel refused it or had a problem. Check the workflow is published. |
| Integration request failed. | FullHouse couldn't reach GoHighLevel. Check the URL. |
| Run count goes up, but nothing happens in GoHighLevel | FullHouse delivered it. Check that the workflow is published and that its field mapping uses a recent sample. |
| Enter a valid HTTPS URL. | The URL isn't complete. Copy it again. |

See [When an automation fails](/connect#when-an-automation-fails) for more.

## Stop sending

Switch off **Active** to pause a rule, or delete it. There's nothing to disconnect.

Source: https://docs.meetfullhouse.com/connect/gohighlevel/index.mdx
