Skip to main content
GoHighLevel is the primary CRM integration. Each business connects one GHL location, then configures lead qualification rules and revenue mapping so the KPI dashboard reports correctly. Open it from a business’s Settings → Data Sources → GHL.

Connection panel

The top of the GHL panel shows connection state:
  • StatusConnected (green) or Not connected.
  • Location — The GHL location bound to this business (for example, BnB Accelerator).
  • Reconnect — Re-authorise if the token has expired or you need to switch locations.

Manual sync

Use Sync last 10 days to import the last 10 days of GoHighLevel data (from today backward). A background sync runs automatically and imports more data within the next few hours.
Run a manual sync after changing qualification rules or revenue settings so cached KPIs refresh.

Revenue settings

Select $ Revenue Settings to open the GHL Revenue Settings dialog. This dialog maps the business’s GHL data to the three revenue metrics: Cash Collected, Contract Value, and Closed Leads. Saved values override system defaults for this business only. Pick one of three revenue sources:

Custom fields

Revenue is read from per-contact custom fields (today’s behaviour). Best when sales is logged manually or revenue lives outside GHL. The custom fields you select here directly drive the Cash Collected and Contract Value KPI cards on the Business dashboard and the matching columns on All Accounts. Change the mapping and KPIs recompute on the next sync.
FieldDrivesNotes
Contract Value fieldContract Value KPIGHL custom field whose value is summed into Contract Value.
Cash Collected fieldCash Collected KPIGHL custom field whose value is summed into Cash Collected.
Date Closed fieldPeriod attributionDate custom field that marks a contact as closed. Must be type date in GHL. Determines which date range a closed deal falls into.
Make sure the Contract Value and Cash Collected custom fields are numeric in GHL. Text or currency-formatted strings will be skipped and KPIs will under-report.

Opportunities

Revenue is read from native GHL opportunities in stages you mark as Won. Best when your team manages deals through pipelines reliably.
  • Won stages — Pick the pipeline stage(s) that represent a closed deal. The monetaryValue of opportunities in those stages sums into both Contract Value and Cash Collected.
  • Date Closed source — Choose either:
    • Opportunity won-stage timestamp (recommended for Opportunities mode)
    • “Date Closed” custom field on the contact

Hybrid

Prefer opportunities when a contact has a won deal; otherwise fall back to custom fields. Per-contact deduped to avoid double-counting. Configure both custom field mapping and opportunity mapping (won stages + Date Closed source).

Order fallback (applies to all modes)

For self-checkout / low-ticket funnels: when the primary source returns zero but ghl_orders attributes dollars to the row, surface those order totals as revenue.
  • Order statuses counted as revenueghl_orders rows with these orderStatus values qualify (for example, completed, paid).
  • Payment modes counted as revenueghl_orders rows with these paymentMode values also qualify, even if orderStatus differs (for example, paid).
  • Apply to — Choose whether the fallback applies to Cash Collected, Contract Value, or both.
Select Save to apply, or Close to discard.

Lead qualification rules

The Lead qualification rules card defines which synced contacts count as qualified leads on the Dashboard (Qualified Leads, CPQL, CPQBC). Qualification is evaluated against your GHL custom fields. Every rule reads a custom field from the contact synced from GHL — for example, $ Purchase Price, Practice Type, or Owner of Practice. If the field is missing on a contact (because the form didn’t capture it), the rule doesn’t trigger for that contact. A status badge shows Not set up until you save at least one rule.

Mode

The Mode dropdown controls how rules are evaluated. The default is Use rules below.

Rule logic

Each rule has one or more conditions. Behaviour:
  • Each rule flags matching contacts independently.
  • If any active rule matches, the contact is disqualified; everyone else stays qualified.
  • Saving updates all flags — contacts no longer matching a changed rule become qualified again.
  • Missing custom fields (other forms) never trigger a rule.

AI assistant — build strict rules automatically

Instead of building each condition by hand, describe in plain language who should be disqualified and let the assistant generate the rules for you. How it works:
  1. The assistant calls your GHL account and reads the available custom fields for this location (via tool call).
  2. It maps your description to the right field names and operators.
  3. It drafts one or more rule groups with conditions already filled in (Type = Custom field, Field = the matched GHL field, Condition, Value).
  4. You review, edit, and save — the AI never saves on your behalf.
Example prompt:
Disqualify if they are not a dentist or practice owner, answered No to owning a practice, or tagged spam. Disqualify survey answers like student, job seeker, or competitor.
Select Generate strict rules to produce a draft rule set, then refine each rule before saving.
The AI assistant is the fastest way to bootstrap qualification. Run it first, then tweak field choices and values — much quicker than starting from an empty rule.

Build a rule manually

Each rule card has:
FieldDescription
Rule nameA short label shown in the rule list.
Active toggleTurn the rule on or off without deleting it.
Match modeAll match or Any match for the conditions in this rule.
TypeWhere the value is read from. Custom field is the default (and only) scope today.
FieldThe specific GHL custom field (for example, $ Purchase Price). The dropdown lists every custom field synced from your GHL location.
ConditionComparison operator (for example, contains, equals, greater than).
ValueValue to compare against.
Select Add condition to add more conditions inside a rule, or + Add another disqualification rule to add an entirely new rule.

AI-powered qualification

Below the manual rules, AI-powered qualification uses a language model (for example, claude-haiku-4-5-20251001) to classify contacts.
AI scoring uses your agency token balance (1 token ≈ 0.001USD).EachcontactclassifiedcallsOpenAIandistracedinLangfuse.Runabatchaftersavingrules;reportsusecachedAIresults(notliveAPIcallsperpageview).Typicalcost: 0.001 USD). Each contact classified calls OpenAI and is traced in Langfuse. Run a **batch after saving** rules; reports use cached AI results (not live API calls per page view). Typical cost: ~0.0000 USD / contact (~0 tokens).
Toggle Enable AI lead qualification to turn it on. AI runs alongside (or instead of) your manual rules depending on Mode.

Test up to 3 contacts

Before saving, validate rules against real contacts.
  1. Search for up to 3 contacts in the Contact column.
  2. (Optional) Set the Expected result for each (Compare (optional) dropdown) so the tester can flag mismatches.
  3. Select Test manual rules only to evaluate just the manual rules, or use the AI test action to include AI scoring.
  4. Select Clear to reset the table.
Manual rules read each contact’s synced GHL custom fields by field name (the label you pick in rules).

Save

  • Save & minimize rules — Persists changes and collapses the editor.
  • + Add another rule — Adds a new disqualification rule group below.

Next steps

Add a business

Onboard a new client with Facebook and GHL connections.

Business dashboard

See how Qualified Leads, CPQL, and CPQBC use these rules.