Automations

GoHighLevel (GHL) — custom fields setup

6 min readghl-custom-fields

Which custom fields to create in GHL, how they map to FlowMaticX lead data, and how to use the GHL integration node.

The FlowMaticX → GHL integration pushes lead data into your GoHighLevel CRM using the GHL API. To receive all FlowMaticX fields on a GHL contact, you need to create the matching custom fields in GHL first.

Step 1 — Create custom fields in GHL

Go to GHL → Settings → Custom Fields → Add Field and create the following:

Contact custom fields
Field name (GHL label)Field key (used in API)TypeDescription
FlowMaticX Lead IDflowmaticx_lead_idTextInternal FlowMaticX numeric ID for the lead
Lead Sourceflowmaticx_sourceTextWhere the lead came from: google_maps, prodb, instagram, tiktok, csv
Lead Categoryflowmaticx_categoryTextBusiness category from the search (e.g. "Restaurant", "Dentist")
Lead Scoreflowmaticx_scoreNumberOpportunity score 0–100 calculated by AI (higher = better fit)
Campaign Nameflowmaticx_campaignTextName of the FlowMaticX campaign that triggered this push
Sequence Nameflowmaticx_sequenceTextLast sequence the lead was enrolled in
Pipeline Stageflowmaticx_stageTextCRM stage in FlowMaticX: New / Contacted / Replied / Meeting / Won / Lost
Email Statusflowmaticx_email_statusTextEmail verification status: valid, risky, invalid
Star Ratingflowmaticx_star_ratingNumberGoogle Maps star rating (if sourced from Google Maps)
Review Countflowmaticx_review_countNumberNumber of Google reviews
Website URLflowmaticx_websiteTextLead's website domain
LinkedIn URLflowmaticx_linkedinTextLinkedIn profile URL (if available)
Last Contacted Atflowmaticx_last_contactedDateTimestamp of last email/WA sent
Cold Email Subjectflowmaticx_email_subjectTextAI-generated cold email subject line
Icebreakerflowmaticx_icebreakerTextareaAI-generated personalized opener
Opportunity custom fields (for pipeline cards)
Field nameField keyType
FlowMaticX Job IDfmx_job_idText
Source Keywordfmx_keywordText
Source Cityfmx_cityText
Step 2 — Get your GHL API credentials
  1. In GHL, go to Settings → Business Profile → API Keys → Create a new key with Contacts and Opportunities write permissions
  2. Go to Settings → Locations → copy your Location ID (a 20-character alphanumeric string like abc123XYZ...)
  3. If pushing to a pipeline: go to Pipelines → click your pipeline → copy the Pipeline ID from the URL
Step 3 — Configure the GHL node in FlowMaticX

In the automation builder, drag in a GHL node and fill in:

FieldValue
API KeyYour GHL API key from Step 2
Location IDYour GHL Location ID
Actionupsert_contact (creates or updates by email)
Custom fieldsMap FlowMaticX flowState variables to your GHL field keys
Example field mapping

json { "firstName": "{{lead.firstName}}", "lastName": "{{lead.lastName}}", "email": "{{lead.email}}", "phone": "{{lead.phone}}", "companyName": "{{lead.company}}", "customField.flowmaticx_lead_id": "{{lead.id}}", "customField.flowmaticx_source": "{{lead.source}}", "customField.flowmaticx_score": "{{lead.score}}", "customField.flowmaticx_stage": "{{lead.stage}}", "customField.flowmaticx_icebreaker": "{{lead.icebreaker}}" }

Step 4 — Push an opportunity (optional)

To also create or update an opportunity in a GHL pipeline, add a second GHL node with:

  • Action: upsert_opportunity
  • Pipeline ID: from Step 2
  • Stage ID: the GHL stage that maps to your FlowMaticX stage (copy from the pipeline URL when you click a stage)
  • Monetary value: optionally map {{lead.dealValue}} if you've set a value on the lead
Create Task node

The GHL Create Task node creates a task on a GHL contact. Use it to trigger a follow-up call reminder:

FieldDescription
Contact IDGHL contact ID (returned by the upsert_contact node as ghlContactId)
TitleTask title, supports merge tags
Due dateISO 8601 datetime, e.g. {{now + 3 days}}
Assigned user IDGHL user ID to assign the task to
Automating the full workflow

Here is a recommended automation that fires when a lead replies to your email:

  1. Trigger: email.replied
  2. GHL node (upsertcontact): update pipeline stage to `flowmaticxstage = Replied`
  3. GHL node (upsert_opportunity): move opportunity to "Replied" stage
  4. GHL Create Task: create a "Call {{firstName}}" task due in 2 hours
  5. wa.send_text: send WhatsApp congratulations/next-step message