Skip to main content
The GoHighLevel (GHL) integration adds seamless CRM and scheduling capabilities to your OpenMic agents. With this integration, agents can connect directly with your clients’ GoHighLevel accounts to retrieve existing contact information using the Get Contact tool, add new leads through the Create Contact tool, check available times with the Check Availability tool, and book appointments linked to those contacts using the Create Event tool. These tools work together to help your agents handle every part of the contact and appointment process, from the first call to a confirmed booking, all within the GoHighLevel environment.

Prerequisites

Before connecting GoHighLevel with OpenMic, make sure you have the following:
  1. An active GoHighLevel account with access to the workspace you want to connect.
  2. An OpenMic account with at least one agent created.
  3. Access to the OpenMic Dashboard, where you can configure integrations and custom functions.

Step 1: Connect Your GoHighLevel Account

To begin, connect your GoHighLevel account from the OpenMic Dashboard.
  1. Go to the Integrations section in your OpenMic Dashboard.
  2. Locate the GoHighLevel card.
  3. Click Connect GoHighLevel.
  4. A secure GoHighLevel login popup will appear.
  5. Log in and approve access to allow OpenMic to manage your GHL contacts.
During this step, OpenMic will request permission to access your GoHighLevel account so it can manage your contacts on your behalf.
Connect GoHighLevel integration

Connect GoHighLevel Integration


Step 2: Add GoHighLevel Tools to an Agent

Once connected, you can create GHL tools directly inside your agent’s settings.
  1. Navigate to Dashboard → Simple Agents.
  2. Select or create an agent.
  3. Open the Custom Functions tab.
  4. Click Add Function.
  5. From the list, choose GoHighLevel Contact Get or GoHighLevel Contact Create.
Adding GoHighLevel custom functions

Select GoHighLevel Functions

  1. For Create Contact or Get Contact, you’ll see a field labeled Test Phone Number (for web calls).
    • During web call testing, you can enter a phone number manually here.
    • During live calls, the caller’s number is used automatically.
  2. Click Create Function to add the selected tool to your current agent.
That’s it — no extra setup needed.
Once added, your agent can now create and fetch contacts in real time during calls.
Create GoHighLevel contact function

Create GoHighLevel Contact Function


Step 3: Configure Assistant System Prompt

After adding the GoHighLevel tools to your assistant, it’s important to provide a clear system prompt. This tells your assistant how and when to use each GoHighLevel tool during conversations. Here’s a simple example you can use or modify:
You are a helpful and efficient scheduling assistant designed to make every interaction smooth and natural. Your role is to manage contact details and book appointments for users through GoHighLevel.

When someone calls:
1. Start by greeting them politely and ask for their full name and email address.
2. Use the `lookup_contact` tool to check if this person already exists in GoHighLevel.
3. If no contact is found, use the `create_ghl_contact` tool to add them as a new contact.
4. Once you have a contact ID, ask about their preferred date and time for an appointment.
5. Use the Check Availability tool to find open time slots in the GoHighLevel calendar. If their requested time isn’t available, offer a few alternative options.
6. Once the user confirms a suitable time, use the Create Event tool to schedule the appointment and associate it with their contact ID.
7. Politely confirm the booking details (date, time, and any other notes) before ending the call.

Important notes:
- Always check for an existing contact before creating a new one.
- You must have a valid contact ID before creating an event.
- Always check availability before confirming or creating an appointment.
- Be polite, conversational, and helpful — guide the caller clearly at every step.

Currently, only the Get Contact and Create Contact tools are functional.
Features related to checking availability and scheduling or booking appointments are not yet active, as calendar support is still being added. These capabilities are coming very soon.

Tool Configurations

GoHighLevel Get Contact Tool

This tool helps the assistant check if the caller already exists in your GoHighLevel account. It prevents duplicates and allows the agent to pull up existing contact details quickly. Input
  • phone: The phone number of the caller to look up in GoHighLevel.
How it works If the phone number matches an existing contact, the tool returns their saved details (like name, phone, and contact ID) so the agent can continue the conversation with context.

GoHighLevel Create Contact Tool

This tool lets the assistant add a new contact in GoHighLevel when no existing record is found. It’s used for new callers or leads that aren’t already saved. Input
  • firstName: The contact’s first name.
  • lastName: The contact’s last name.
  • email: The contact’s email address.
  • phone: The contact’s phone number.
How it works When triggered, it creates a new record inside your connected GoHighLevel workspace and returns the new contact ID, which can later be used for follow-up actions or scheduling.
I