Skip to content

GHL (GoHighLevel)

What It Does

GHL sends CRM events in real time to DURUM.ai via Workflows. Each event is automatically associated with your account through your client_key.

GHL EventType in DURUM.aiWhen
Contact createdLeadNew contact in your CRM
Form submittedApplicationProspect fills out a qualification form
Appointment createdBookingAn appointment is booked
Appointment no-showNo-showThe prospect doesn't show up
Opportunity wonSaleA deal is marked as won

Step-by-Step Configuration

You need to create one GHL Workflow per event type. Here are the detailed steps for each.

Workflow 1: Lead (New Contact)

  1. Log in to your GHL account
  2. In the sidebar, go to Automation then Workflows
  3. Click Create Workflow
  4. Choose Start from Scratch
  5. Name the workflow: DURUM - Lead
  6. Configure the trigger:
    • Click Add New Trigger
    • Select Contact Created
    • Click Save Trigger
  7. Add the webhook action:
    • Click the + below the trigger
    • Search for and select Webhook
    • In the URL field, enter:
      https://app.durum.ai/api/webhook/lead?client_key=YOUR_KEY&source=ghl
    • Method: POST
    • Leave the body as default (GHL automatically sends contact data)
    • Click Save Action
  8. Activate the workflow by clicking the Publish toggle (top right)

Workflow 2: Application (Form Submitted)

  1. Create a new workflow: Create Workflow then Start from Scratch
  2. Name it: DURUM - Application
  3. Trigger: select Form Submitted (or Survey Submitted depending on your setup)
    • Select the relevant form(s)
  4. Action: add a Webhook
    • URL:
      https://app.durum.ai/api/webhook/application?client_key=YOUR_KEY&source=ghl
    • Method: POST
  5. Activate the workflow

Workflow 3: Booking (Appointment Created)

  1. Create a new workflow: DURUM - Booking
  2. Trigger: select Appointment Status Changed
    • Filter on status Booked (or Confirmed)
  3. Action: add a Webhook
    • URL:
      https://app.durum.ai/api/webhook/booking?client_key=YOUR_KEY&source=ghl
    • Method: POST
  4. Activate the workflow

Workflow 4: No-show

  1. Create a new workflow: DURUM - No-Show
  2. Trigger: select Appointment Status Changed
    • Filter on status No Show
  3. Action: add a Webhook
    • URL:
      https://app.durum.ai/api/webhook/no-show?client_key=YOUR_KEY&source=ghl
    • Method: POST
  4. Activate the workflow

Workflow 5: Sale (Opportunity Won)

  1. Create a new workflow: DURUM - Sale
  2. Trigger: select Opportunity Status Changed
    • Filter on status Won
  3. Action: add a Webhook
    • URL:
      https://app.durum.ai/api/webhook/sale?client_key=YOUR_KEY&source=ghl
    • Method: POST
  4. Activate the workflow

How to Test

  1. Create a test contact in GHL (use an easily identifiable email, e.g., test@yourdomain.com)
  2. The workflow should trigger automatically
  3. Wait 30 seconds then go to DURUM.ai, Data Logs page
  4. You should see the event appear with status success or queued
  5. Delete the test contact in GHL after verification

Troubleshooting GHL

ProblemSolution
Event doesn't appear in Data LogsVerify the workflow is Published (active). Check the URL (no spaces, correct client_key)
Status quarantined in logsThe form isn't recognized yet. Normal for a new form. The agency will categorize it.
Error 401 in GHL logsVerify that &source=ghl is present in the URL
Error 429 (Too Many Requests)Too many webhooks at once. Contact the agency.

Unknown Forms and Quarantine

If a GHL form sends data but isn't yet recognized by DURUM.ai, the event is automatically quarantined. The agency will categorize it in the Matching page, and future events from that form will be automatically recognized. No action needed on your part.


Powered by DURUM.ai — ad attribution and operational intelligence