Voice AI receptionist setup
HighLevel's Voice AI agents can answer calls, collect details, book appointments and hand off to a person. This guide combines HighLevel's builder steps with what we learned building after-hours receptionist agents for trades businesses (plumbing, roofing, garage doors), some of them through the API.
1. Before you build
- You need the View & Manage Voice AI Agents permission in the sub-account. [How to Create Voice AI Agents, updated 2026-10-01; checked 2026-10-25]
- Decide the agent's one job. "After-hours intake for a plumber" works better than "answer every question about the business".
- Write down what a good call collects: for trades, name, callback number, service address, problem, urgency and a preferred visit time.
- Estimate cost with the Voice AI estimator. Voice choice alone can change the per-minute cost several times over.
2. Create the agent in the builder
In the sub-account: AI Agents > Voice AI > Agent List > + Create Agent, then choose a marketplace agent, a custom agent, or the flow-based builder. For a custom agent set the name, voice, model, language and timezone, then write the prompt and the welcome message.
3. A prompt structure that works on the phone
Phone conversations punish long answers. The structure we use:
- Role in one paragraph: who the agent is, for which business, when it answers (for example "calls the team can't pick up: evenings, weekends, busy times") and the tone.
- Disclosure line said once near the start: that the caller is talking to a virtual assistant and the call may be recorded.
- The job, as numbered steps: understand the problem in the caller's words, judge urgency against a written list of urgent situations, collect details one question at a time, confirm the phone number back digit by digit, recap before ending.
- Safety lines for the trade (for a garage door company: don't touch springs or cables under tension; for an emergency: call 911).
- A fixed answer to "how much?" such as "the technician confirms the price on site before doing any work". Never let the agent improvise prices.
- Rules: 1–2 sentence answers; never invent services, prices, warranties or staff names; politely end sales and spam calls; if asked for a human, promise a callback.
From our builds: we put the "never invent" rule and a fixed price sentence in every receptionist prompt, because a voice agent that guesses a price or a warranty creates a promise the business has to deal with. We also ask for the callback number to be read back digit by digit: a lead with a wrong number is useless.
4. Knowledge base and actions
- Add a knowledge base with hours, service area, services, policies and FAQs, and tell the agent when to search it.
- Add actions under Actions > + New Action: Call Transfer, Trigger a Workflow, Send SMS, Update Contact Field, Appointment Booking (needs a connected calendar), Custom Action (real-time webhook) and Agent Transfer. [How to Create Voice AI Agents, updated 2026-10-01; checked 2026-10-25]
- Give every action a precise trigger condition ("when the caller confirms an urgent leak"), not a vague one.
- Turn on saving the AI call summary to the contact's notes so the team sees it in the CRM.
5. Test before a real caller does
- Use Web Call in the test panel first. It needs no phone number and costs no phone minutes.
- Call Transfer does not run during web-call tests; use a phone-call test for transfers.
- Test: a normal request, an urgent one, an out-of-scope question, a caller who goes silent, one who interrupts, and a request for a human.
- Read the transcript and summary for each, change one setting at a time and retest.
6. Deploy and routing
- In the agent's Deploy tab, pick a phone number (or number pool), then Answer Calls Directly or Use as Backup.
- Set working hours: all hours, or a custom schedule (ranges can cross midnight, useful for after-hours agents).
- Check the number's inbound call flow: forwarding, timeout and voicemail settings all decide whether the agent ever gets the call. Assigning a number does not guarantee the agent answers. [How to Create Voice AI Agents, updated 2026-10-01; checked 2026-10-25]
- Outbound calling needs separate approval and compliance setup.
7. Creating agents through the API
If you set up the same agent for many clients, the API is faster than clicking. We created and updated agents with a sub-account (location) Private Integration token; see the token guide for why the level matters. Base URL https://services.leadconnectorhq.com, headers Authorization: Bearer <token> and Version: 2021-07-28.
# list agents in a sub-account
GET /voice-ai/agents?locationId=LOCATION_ID&pageSize=50
# create one
POST /voice-ai/agents
{
"locationId": "LOCATION_ID",
"agentName": "After-hours receptionist",
"businessName": "Summit Plumbing",
"welcomeMessage": "Thanks for calling Summit Plumbing, how can I help you?",
"agentPrompt": "...your prompt...",
"maxCallDuration": 300,
"sendUserIdleReminders": true,
"reminderAfterIdleTimeSeconds": 6,
"saveCallSummaryAsNote": true,
"timezone": "US/Central"
}
# update one: locationId goes in the query string, not the body
PATCH /voice-ai/agents/AGENT_ID?locationId=LOCATION_ID
What we ran into:
- Make the script idempotent: list agents first and update by name, otherwise every run creates duplicates.
- Our sub-account already contained default agents named "My Agent…". We reused those slots rather than creating extra agents.
- For PATCH we sent
locationIdas a query parameter and left it out of the body. - A
maxCallDurationof 300 seconds on demo agents capped what a stuck test call could cost. - We assigned phone numbers in the Deploy tab rather than via the API, and our script never buys numbers.
These field names are the ones that worked for us; check HighLevel's API reference for the current schema before relying on them.
Affiliate link: if you sign up through it we may earn a commission, at no extra cost to you. How we make money.
Facts last checked against official sources: