Skip to main content

Before You Begin

An Enhanced agent handles complex flows: nuanced intent, long instructions, accurate data capture, and inbound, outbound, or both directions. If you only need greetings, simple FAQs, or basic data capture at low cost, a Basic agent is enough. External actions (set up separately, then link):

Step 1. Create the Agent

Go to AI Agents → Create Agent → Start from Scratch, enter a clear name (e.g., Support EN – Sales), select Version → Enhanced, and click Create Agent. Name by function + language to avoid confusion later.

Step 2. Choose Call Direction: Inbound, Outbound, or Both

In Agent → Call Direction, pick what mirrors your operation: Inbound: the agent receives calls. Use for help desks, reception, service lines.
Tip: enable Transfer Call to escalate when needed.
Outbound: the agent initiates calls. Use for reminders, confirmations, surveys, collections.
Tip: keep scripts short and set allowed hours.
Both Directions: one agent for inbound and outbound.
Use when tone and logic are shared; it requires more testing to avoid mixed goals.
Also set:
  • Maximum Call Duration (minutes): auto-hang threshold (e.g., 10).
  • Greeting Message: first thing the caller hears.
Greeting (EN):
Hi, this is {{agent_name}}. How can I help you today? This call may be recorded for quality purposes.

Step 3. Voice, Language, and Temperature

In Voice & Language:
  • Language / Secondary Language: set a primary language and, only if needed, a secondary one.
  • Voice: tone/accent that fits your brand.
  • Speed: start at “Normal,” tune after tests.
  • Temperature: controls creativity.
    • 0.2–0.5 = deterministic (best for booking/compliance)
    • 0.6–0.8 = more conversational (FAQs, sales)
Use Test Call to hear and tweak.

Step 4. LLM: What It Is and How to Choose

What it is: the LLM (Large Language Model) is the brain that understands and writes. Enhanced lets you choose the provider/model to balance accuracy, latency, and cost. How to choose (quick rule):
  • Short/simple flows (triage, FAQs) → fast/low-cost model.
  • Multi-step flows and data extraction → balanced model.
  • Long, multilingual, high-precision tasks → advanced model.
Signals to adjust:
  • Vague or inconsistent answers → move up a tier.
  • Solid answers but too slow/expensive → move down a tier.
For booking and forms, pair a stable LLM with low Temperature. Also set the agent Timezone to match your customers or the calendar to prevent wrong-hour bookings.

Step 5. Conversation Prompt (Operating Script)

Give the agent goals, tone and rules.
# Goal
1) Warm greeting, identify the reason in 1–2 questions.
2) Resolve or route: schedule, transfer, or send a summary.
3) Confirm critical details (name, phone, date/time).

# Style
Plain, empathetic, no jargon. Summarize next steps when closing.

# Rules
No sensitive data. Transfer on request or when blocked.

# Tools
Use Google Calendar and Transfer only when appropriate and after confirmation.

Step 6. Call Actions

6.1 Schedule on Google Calendar

First, set up the integration in Google Calendar and enable Appointments for the chosen calendar. In Call Action, toggle Schedule Appointment on Google Calendar and select that calendar (gear icon if shown). In the prompt, explain how to confirm time and timezone. Booking line (EN):
I can offer Tuesday 10:30 or Wednesday 12:00 (your local time). Which works?

6.2 Transfer Call

Create a configuration in Call Transfer (destination, hours, queue). In Call Action, toggle Transfer Call and pick that configuration. Add a handoff line to the prompt. Handoff (EN):
I’ll connect you with the right specialist now. Please stay on the line.

6.3 Data Extraction

In Call Action → Data Extraction, define the entities to capture:
  • firstName — contact’s first name (string or null)
  • appointmentDate — date/time (ISO string or null)
  • issueType — main reason (enum: “billing” | “support” | “sales”)
Reference them in the Prompt with 1–2 examples.

6.4 Post-Call Webhook

Enable it to push call details to your system.
{
  "agent": "Support EN – Sales",
  "direction": "both",
  "entities": {
    "firstName": "Alex",
    "appointmentDate": "2025-10-30T10:30:00-03:00",
    "issueType": "sales"
  },
  "recordingUrl": "https://.../recording",
  "transcriptUrl": "https://.../transcript"
}

Step 7. Call Settings

In Call Settings:
  • Record Calls: store audio and transcripts (recommended for QA/compliance).
  • Voicemail Detection: hang up on voicemail to save minutes.
  • Background Ambience: subtle background noise for a natural feel.
  • Greeting Message Delay (ms): a short pause before the greeting (e.g., 1200).

Step 8. Test and Save

Run Test Call in each tab (Agent, Voice & Language, Call Action). Validate greeting, language, speed, booking, transfer, and entities. Click Save and place a real verification call. Check Call History for audio, transcript, and extracted values.

Advanced Setup (Optional)

  • Keyword routing: in the prompt, define terms that trigger booking (“book”, “reschedule”) or transfer (“talk to human”, “supervisor”).
  • Double confirmations: ask callers to repeat date/time before booking.
  • Multilingual: only use Secondary Language if you truly serve two languages; otherwise disable it.
  • Temperature by goal: low for booking/transfer; medium for FAQs/sales.

Common Errors & Fixes

“This calendar does not have an appointment action.”
The calendar lacks Appointments. Go to Google Calendar, enable it, or pick another calendar with the action active.
Banner: “Select a Google Calendar…”
In Call Action, open the gear on Schedule Appointment and select the correct calendar.
Banner: “Select a Transfer Configuration…”
Create and save a profile in Call Transfer, then select it in the agent.
Wrong-hour bookings
Align the agent Timezone with the calendar and confirm the caller’s local time.
Language mixing
Keep the Prompt in one language; set Language/Secondary Language properly and pick a matching Voice.
Entities missing
Define clear types (string/boolean/ISO), mention them in the prompt, lower Temperature, or try a more capable LLM.
Webhook enabled without URL (“Webhook Url is required…”)
Add a valid endpoint before enabling Post-Call Webhook or disable it while testing.

Motivating Close

Your Enhanced agent can now understand complex contexts, book accurately, escalate calls, and feed clean data to your systems. Start with a balanced LLM, test with real calls, and tune—this foundation will let you scale without friction.