Skip to Content

GoHighLevel (GHL) Actions

GoHighLevel actions let you automatically update your GHL CRM after every call. You can log calls, manage contacts, update pipelines, book appointments, and trigger GHL workflows — all without manual data entry.

Prerequisites

Before using GHL actions, you must connect your GoHighLevel account:

  1. Go to Integrations in the sidebar
  2. Find GoHighLevel and click Connect
  3. Follow the OAuth flow to authorize BuildVoiceAI

Available Actions

log_call

Creates a call activity record in GHL associated with the contact.

Config FieldDescription
(none)Call data (duration, direction, recording URL) is automatically included

The logged call includes the call duration, direction, phone numbers, and a link to the recording. It is associated with the matching GHL contact based on phone number.

create_contact

Creates a new contact in GHL with the caller’s phone number and any available details.

Config FieldDescription
(none)Contact is created with the caller’s phone number. Name is populated from call data if available.
⚠️

This action creates a new contact every time it runs. If the contact already exists, you will get duplicates. Use upsert_contact instead if the caller might already be in your CRM.

upsert_contact

Creates a new contact if one does not exist, or updates the existing contact if a match is found (matched by phone number).

Config FieldDescription
(none)Looks up the contact by phone number. Creates if not found, updates if found.

This is the recommended action for managing contacts, since it prevents duplicates.

add_note

Adds a note to the contact’s record in GHL. The note content can include template variables.

Config FieldDescription
Note contentThe text of the note. Supports template variables like \{\{summary\}\}, \{\{transcript\}\}

auto_tag

Adds tags to the contact based on the call outcome.

Config FieldDescription
TagsComma-separated list of tags to apply. Supports template variables like \{\{sentiment\}\}

Example tags: ai-called, \{\{sentiment\}\}, follow-up-needed

update_pipeline

Moves a deal to a specific stage in a GHL pipeline.

Config FieldDescription
Pipeline IDThe ID of the GHL pipeline
Stage IDThe ID of the stage to move the deal to

Use this to automatically advance deals through your sales pipeline based on call outcomes. For example, move a deal from “Contacted” to “Qualified” after a successful call.

💡

Find your Pipeline ID and Stage ID in your GHL account under Settings > Pipelines. You can also use the GHL API to look them up.

lead_score

Adjusts the lead score for the contact.

Config FieldDescription
Score adjustmentThe number to add to (positive) or subtract from (negative) the current score

Example: Set to +10 to increase the score after a positive call, or -5 after a negative one.

book_appointment

Creates a calendar appointment in GHL.

Config FieldDescription
Calendar IDThe GHL calendar to book on
TitleAppointment title (supports template variables)
DurationAppointment length in minutes
Date/TimeWhen to schedule the appointment

cancel_appointment

Cancels an existing appointment associated with the contact.

Config FieldDescription
(none)Cancels the most recent upcoming appointment for the contact

trigger_workflow

Starts a GHL workflow (automation) for the contact.

Config FieldDescription
Workflow IDThe ID of the GHL workflow to trigger

This lets you kick off complex GHL automations (email sequences, SMS drips, task assignments) based on your call data.

update_contact_field

Sets a custom field value on the contact record.

Config FieldDescription
Custom Field KeyThe key/ID of the custom field to update
Custom Field ValueThe value to set (supports template variables)

Use this to populate custom fields with call data, such as storing the call summary, sentiment, or any extracted information.

Template Variables

All text fields in GHL actions support the following template variables:

VariableExample Value
\{\{caller_name\}\}John Smith
\{\{phone_number\}\}+14155551234
\{\{summary\}\}Caller inquired about pricing…
\{\{sentiment\}\}positive
\{\{duration\}\}245
\{\{transcript\}\}Agent: Hello… Caller: Hi…

Example Workflow

A common GHL workflow might include these actions in order:

  1. upsert_contact — Ensure the caller exists in GHL
  2. log_call — Record the call on their contact profile
  3. auto_tag — Tag them with ai-called and \{\{sentiment\}\}
  4. add_note — Add the call summary as a note
  5. update_pipeline — Move their deal to the next stage

This gives your sales team a complete record of the AI call and its outcome without any manual work.

Last updated on