Integration

CRMConnect with an API key

GoHighLevel voice AI integration

The GoHighLevel integration connects your AI voice and chat agents to GoHighLevel, so they can look up a contact by phone on a live call. It's a crm connector that runs as a tool the agent calls mid-conversation — you connect with an api key, attach it to an agent, and it acts in real time without a human in the loop.

GoHighLevel API docs

Last updated 2026-09-06

What your agent can do with GoHighLevel

Look up a contact by phoneLook up CRM contact

Find an existing GoHighLevel contact by phone number. Use this to recognise a caller before creating a duplicate, and to get the contact_id that booking, tasks, notes and opportunities all need.

Inputs

FieldTypeDescription
phone*stringCaller phone in full international form, e.g. +919876543210
Get a contact by IDGet a CRM contact

Fetch one GoHighLevel contact by its ID. Use after a lookup when you need fields the search did not return, such as the properly-capitalised name, address or custom fields.

Inputs

FieldTypeDescription
contact_id*stringThe GoHighLevel contact ID, e.g. from Look up a contact
Create a CRM contactCreate CRM contact

Create a GoHighLevel contact for the caller, or match an existing one on the same phone or email. Safe to call for a repeat caller: it will not create a second record.

Inputs

FieldTypeDescription
companystringCompany name, if any
emailstringEmail, if given
firstnamestringFirst name
lastnamestringLast name
phone*stringPhone in full international form, e.g. +919876543210
Update a contactUpdate a CRM contact

Update fields on an existing GoHighLevel contact. Only the fields you supply are changed. Use when a caller corrects their details. Always supply at least one field besides the ID — calling this with only the ID changes nothing, and reports success anyway.

Inputs

FieldTypeDescription
companystringCompany name
contact_id*stringThe GoHighLevel contact ID
emailstringEmail
firstnamestringFirst name
lastnamestringLast name
phonestringPhone in full international form
Add tags to a contactAdd tags to a contact

Add one or more tags to a GoHighLevel contact. Tags are how GoHighLevel workflows are triggered, so use the exact tag names the business asked for.

Inputs

FieldTypeDescription
contact_id*stringThe GoHighLevel contact ID
tags*arrayTag names to add, e.g. ["called-back","interested"]. Existing tags are kept.
List a contact's opportunitiesList a contact’s opportunities

List the opportunities (deals) attached to a GoHighLevel contact, newest first. Use to tell a caller where their enquiry currently stands.

Inputs

FieldTypeDescription
contact_id*stringThe GoHighLevel contact ID — get it from Look up a contact first. Never call this without one.
limitintegerMaximum opportunities to return. Keep it small — 3 is plenty for a phone conversation.
statusstringWhich opportunities to return. Defaults to all.
Get an opportunity by IDGet an opportunity

Fetch one GoHighLevel opportunity by its ID, including its pipeline, stage, status and value.

Inputs

FieldTypeDescription
opportunity_id*stringThe GoHighLevel opportunity ID
Create an opportunityCreate an opportunity

Create a GoHighLevel opportunity (deal) for a contact in the pipeline this tool is pointed at. Use when a caller expresses real buying intent.

Inputs

FieldTypeDescription
contact_id*stringThe GoHighLevel contact ID the opportunity belongs to
monetary_valuenumberDeal value in the sub-account's currency (whole units, not cents)
name*stringA short name for the deal, e.g. "Kitchen renovation — Mrs Rao"
statusstringDeal status. Use open unless the caller has already decided.
Update an opportunityUpdate an opportunity

Update a GoHighLevel opportunity — change its name, value, status, or move it to another stage. Only the fields you supply are changed. Always supply at least one field besides the ID — calling this with only the ID changes nothing, and reports success anyway.

Inputs

FieldTypeDescription
monetary_valuenumberNew deal value in whole currency units
namestringNew deal name
opportunity_id*stringThe GoHighLevel opportunity ID
pipeline_stage_idstringStage ID to move the deal to, if the business gave you one
statusstringNew status. Use won only when the caller has actually committed.
List a contact's tasksList a contact’s tasks

List the tasks on a GoHighLevel contact. Returns completed tasks as well, so check the completed flag before telling a caller something is still outstanding.

Inputs

FieldTypeDescription
contact_id*stringThe GoHighLevel contact ID
Create a task on a contactCreate a CRM task

Create a follow-up task on a GoHighLevel contact. A due date is required — if the caller did not name one, use tomorrow morning in their local time.

Inputs

FieldTypeDescription
contact_id*stringThe GoHighLevel contact ID
descriptionstringAny detail the person doing the task will need
due_date*stringWhen the task is due, ISO 8601 with a UTC offset, e.g. 2026-09-10T09:00:00+05:30
subject*stringShort task title, e.g. "Call back about the quote"
Add a note to a contactAdd a note to a contact

Write a note onto a GoHighLevel contact — what the caller asked for, what was agreed, anything the next person needs. Keep it to a short paragraph.

Inputs

FieldTypeDescription
body*stringThe note text
contact_id*stringThe GoHighLevel contact ID
titlestringOptional short heading for the note
List a contact's appointmentsList a contact’s appointments

List the appointments booked for a GoHighLevel contact. This returns their whole history including past and cancelled ones, so read appointmentStatus and pick the upcoming one before answering the caller.

Inputs

FieldTypeDescription
contact_id*stringThe GoHighLevel contact ID
Check appointment availabilityCheck appointment availability

Find free appointment slots on the calendar this tool is pointed at, between two dates. Offer the caller two or three of the returned times; each one can be passed straight to Book an appointment exactly as returned.

Inputs

FieldTypeDescription
end_date*stringEnd of the window to search, ISO 8601 with a UTC offset. Keep the window to a few days.
start_date*stringStart of the window to search, ISO 8601 with a UTC offset, e.g. 2026-09-10T00:00:00+05:30
Book an appointmentBook an appointment

Book an appointment for a contact on the calendar this tool is pointed at. You must have a contact_id first — look the caller up or create them. Use a start time exactly as returned by Check appointment availability.

Inputs

FieldTypeDescription
contact_id*stringThe GoHighLevel contact ID the appointment is for. Required — get it from Look up a contact or Create a CRM contact.
end_timestringAppointment end in the same format. Omit to use the calendar's own slot length.
start_time*stringAppointment start, ISO 8601 WITH a UTC offset, e.g. 2026-09-10T14:00:00+05:30. Pass a slot from Check appointment availability through unchanged.
titlestringWhat the appointment is for, e.g. "Consultation — Mrs Rao"
Get an appointment by IDGet an appointment

Fetch one GoHighLevel appointment by its event ID — its time, status and which calendar it is on.

Inputs

FieldTypeDescription
event_id*stringThe appointment (event) ID
Reschedule an appointmentReschedule an appointment

Move an existing GoHighLevel appointment to a new time. Check availability first and pass a returned slot through unchanged — GoHighLevel refuses a time that is not actually free.

Inputs

FieldTypeDescription
end_timestringNew end in the same format. Omit to use the calendar's own slot length.
event_id*stringThe appointment (event) ID to move
start_time*stringNew start, ISO 8601 WITH a UTC offset, e.g. 2026-09-11T14:00:00+05:30
Cancel an appointmentCancel an appointment

Cancel a GoHighLevel appointment. The booking stays on the record marked cancelled, the slot is freed, and the sub-account's cancellation workflows run.

Inputs

FieldTypeDescription
event_id*stringThe appointment (event) ID to cancel

What you'll need to connect GoHighLevel

Connect with an API key. In Telenow, open Integrations → GoHighLevel and provide:

  • Private Integration Token — GoHighLevel → Settings → Private Integrations → Create. Tick the scopes: contacts.readonly, contacts.write, opportunities.readonly, opportunities.write, calendars.readonly, calendars/events.readonly, calendars/events.write. The token starts with pit-.
  • Sub-account (Location) ID — GoHighLevel → Settings → Business Profile → Location ID. The token must belong to THIS sub-account — an agency-level token is refused by every endpoint below.

Agent templates that use GoHighLevel

Other CRM integrations

Frequently asked questions

What can an AI voice agent do with GoHighLevel?+

During a live call or chat, a Telenow agent can look up a contact by phone, get a contact by id, create a crm contact, update a contact, add tags to a contact, list a contact's opportunities, get an opportunity by id, create an opportunity, update an opportunity, list a contact's tasks, create a task on a contact, add a note to a contact, list a contact's appointments, check appointment availability, book an appointment, get an appointment by id, reschedule an appointment, and cancel an appointment — each runs as a tool the agent calls mid-conversation, so it acts on GoHighLevel in real time without a human.

How do you connect GoHighLevel to Telenow?+

In Telenow, open Integrations, pick GoHighLevel, and you paste a GoHighLevel API key into the connection, then bind it to your agent. Then add its crm tool to your agent (or install a template that already includes it) and you're live.

Which AI agent templates use GoHighLevel?+

Inbound sales concierge, Order & delivery status, Billing dispute intake, Subscription cancel & retain, B2B invoice follow-up, Insurance policy verification, Return & refund intake, and SaaS demo scheduler all use GoHighLevel. You can install any of them and connect your GoHighLevel account in a couple of clicks.

Does GoHighLevel work on phone calls and WhatsApp?+

Yes. Telenow agents run on phone, web, chat and WhatsApp, and GoHighLevel works the same across every channel — the agent calls it whenever the conversation needs it.

How much does the GoHighLevel integration cost?+

Connecting GoHighLevel is included — you only pay Telenow's transparent per-minute and per-component usage, and new accounts get free signup credit to try it.

$1.01 free credit on signup

Connect GoHighLevel to your AI voice agent

Sign up free and get $1.01 in credit — no card required. Connect your number, pick a template, and go live in minutes.