Tronic Artificial Intelligence
Quick Start

Welcome to Tronic Cloud Voice AI

This guide walks you through everything you need to get your AI voice agent answering calls — from logging in and finding your phone number, to creating an agent, switching it on, pointing your number at it, and making your first test call. Every step has a screenshot. Click any image to enlarge it.

⏱In a hurry? The fastest path to a working agent is Steps 1–7 below. Everything after that is reference for the rest of the dashboard.

Getting your account

How a Tronic Cloud account is created, and what you get on day one.

If someone has already set your account up for you, skip ahead to Logging in. To sign up yourself, go to portal.troniccloud.com.au and click Register.

The form asks for:

  • Individual or Business — pick whichever matches how you’ll be invoiced.
  • Your name, date of birth and phone number.
  • Your email address. Use a real business address — throwaway addresses are rejected, and this becomes your login.
  • Your address, with the option to give a different billing address.
  • Preferred phone area code (optional) — 02, 03, 07 or 08, if you want your number to look local to a particular state. Leave it on No preference and we’ll assign any available Australian number.
Tronic Cloud registration form showing account type, personal details, address and preferred area code fields
Choose Individual or Business, fill in your details, then click Send me a magic link.
🎁What you get straight away. Your account is created with an Australian phone number already assigned to it, a SIP trunk and dispatch rule already configured, and $10 of starting credit so you can make test calls before you pay anything.

1. Logging in

How to get into your Tronic Cloud dashboard the first time and after.

1 Open your welcome email and set a password

When your account is created you receive an email titled “Welcome to Tronic Cloud — your phone number is ready”. Click the secure link inside to choose your password. After that, you log in any time with your email address and password.

Tronic Cloud login page with the Email field, Password field, Sign In button and the email-link option highlighted
Enter your email (1) and password (2), then Sign In (3). First time, or forgot your password? Use the emailed sign-in link (4).
🔒The extra “Continue” page is normal. When you click a sign-in link from an email, you may land on a page that just has a Continue button on it. That’s deliberate — it stops email security scanners from silently using up your one-time link before you get to it. Click Continue and you’ll be signed in.

Forgotten your password?

Click Forgot Password? on the login page, or use “Or sign in with an emailed link” to get a fresh one-click link. Sign-in links are single use and expire after a short time, so request a new one rather than re-using an old email.

✉Changing your login email. Your login email can’t be changed from the dashboard — email support@tronic.com.au and we’ll move it for you.

2. Your dashboard

The overview page you land on after logging in.

2 Get your bearings

The menu on the left (highlighted) is how you move around the dashboard. The main area shows your call activity, usage and costs at a glance. Don’t worry if your numbers are all zero to start — they fill in once calls come through.

Tronic Cloud dashboard Overview with the left navigation menu highlighted in green
Click the image to enlarge. The green outline marks the navigation menu.

What’s in the menu

  • Core — Analytics (this page), Reports, Call History, Chat History, Recording/Egress, Tools, Knowledge Base, Voice Agents and Chatbot Agents.
  • Telephony — SIP Trunks, Dispatch Rules and Phone Numbers: the plumbing that connects real phone calls to your agents.
  • Testing — the Agent Tester, for trying an agent in your browser.
  • Account — Billing and your Account details.

Across the top you’ll find a date-range picker, an Export button, this User Guide, Help, and your account menu (with Log out) on the far right.

3. Your phone number

Where to find the phone number that was set up for you.

3 Open Phone Numbers to see your number

Click Phone Numbers in the menu (under Telephony). Your dedicated number is listed here — this is the number callers ring to reach your agent. The small icon beside it copies it to your clipboard. Your number was also included in your welcome email.

Phone Numbers page with your assigned phone number highlighted in green
Your phone number is highlighted. (Internal trunk IDs are hidden here.)

4. Create your first agent

Your “agent” is the AI that answers the phone and talks to callers.

4 Open Voice Agents and start a new agent

Click Voice Agents in the menu, then the green Create Agent button (top right).

Voice Agents list with the Create Agent button highlighted in green
The green Create Agent button is highlighted.

4b Give it a name, a greeting and instructions

Tell the agent who it is and how to behave:

  • 1 — Agent Name: a name for your own reference.
  • 2 — Initial Greeting: the first thing it says when it answers a call.
  • 3 — System Prompt: its instructions — its role, what it should do, and any rules to follow.

The other tabs (Behavior, Speech Recognition, Voice, Advanced) let you choose the voice and AI models, but sensible defaults are already selected — you can leave them as-is to start. When you’re ready to tune them, see Voice Agents below.

Agent editor with Agent Name, Initial Greeting and System Prompt fields highlighted and numbered 1, 2, 3
The three fields you’ll always set, numbered 1–3.

5. Start the agent

⚠Important: a new agent does not run automatically. You must switch it on with the green Start button — otherwise calls won’t be answered.

5 Click the green Start button

On the Voice Agents list, find your agent and click the green Start button. Its status changes to RUNNING. If an agent is stopped, the dashboard shows a yellow reminder (top) — that’s your cue to start it.

Voice Agents list with the stopped-agent warning banner and the green Start button highlighted
The yellow “is stopped” reminder and the green Start button.

Running vs stopped. A running agent is standing by to answer calls. A stopped agent isn’t — callers will hear ringing with nothing answering. Running an agent costs nothing on its own; you’re only charged for the calls it actually handles, so there’s no reason to stop it between calls.

6. Point your number at it

Connect your phone number to the agent so incoming calls reach it.

6 Open Dispatch Rules and choose your agent

Go to Dispatch Rules (under Telephony). A rule for your number is already set up for you — click the pencil to open it, then:

  • 1 — Agent Name: choose the agent you just started.
  • 2 — Auto-Record Calls: tick this if you want calls recorded (optional).

Click Save. Your number now sends calls to that agent.

Edit Dispatch Rule dialog with the Agent dropdown and Auto-Record option highlighted
Pick your agent (1); optionally turn on Auto-Record (2), then Save.
🔔Auto-Record is what creates recordings. If you don’t tick it, calls still happen and are still logged — but there will be no audio to play back later. This is the single most common reason people find an empty Recordings page.

7. Make a test call

Ring your number from any phone and talk to your agent.

7 Call your number

Dial your Tronic Cloud number (the one on the Phone Numbers page) from your mobile. Your agent should answer within a few seconds with the greeting you set. Every call then appears in Call History with a transcript, summary and (if you turned on Auto-Record) a recording.

Call History page showing recent calls with duration, cost and health columns
Your test call shows up in Call History within moments of hanging up.

Nothing answered? Work through these in order: is the agent RUNNING (Step 5)? Does the dispatch rule point at that agent (Step 6)? Is your credit above the minimum (see Billing Overview)? There’s a fuller checklist in Troubleshooting.

8. Try it in the browser

Prefer not to use a phone? Test the agent right inside the dashboard.

8 Use the Agent Tester

Open Agent Tester (under Testing) to chat or talk to your agent right in the browser — handy for trying changes before they go live:

  • 1 — Select Agent: choose the agent to test.
  • 2 — Mode: pick Text (type) or Voice (use your microphone).
  • 3 — Connect: start the test session.

The agent must be started (Step 5) to respond.

Agent Tester page with Select Agent, Mode toggle and Connect button highlighted and numbered
Select your agent (1), choose Text or Voice (2), then Connect (3).

Voice Agents

A closer look at the agent editor and the settings you’ll use most.

The agent editor has five tabs. You only need the first one — everything else has a sensible default. Work left to right as your needs grow.

Voice Agents list page showing configured agents with their status and controls
The Voice Agents list — start, stop, edit, duplicate or delete each agent from here.

Start from a template

The Templates button on the Voice Agents page gives you a ready-made agent for a common job — a receptionist, an appointment booker, a lead qualifier and so on. It fills in the greeting, the instructions and sensible settings; you then change the business name and the details and you’re most of the way there.

Voice Agents page with the Templates and Create Agent buttons
Templates beat a blank page. Start from the closest one, then edit.
💡Read the prompt it gives you. A template is a starting point, not a finished agent — it doesn’t know your prices, your suburbs or what you never want promised. Read its System Prompt end to end and make it yours before you point a phone number at it.

Identity tab — who the agent is

Three fields do most of the work:

  • Agent Name — for your reference only; callers never hear it.
  • Initial Greeting — the exact words the agent opens with. Keep it short and say who you are: “Good morning, you’ve reached Acme Plumbing, how can I help?”
  • System Prompt — the agent’s standing instructions. This is where most of your effort goes.
Voice agent editor Identity tab showing name, greeting and system prompt fields
Identity holds the name, the greeting and the instructions.

Writing a good System Prompt

Think of it as briefing a new receptionist on their first morning. Cover:

  • Who they are — “You are the after-hours receptionist for Acme Plumbing.”
  • What they’re for — the two or three things a caller usually wants.
  • What to collect — name, callback number, suburb, nature of the job.
  • The rules — what they must never promise (prices, arrival times), and when to take a message instead of guessing.
  • How to sound — brief and warm; one question at a time.
💡Be specific about what NOT to do. Most disappointing agents are under-instructed rather than over-instructed. If you don’t want it quoting prices, say so in plain words.

Dynamic variables let the greeting and the prompt change per call. Type them anywhere in either field and they’re filled in the moment the call starts:

  • {{time_greeting}} — “Good morning”, “Good afternoon” or “Good evening”, matched to the time of the call.
  • {{user_number}} — the caller’s phone number on an incoming call, or the number dialled on an outgoing one. Handy for “Can I call you back on this number?”
  • {{current_date}}, {{current_time}}, {{current_datetime}} — today’s date and the current time, so the agent doesn’t guess when someone says “tomorrow”.

A greeting of “{{time_greeting}}, you’ve reached Acme Plumbing” opens with the right words at 8am and at 7pm, with nothing for you to change.

Behavior tab — the agent’s brain

This is where you choose the AI model that does the thinking, and how it behaves mid-conversation.

  • Provider and model — the default is chosen for speed, because on a phone call a slow answer feels worse than a slightly less clever one. Only change it if you have a reason to.
  • Fallback models — you can nominate up to two backups. If the main AI provider has an outage, calls automatically continue on a backup instead of failing.
  • Conversation dynamics — how quickly the agent decides you’ve finished speaking, and whether a caller can interrupt it mid-sentence. Allowing interruptions feels much more natural on the phone.
Voice agent editor Behavior tab showing model selection and conversation settings
Behavior sets the AI model, its fallbacks, and the feel of the conversation.

Speech Recognition tab — how the agent hears

Controls how the caller’s speech is turned into text.

  • Provider and model — the transcription engine.
  • Language — set this to the language your callers actually speak; it makes a bigger difference to accuracy than any other setting here.
  • Audio input settings — how the agent detects speech versus silence and background noise.
  • Backup provider and stall recovery — if the transcription service stops responding mid-call, the agent switches to a backup and recovers the words it missed rather than going silent. Leave it on.
Voice agent editor Speech Recognition tab showing provider, model and language settings
Speech Recognition decides how well the agent understands your callers.
💬Mishearing names or products? Put the troublesome words into the System Prompt (“Common suburbs callers mention: Ballarat, Bendigo, Bacchus Marsh”). Giving the agent the vocabulary up front is the most effective fix.

Voice tab — how the agent sounds

Pick the speaking voice. Providers offer different voices with different accents and energy levels. Australian callers generally respond best to an Australian or neutral English voice. Preview a few before settling — this is the single most noticeable thing about your agent.

Voice agent editor Voice tab showing text-to-speech provider and voice selection
Choose the voice, then test it on a real call — voices sound different over a phone line.

Advanced tab — conversation feel and safety valves

Optional, but this is where several genuinely useful controls live. Working down the tab:

  • Resource limits — caps such as Max Call Duration. Worth setting: it stops a stuck call quietly running up charges.
  • Silence behaviour — what the agent does when nobody is talking. You set how long to wait, whether it nudges the caller (“Are you still there?”), how many times it tries, and when it gives up and ends the call politely rather than holding an empty line open.
  • Outbound call detection — recognises voicemail and phone menus on calls your agent places, so it doesn’t hold a conversation with an answering machine. This matters most on Campaigns, where the agent is the one doing the ringing.
  • Agent handoffs — passing a caller to another agent. See below.
  • Data extraction fields — pulling specific details out of every call. See below.
Voice agent editor Advanced tab showing resource limits and silence behaviour settings
The top of the Advanced tab — call-length caps and silence handling.

Passing a caller to another agent

One agent answers, another takes over — either openly or invisibly.

You don’t have to cram everything into one agent. A receptionist agent can greet the caller, work out what they want, and pass them to an agent that only does bookings, or only does accounts. Each one then has a short, focused set of instructions instead of one enormous prompt that tries to cover every situation — which is the single biggest reason agents start giving vague answers.

Tick Enable agent handoffs on the Advanced tab, then add one entry per destination agent. There are two styles, and the difference is entirely about what the caller experiences:

  • Transfer — the caller knows. The agent says a short sign-off (“I’ll put you through to our bookings team now”) and then hands over. Use it when the caller should understand they’re now talking to a different part of your business.
  • Transition — the caller doesn’t notice. The conversation simply carries on in the same voice, with different instructions behind it. Use it to move between phases of one conversation — greeting, then qualifying, then booking.

For each handoff you give a description of when to use it. That sentence is what the agent reads to decide, so write it as a plain instruction: “Use this when the caller wants to book, reschedule or cancel an appointment.” Vague descriptions produce handoffs at the wrong moment.

Voice agent editor showing the Agent Handoffs switch, the Gemini 3.x warning, and the Data Extraction Fields section
Handoffs and data extraction sit together near the bottom of the Advanced tab.
⚠Handoffs don’t work on every AI model. The editor shows an orange warning when the model you’ve picked can’t support them — currently the Gemini 3.x models. Any handoffs you set up are simply ignored on those, with no error on the call. If you want handoffs, read that warning and switch to a model it names.
🎥Recording stops at a transfer. When a caller is transferred, the recording of that call ends at the hand-over point. You get the part your agent handled, not what happens afterwards. Worth knowing before you go looking for the second half.
💬Four rules that keep handoffs smooth. Give every agent the same personality and voice, or a “silent” transition will be obvious. Tell each destination agent what it’s just been handed (“the caller has already given their name and suburb”) so it doesn’t ask twice. Keep the number of agents small — three or four beats a dozen. And test the whole path in the Agent Tester before it meets a real caller.

Data extraction — pulling the details out of every call

Stop reading transcripts to find a callback number.

Tell the agent which specific pieces of information to pick out of each conversation, and they appear on the call record as their own fields — ready to read at a glance, and included when you export or send calls to another system.

Click Add Extraction Field and give each one a short name and a plain-English description of what it is:

  • callback_number — “The phone number the caller wants to be called back on.”
  • job_type — “What kind of work the caller is asking about — e.g. blocked drain, hot water, leak.”
  • suburb — “The suburb the job is in.”
  • urgency — “Whether the caller says it is an emergency.”
💡The description is doing the work. The agent reads it to decide what counts. “Name” gets you inconsistent results; “The caller’s first and last name as they said it” gets you a name. Start with three or four fields you’d otherwise copy out by hand.

Chatbot Agents

Text-based AI chat agents for your website.

A chatbot agent is the same idea as a voice agent, answering typed questions on your website instead of the phone. It can use the same knowledge base and the same tools.

Chatbot Agents page with the Create Chat Agent and Templates buttons
Create a chat agent to embed an AI chat widget on your website.

The editor tabs

There are eight tabs once your agent is saved. You only need the first two to get going.

  • General — name and basic details.
  • LLM & Prompt — the AI model and the system prompt, exactly like a voice agent’s Identity and Behavior tabs combined.
  • Voice — lets the chatbot talk, so a visitor can speak to it instead of typing. See Letting your chatbot talk below.
  • Widget — how the chat bubble looks on your site: brand colour, corner, light or dark, the title, the launcher size, and which parts show (transcript, microphone button, text box). If the chatbot talks, Orb Style picks the animation visitors watch while it speaks — Classic, Circle or Bars. There’s a live preview on the tab, so try them.
  • Human Handoff — lets a real person take over a conversation from the chatbot. See Handing a chat to a real person below.
  • Session — how long a visitor’s conversation is remembered.
  • Domains — which websites are allowed to show this widget. Set this; it stops anyone else embedding your agent on their own site.
  • Embed Code — the snippet you paste into your website.
💡Embed Code appears after you save. While you’re creating a brand-new chatbot you’ll see seven tabs, not eight — there’s nothing to embed until the agent exists. Fill in General and LLM & Prompt, click Save, and the Embed Code tab appears.
Chatbot agent editor showing the General, LLM and Prompt, Voice, Widget, Human Handoff, Session and Domains tabs
Creating a new chatbot — seven tabs now, Embed Code appears after you save.
Chatbot editor Widget tab showing brand colour, position, theme, orb style and a live preview
The Widget tab, with a live preview — change something and watch it change.

Letting your chatbot talk

A website chatbot doesn’t have to be typing-only.

The Voice tab has one decision at the top — Chat Mode — and everything else follows from it:

  • Text only — visitors type, the agent types back. No sound, no microphone. This is the default and it suits most websites.
  • Voice with avatar — visitors still type, but the agent’s answers are spoken aloud. The browser never asks for microphone permission, which is why it’s the recommended choice for a website widget: it feels alive without a scary permission pop-up. Ignore the word “avatar” — there is no on-screen character to set up, it simply means talking without a microphone.
  • Full voice — visitors speak and the agent listens and replies aloud, like a phone call in the browser. The browser will ask each visitor for microphone permission.
Chatbot editor Voice tab showing the three Chat Mode options: Text only, Voice with avatar, and Full voice
Three modes. Pick Voice with avatar if you want it to talk without asking for a microphone.

Choose either of the talking modes and the rest of the tab appears: which service turns speech into text, which voice the agent speaks in, how long a pause means the visitor has finished, and whether background noise is filtered out. The defaults are sensible — the one worth setting yourself is the voice, because it’s the thing every visitor notices.

Chatbot editor Voice tab in Full voice mode showing speech recognition settings
Pick a talking mode and the speech settings unfold underneath.
⚖Recording a voice chat — get consent right. Only Full voice chats can be recorded, because they are the only ones that carry the visitor’s own audio. The Recording strip inside the Voice tab turns it on and decides whether the visitor is asked first. If you choose a mode that asks, nothing is recorded and no microphone is opened until they answer. If you choose to record without asking, check that this is lawful where your visitors are — in much of Australia, and in many other places, it is not. The typed transcript is kept either way.

Handing a chat to a real person

When the visitor wants a human, they get one — without leaving the chat.

Sometimes the chatbot isn’t enough: the visitor asks for a person, they’re upset, or the question is outside what the bot knows. Human Handoff pauses the chatbot, brings one of your team into the same conversation, and hands control back when they’re done. The visitor stays in the same chat window the whole time.

📩There is no inbox in the dashboard. The conversation is sent to a web address you choose — usually an automation tool such as n8n, which drops it into Slack, Teams, your CRM or a help desk — and your team member replies from there. Their reply appears in the visitor’s chat window with their name on it. The whole exchange lands in Chat History afterwards.

On the Human Handoff tab you set:

  • The switch and a web address — where the conversation gets sent. Turning the switch on also gives the chatbot the ability to ask for a human; you never need to visit the Tools page for it.
  • A signing secret — created for you, so the receiving end can prove the message really came from your dashboard.
  • What the visitor sees — the message while someone is being found, and the message when the chatbot takes back over. Write these in your own voice.
  • A button label — the “Talk to a person” button in the widget, and what happens if nobody can be found.
  • If nobody picks up — how long to wait, what to say while waiting, and whether the chatbot carries on or keeps waiting. Set this: an unanswered handoff that just sits there is worse than no handoff.
  • Email me when a handoff starts — so a request doesn’t sit unnoticed.
Chatbot editor Human Handoff tab showing the webhook address, visitor messages, and no-answer settings
Everything the visitor experiences during a handoff is wording you control.
🔒The web address must be a public, secure one. It has to start with https:// and be a real internet address. An address on your own office network — anything like 192.168.x.x or localhost — is refused when you save, because our servers can’t reach it. Free and paid n8n cloud accounts work out of the box.
💬Handoff is for the website chat. It covers the chat widget on your site, typing or talking. Phone calls don’t use it — a voice agent transfers a caller to a real phone number instead, which is set up under Tools.

Putting it on your website

Open the Embed Code tab, copy the snippet, and paste it into your website’s HTML just before the closing </body> tag. If you use WordPress, Squarespace, Wix or similar, look for a “custom code” or “footer scripts” box in the site settings and paste it there. Save, then reload your site — the chat bubble appears in the corner.

Chatbot editor Embed Code tab showing the code snippet to copy
Copy this snippet into your site’s HTML, then reload the page.
⚠Widget not appearing? Nine times out of ten it’s the Domains tab — your website’s address needs to be on the allowed list. Check that first, then check the snippet actually saved on your site.

Greeting visitors by name

If your website already knows who the visitor is — because they’re logged in — you can pass that through so the chatbot greets them personally. Add a data-variables attribute to the snippet you pasted, listing the details as pairs:

<script src="..." data-agent-id="..."
        data-variables='{"name": "Priya", "account_number": "1253566"}'></script>

Each one becomes a placeholder you can use in the chatbot’s welcome message and instructions, written in double curly brackets. A welcome message of “Hello {{name}}, your account {{account_number}} is due for renewal.” greets that visitor by name. If a detail isn’t supplied the placeholder is quietly removed, so nobody sees an empty gap. You can pass up to ten.

⚠For friendliness only — never as proof of identity. Anyone on the internet can open your widget claiming any name or account number. Use these details for a warm greeting and nothing else. Never write your instructions so the agent treats them as proof of who it’s talking to, or uses them to look up or read out account information without checking for itself.

Knowledge Base

Give your agent documents to answer from (prices, policies, FAQs).

Without a knowledge base, your agent only knows what’s in its system prompt. With one, it can answer from your actual documents — and say “I don’t know” instead of making something up.

Knowledge Base page showing the Collections list and the Create Collection button
Create a collection, upload your documents, then attach it to an agent.

How to set one up

  1. Create a collection — a folder for one topic, e.g. “Service pricing” or “Warranty policy”.
  2. Upload your documents into it.
  3. Attach the collection to your agent in the agent editor. This step is the one people forget — uploading alone doesn’t change the agent’s answers.
  4. Test it in the Agent Tester by asking a question the document answers.
📄Short, focused documents work best. A two-page price list beats a sixty-page company handbook. If answers come back vague, split the big document into smaller topic-specific ones.

What to upload

Documents and plain text work best — price lists, service descriptions, warranty terms, a list of frequently asked questions with their answers. Two things to avoid: scanned images of text (there are no words in a picture for the agent to read), and spreadsheets full of numbers with no labels.

Write it the way you’d explain it to a new staff member. A heading followed by a short, direct answer beats a paragraph of marketing copy every time — the agent reads what you give it, so a vague document produces a vague answer.

Your chatbot can use it too

A collection isn’t only for phone agents. Attach the same collection to a website chatbot and it answers from the same documents, so your phone and your website never disagree about a price.

⚠Agent giving the wrong answer? Check three things in order. Is the collection actually attached to that agent — the step people skip? Does the document really contain the answer, in words? And is another instruction in the System Prompt contradicting it? A prompt that says “our call-out fee is $90” will fight a document that says $120, and you won’t know which one wins.

Tools

Let your agent do things — transfer a call, hang up, or send details to your systems.

The Tools page has two tabs. Agent Tool Assignments decides which tools each agent may use and holds their per-agent settings; Webhooks is where you build connections to your own systems.

Tools page showing agent tool assignments and available tools
Assign tools per agent — an agent can only use what you’ve given it.

1 Assign tools to an agent

The Agent Tool Assignments section at the top lists your agents. Click Configure next to an agent to open its assignment panel, then flip the toggle for each tool you want that agent to have. Configurable tools (like transfers) show a settings panel under their toggle where you can override the defaults just for this agent.

Sometimes an agent has a tool assigned that this page can’t offer right now — for example the tool was renamed. The Configure window then shows a yellow warning box at the top (“1 tool on this agent isn’t available right now”) listing it with the reason, and the agent table shows its badge in yellow with a warning sign.

  • “Not found”: the tool was deleted or renamed, or couldn’t be loaded. If it was renamed, switch the new name on in the list above and tick Remove on the old one.
  • Remove: tick it and click Save to take the tool off this agent. Its per-agent settings are deleted too.
ℹWhat happens automatically: calls simply skip tools that aren’t available, and saving the window never removes a tool you didn’t see — only the ones you switch off or tick Remove on. Deleting a webhook tool also takes it off every agent that used it (and its default text out of their Tool Usage Instructions). If an agent’s Tool Usage Instructions still mention a removed tool, a notice after saving tells you to tidy that text in the agent editor.

Let the agent finish speaking before a tool runs

When the agent says something and then uses a tool — “I’ll put you through to Sales now” followed by a transfer, or a goodbye followed by a hang-up — the tool waits for the sentence to finish before it starts. Most sentences take 2–4 seconds. If the agent is still talking after 8 seconds (for example because it repeated the caller’s request back first), this setting decides how much longer it may keep waiting, so the caller hears the whole sentence instead of being cut off mid-word.

  • Before a tool runs, let this agent finish speaking (top of a voice agent’s Configure window):
    • Use default: follows the dashboard’s default — up to 15 seconds unless it has been changed. Right for almost everyone.
    • Up to 12 / 15 / 20 seconds: a shorter or longer limit for this agent. A sentence longer than the limit is still cut off when the limit is reached.
    • Off — stop waiting at 8 seconds: the old behaviour. The tool starts at 8 seconds even if the agent is mid-sentence.
    Any choice other than Use default applies to this agent only. Chatbots don’t have this choice.
ℹWhat happens automatically: the extra wait only happens while the agent is still speaking — short sentences are not slowed down at all, and the tool starts the moment the sentence ends. Changes apply from the next call. The number-entry tool (collect_dtmf) is never delayed, and speech-to-speech (realtime) agents always stop at 8 seconds. One setting covers the whole call: after a handoff, the agent that answered the call still decides. The setting travels with the agent when you export, import or duplicate it.
⚠Long lines mean later transfers. A long “I’ll put you through” line is now heard in full, so the transfer starts a few seconds later. For the quickest handovers, tell the agent in its instructions to keep its transfer line to one short sentence.

2 Tell the agent when to use its tools

Giving an agent a tool isn’t quite enough — it also needs to know when to reach for it. That happens in the agent editor, in the Tool Usage Instructions box on the Identity tab. Example: “If the caller asks to speak to a person, use the transfer tool and send them to Reception. If nobody answers, offer to take a message.” You describe the when in plain English; the system automatically supplies the technical details and the list of available destinations.

Switching a tool on adds its default instruction to that box for you. Switching it off takes that default text out again — unless you had edited it, in which case your wording is left alone and a notice asks you to open the agent editor and remove what no longer applies.

Setting up Cal.com for your agents

Your agents can work with a Cal.com calendar through four built-in tools. Together they cover the whole appointment conversation:

  • cal_check: finds the free times on a day or range of days.
  • cal_book: books a new appointment in one of those free times.
  • cal_reschedule: moves an appointment the caller already has to a new free time. Cal.com keeps it as one appointment and sends a single “rescheduled” email.
  • cal_cancel: cancels an appointment the caller already has.

This works with a Cal.com cloud account (cal.com). Everything below is done once; after that you just switch the tools on for each agent that should take bookings.

Step 1 — Your Cal.com account and calendar

  • Sign in to Cal.com (or create a free account) with the business account whose calendar the agent should book into.
  • Connect your real calendar (Google, Outlook or Apple) in Cal.com under Settings → Calendars, then switch on each calendar under Check for conflicts that holds your real appointments. Cal.com treats anything in those calendars as busy, so the agent never offers a time you’re not free — a connected calendar with its switch off is ignored. Add events to chooses which calendar the agent’s bookings appear in.
  • Set your working hours in Cal.com under Availability. The agent can only offer times inside them.
Cal.com Calendars settings with a connected Outlook calendar
Cal.com → Settings → Calendars — a connected Outlook calendar. Add events to is where bookings land; the switches under Check for conflicts choose which calendars count as busy.

Step 2 — The event type the agent books

In Cal.com an event type is a kind of appointment — for example “30 minute consultation”. The agent books, moves and cancels appointments of one event type. Create one (or pick an existing one) under Event Types, and set its length, buffers and minimum notice the way you want them — the agent follows the same rules as your online booking page.

A few event-type settings decide whether the tools can work at all. Open the event type and check them before you go live (the tab names below are the ones in the event type’s left-hand menu):

  • Privacy & security → Requires booker email verification — turn OFF. With it on, Cal.com emails a code the caller would have to read out, which they can’t do on a call. Booking and moving appointments then fail.
  • Privacy & security → Requires confirmation — your choice. If it’s on, new and moved appointments wait as “pending” until you confirm them in Cal.com. The agent tells the caller the business still has to confirm the new time.
Cal.com event type Privacy and security settings
Event type → Privacy & security — Requires booker email verification must be off; Requires confirmation is your choice.
  • Reschedule & cancel → Disable cancelling / Disable rescheduling — leave OFF. If either is on, Cal.com refuses the matching tool and the agent tells the caller it couldn’t make the change. (Require cancellation reason doesn’t get in the way — the agent always sends one.)
Cal.com event type Reschedule and cancel settings
Event type → Reschedule & cancel — leave Disable cancelling and Disable rescheduling off.
  • Payments & Seats → Offer seats — leave OFF. The agent can’t move or cancel a seat in a group booking; it will tell the caller the team will help. Paid bookings aren’t supported by the agent either.
Cal.com event type Payments and Seats settings
Event type → Payments & Seats — leave Offer seats (and Paid booking) off.
  • Phone number question — only if you want phone matching. If you plan to turn on Also require the caller’s phone number to match (see Step 5), the booking has to store the caller’s number. Add a phone question under the event type’s Booking form, and switch on Send caller’s phone number in cal_book.

Step 3 — Copy the Event Type ID and create an API key

  • Event Type ID: open the event type in Cal.com and look at the address bar. The number straight after /event-types/ (for example app.cal.com/event-types/1234567?tabName=setup) is the Event Type ID. Ignore everything from the ? on.
Cal.com event type page with the Event Type ID in the address bar
The event type in Cal.com — the number after /event-types/ in the address bar is the Event Type ID (yours will be different).
  • API key: in Cal.com go to Settings → Developer → API keys, click New, give it a name such as “Voice agent”, and copy the key (it starts with cal_live_). Cal.com shows it only once. If you set an expiry date, put a reminder in your diary: an expired key makes every Cal.com tool fail with “The calendar API key appears to be invalid”.
Cal.com API keys page
Cal.com → Settings → Developer → API keys — click New to create a key. The list shows each key’s name and expiry, never the key itself.
⚠Keep the key private. Anyone with it can read and change every booking on your Cal.com account. Paste it only into the dashboard.

Step 4 — Put the key into the tools

Each of the four tools has its own copy of the settings, so fill in the same Cal.com API Key, Event Type ID and Timezone in every Cal.com tool the agent uses.

  • For one agent: Tools page → Agent Tool Assignments → Configure next to the agent → switch the tool on and fill in its settings panel. Use this when different agents book into different calendars.
  • Timezone: set it to the timezone your Cal.com working hours are in (for example Australia/Sydney). It is how the agent reads out times and understands “the appointment on Tuesday”. If you leave it blank the dashboard’s own timezone is used, which may not be yours — set it on every Cal.com tool.

Step 5 — Choose the tools and test them

  • Book only: cal_check + cal_book.
  • Book and change: add cal_reschedule and/or cal_cancel. If callers ever ring to change a time, switch on cal_reschedule — without it the agent can only book a second appointment and the old one stays in your calendar.
  • Also require the caller’s phone number to match (on cal_reschedule and cal_cancel): an extra check that the booking belongs to the person calling. Leave it off unless your bookings save the caller’s phone number (Step 2) — with it on, a booking that has no phone number can never be found.
  • Test: after saving, press Run Test in each tool’s settings. It only reads from Cal.com — it never books, moves or cancels anything.

Then try the whole conversation in the Agent Tester with a test booking under your own email: book one, ring back and move it, ring back and cancel it. Check Cal.com after each step.

If something goes wrong

What the agent (or the tool result in Call History) says, and what to do:

  • “The calendar API key appears to be invalid”: the key was mistyped, deleted or has expired. Create a new key in Cal.com (Step 3) and paste it into every Cal.com tool.
  • “The configured calendar event type was not found” or “Event Type ID is not configured”: the Event Type ID is missing or belongs to a different Cal.com account (the first message comes from cal_check and cal_book). Copy it again from the address bar.
  • “I couldn’t find an upcoming appointment under that email address on that date”: the caller gave a different email or date from the one on the booking, the booking is for a different event type, or it is in the past. The agent should check the spelling and the date with the caller.
  • “I wasn’t able to find that appointment … the team will follow up”: three look-ups failed in the same conversation, so the tool stopped trying (this stops people guessing their way into someone else’s booking). Call the customer back.
  • “That time slot is no longer available”: someone took the time between the agent offering it and the caller choosing it. The agent checks again and offers another time.
  • “That appointment has already been cancelled”: nothing to do — it was cancelled earlier (by the caller online, or by you).
  • “… can’t check the caller’s phone number in this conversation”: phone matching is on, but the conversation has no phone number (for example a website chat). Turn phone matching off for that agent, or handle changes from the website yourself.
  • Every look-up fails although the details are right: phone matching is on and your bookings don’t store a phone number. Turn it off (Step 5).

Every tool and its settings

attended_transfer

Warm transfer. The agent rings the destination, speaks to them privately while your caller waits on hold, then connects the two. If nobody answers it comes back to the caller.

Settings

  • Outbound SIP Trunk: SIP trunk to use for outbound consultation calls (pick one from a list)
  • Transfer Destinations: Destinations the agent can warm-transfer to. Each entry has a name (shown to the agent), a type (PSTN phone number or SIP URI for 3CX/PBX queues), and the destination value. Optionally a per-destination trunk override. attended_transfer always uses bridged dial — SIP REFER mode (available on blind_transfer) does not apply here because the multi-step consult/merge flow needs the destination as a room participant. On a PBX-type trunk a phone-number entry must be an extension, queue or SIP user name (letters, digits, . _ -) and is dialled exactly as written; a number starting with + is refused, so give that entry a Trunk override pointing at a PSTN trunk. (a named list of destinations)
  • Play Hold Music: Whether to play hold music while caller is on hold during transfer (on or off; default: True)
  • Hold Music File: Audio file to play while caller is on hold during consultation. Leave on (None - use default) to play the built-in hold music. (pick one from a list)
  • Hold Music Volume: How loud the hold music plays to the caller. The slider is perceptual (50% sounds about half as loud as 100%); values below ~10% are near-silent on phone calls. 80 is the recommended default. (a slider; default: 80)
  • Consultation Timeout (seconds): How long the consultation can run before it auto-cancels and the caller is returned. The countdown starts when the transfer is initiated and INCLUDES the time spent dialling and ringing the destination (typically 5–15s), so set this comfortably higher than the conversation alone — 90 seconds or more is recommended. Default 120. Set to 0 to disable auto-cancel entirely. (a whole number; default: 120)
  • Ring-out timeout (seconds): How long to wait for the destination to pick up before treating it as no-answer. Lower = faster pivot to taking a message, higher = more tolerance for slow mobiles. Typical range 15-25. (a whole number; default: 18)
  • Detect voicemail and pivot automatically: When enabled, the agent listens briefly to the destination's first few seconds after pickup and pivots back to the caller if it hears a voicemail greeting. Disabled automatically in audio-to-audio (realtime) pipelines where no separate STT is available. (on or off; default: True)
  • Voicemail detection window (seconds) — advanced: How long to listen to the destination before deciding voicemail vs human. Shorter = faster pivot, longer = more accurate. Typical range 4-10. (a whole number; default: 6)
  • Voicemail confidence threshold — advanced: How confident the detector must be before auto-cancelling. Lower = more sensitive (more pivots, but more false positives on hands-free / flat-tone humans). 0.7 is a balanced default. (a slider; default: 0.7)
  • When transfer fails (no-answer or voicemail), the agent should: Choose what happens when the destination doesn't pick up or voicemail is detected. Selecting 'Take a message' ALSO requires the take_a_message tool to be enabled on this agent — otherwise the LLM will be told to call a tool it doesn't have. (pick one from a list; options: {'value': 'return_to_caller', 'label': 'Apologise and continue talking with the caller (default)'}, {'value': 'take_message', 'label': 'Take a message from the caller (requires the take_a_message tool to be enabled)'}, {'value': 'hangup', 'label': 'Apologise briefly and end the call'}; default: return_to_caller)
  • Auto-Hang-Up Recipient When Caller Leaves: When the original caller hangs up after the transfer completes, automatically end the recipient's leg too — so the recipient doesn't hear silence waiting for the call to drop. Default: enabled. Disable only if you have a specific reason to let the recipient leg stay alive after the caller leaves. (on or off; default: True)
  • Minimum Consultation Time Before Merge (seconds): Prevents the LLM from merging the transfer immediately. Default 8 seconds. Set to 0 to disable the guard entirely (trust the LLM to merge whenever appropriate). Maximum 60 seconds. (a number; default: 8)
ℹPBX trunks dial extensions as written. When the trunk in use is PBX-type, a phone-number destination such as 101 is dialled exactly as typed. A destination starting with + is refused on a PBX trunk; give that row its own Trunk override pointing at a PSTN trunk. Earlier versions dialled PBX extensions as +<extension> and the transfer failed.
Always finish the transfer. After consulting, the agent must either merge (connect the two) or cancel (come back to the caller). The consultation timeout is the safety net if it does neither.

background_audio

Plays quiet background sound during the call, such as gentle office noise, so silence does not feel dead.

Settings

  • Background Audio File: Select a built-in clip or uploaded file to loop during calls (pick one from a list)
  • Audio Volume: Controls background audio volume. 0-100% is normal range, above 100% boosts quiet clips for phone calls. (a slider; default: 80)
  • Audio Probability: Probability of the ambient sound playing at any given moment (0% = never, 100% = always) (a slider; default: 100)

blind_transfer

Straight transfer. The agent forwards the caller to a destination you set up in advance, chosen by name.

Settings

  • Default Outbound SIP Trunk: SIP trunk used for transfers when a destination doesn't specify its own trunk override. (pick one from a list)
  • Transfer Destinations: Destinations the agent can transfer to. Each entry has a name (shown to the agent), a type (PSTN phone number or SIP URI for 3CX/PBX queues), and the destination value. Optionally a per-destination trunk override. On a PBX-type trunk a phone-number entry must be an extension, queue or SIP user name (letters, digits, . _ -) and is dialled exactly as written; a number starting with + is refused, so give that entry a Trunk override pointing at a PSTN trunk. (a named list of destinations)
  • Play Dial Tone: Whether to play a dial tone to the caller during transfer (on or off; default: False)
  • Transfer Mode (Advanced): bridge (default, recommended) — dashboard dials the destination and bridges the caller in; if the destination doesn't answer, the agent stays on the call and can recover. refer (advanced) — sends a SIP REFER to your upstream provider so the call is handed off cleanly and the dashboard's room ends; requires a REFER-friendly provider (Telnyx, or 3CX-as-direct-trunk). Twilio rejects REFER for non-PSTN URIs. With REFER you lose the wait-for-answer safety net — if the destination is unreachable the caller lands on a dead leg. (pick one from a list; options: bridge, refer; default: bridge)
  • Auto-Hang-Up Transfer Target When Caller Leaves: When the caller hangs up after being transferred (Bridge mode only), automatically end the destination leg too — so a 3CX queue agent doesn't pick up to silence. Default: enabled. Disable only if you have a specific reason to let the destination leg stay alive after the caller leaves. Not relevant in REFER mode (the destination is on a separate carrier-owned call the dashboard can't control). (on or off; default: True)
Bridge or REFER. Bridge keeps the agent on the line until the destination answers, so it can recover if nobody picks up. REFER hands the call to your carrier and ends cleanly, but loses that safety net. Most providers need Bridge.
The agent finishes its sentence first. The transfer waits for “I’ll put you through…” to finish before dialling. How long it may wait is set under Let the agent finish speaking before a tool runs.

cal_book

Books an appointment in Cal.com during the call. To move an appointment the caller already has, use cal_reschedule instead — booking again leaves the old appointment in your calendar. Setup: Setting up Cal.com for your agents.

Settings

  • Cal.com API Key: Your Cal.com cloud API key (starts with cal_live_…). In multi-tenant mode set this per-agent, not in the global card. (a secret, stored hidden; required)
  • Event Type ID: Numeric Event Type ID from your Cal.com event type URL. (a whole number; required)
  • Timezone: IANA timezone recorded on the booking (e.g. Australia/Sydney). Leave blank to use the dashboard timezone (Settings → General).
  • Attendee Language: Locale code for the booking confirmation (e.g. en). (default: en)
  • Send caller's phone number: Attach the caller's phone number to the booking (for Cal.com SMS reminders). Only sent when it is in E.164 format. (on or off; default: False)
  • Bookings API Version (advanced): Cal.com cal-api-version for the bookings endpoint. Leave default unless Cal.com changes it. (default: 2024-08-13)
  • Usage Instruction: Guidance appended to the agent's prompt for when/how to use this tool. (a longer block of text; default: To book an appointment, call cal_book with the caller's full name, their email address, and start_time. CRITICAL: start_time must be copied VERBATIM from a cal_check slot — never invent or reformat a timestamp. Confirm the spelled-out email with the caller before booking. If a slot is no longer available, call cal_check again once and offer another time; do not retry more than twice.)
Testable. This tool has a test button in its settings, so you can check it works without placing a call.

cal_cancel

Cancels an appointment the caller already has in Cal.com. The agent finds the booking from the email address it was booked under and the date of the appointment, reads it back, and only cancels once the caller says yes. First set up Cal.com as described in Setting up Cal.com for your agents.

How a cancellation sounds

  • Caller: “I need to cancel my appointment.”
  • Agent: “Sure — what email address is it booked under, and what day is it?”
  • Caller: “jo@example.com, it’s on Tuesday the 1st.” (the agent looks it up — nothing is changed yet)
  • Agent: “I’ve found your appointment on Tuesday 1 December at 11:00am. Would you like me to cancel it?”
  • Caller: “Yes please.” (only now is it cancelled)
  • Agent: “Done — your appointment on Tuesday 1 December at 11:00am has been cancelled.”

Settings

  • Cal.com API Key: Your Cal.com cloud API key (starts with cal_live_…). Use the same key as your other Cal.com tools. (a secret, stored hidden; required)
  • Event Type ID: Numeric Event Type ID from your Cal.com event type URL. The agent can only change bookings of this event type — use the same ID as cal_check and cal_book. (a whole number; required)
  • Timezone: IANA timezone the caller’s appointment date is in (e.g. Australia/Sydney) — also the timezone the agent reads times out in. Leave blank to use the dashboard timezone (Settings → General), but setting it is strongly recommended.
  • Also require the caller’s phone number to match: Only find bookings whose phone number matches the number the caller is ringing or texting from. Bookings saved without a phone number can then never be found, and website chats (which have no number) can’t use the tool at all — only turn this on if your bookings record the caller’s phone. (on or off; default: off)
  • Bookings Lookup API Version (advanced): Cal.com cal-api-version for finding bookings. Leave default unless Cal.com changes it. (default: 2024-08-13)
  • Cancel/Reschedule API Version (advanced): Cal.com cal-api-version for cancelling and rescheduling. Leave default unless Cal.com changes it. (default: 2026-02-25)
  • Usage Instruction: Guidance appended to the agent's prompt. The default tells the agent to ask for the email and date, read the appointment back, and only cancel after a clear yes; and to use cal_reschedule instead if the caller wants a different time. (a longer block of text)
ℹWhat happens automatically: the tool works in two steps. The first only looks up the booking and hands the agent a one-time 6-digit code; the second, with that code, does the cancelling. The code only works in the same conversation, for about 10 minutes, and only once — so the agent can’t cancel anything it hasn’t read back to the caller first. After three look-ups that find nothing, the tool stops looking for the rest of that conversation. Cal.com sends its usual cancellation email, and the cancelled booking stays visible (as cancelled) in Cal.com.
⚠Who can cancel? Anyone who knows the email a booking was made under and the day of the appointment. That’s the same as most online booking pages. For a stricter check, turn on Also require the caller’s phone number to match — but only if your bookings store the caller’s number.
  • Existing agents don’t change: the tool does nothing until you switch it on for an agent.
  • Repeating (recurring) appointments: only the one occurrence the caller named is cancelled; the rest of the series stays.
  • Group (seated) bookings: can’t be cancelled by the agent — it tells the caller the team will help.
  • Simulations and test runs never cancel real bookings: the tool is recorded as used but not actually run.
Testable. This tool has a test button in its settings. The test only reads from Cal.com — it never cancels anything.

cal_check

Checks what appointment times are free in Cal.com so the agent can offer them — for a new booking (cal_book) or a new time for an existing one (cal_reschedule). Setup: Setting up Cal.com for your agents.

Settings

  • Cal.com API Key: Your Cal.com cloud API key (starts with cal_live_…). In multi-tenant mode set this per-agent, not in the global card. (a secret, stored hidden; required)
  • Event Type ID: Numeric Event Type ID from your Cal.com event type URL. (a whole number; required)
  • Timezone: IANA timezone for availability (e.g. Australia/Sydney). Leave blank to use the dashboard timezone (Settings → General).
  • Slot Duration (minutes, optional): Only for variable-length event types. Leave blank to use the event type's own duration. (a whole number)
  • Slots API Version (advanced): Cal.com cal-api-version for the slots endpoint. Leave default unless Cal.com changes it. (default: 2024-09-04)
  • Usage Instruction: Guidance appended to the agent's prompt for when/how to use this tool. (a longer block of text; default: When the caller asks about availability or wants to book, call cal_check with the requested date range (start_date and end_date, ISO dates like 2026-07-01). State the timezone you are quoting and confirm it with the caller. Read back a few of the returned slot times. Do NOT invent times — only offer slots cal_check returned. When the caller picks one, pass that slot's exact value to cal_book without reformatting it.)
Testable. This tool has a test button in its settings, so you can check it works without placing a call.

cal_reschedule

Moves an appointment the caller already has to a new free time. It uses Cal.com’s own “reschedule”, so there is still one appointment afterwards (Cal.com marks the old time as rescheduled) and the caller gets one “rescheduled” email. Without this tool an agent can only book a second appointment and the old one stays in your calendar. Needs cal_check switched on too, to find the new time. Set up Cal.com first: Setting up Cal.com for your agents.

How a reschedule sounds

  • Caller: “I need to move my appointment.”
  • Agent: “No problem — what email is it booked under, and which day is it on?”
  • Caller: “jo@example.com, Monday the 30th. Could I do Tuesday morning instead?” (the agent checks Tuesday’s free times with cal_check)
  • Agent: “I have 11:00 or 11:30 on Tuesday.” Caller: “11 is great.” (the agent looks up the booking — nothing is changed yet)
  • Agent: “So that’s moving your appointment from Monday 30 November at 11:30am to Tuesday 1 December at 11:00am — shall I go ahead?”
  • Caller: “Yes.” (only now is it moved) Agent: “Done — you’re now booked for Tuesday 1 December at 11:00am.”

Settings

  • Cal.com API Key: Your Cal.com cloud API key (starts with cal_live_…). Use the same key as your other Cal.com tools. (a secret, stored hidden; required)
  • Event Type ID: Numeric Event Type ID from your Cal.com event type URL. The agent can only change bookings of this event type — use the same ID as cal_check and cal_book. (a whole number; required)
  • Timezone: IANA timezone the caller’s appointment date is in (e.g. Australia/Sydney) — also the timezone the agent reads times out in. Leave blank to use the dashboard timezone (Settings → General), but setting it is strongly recommended.
  • Also require the caller’s phone number to match: Only find bookings whose phone number matches the number the caller is ringing or texting from. Bookings saved without a phone number can then never be found, and website chats (which have no number) can’t use the tool at all — only turn this on if your bookings record the caller’s phone. (on or off; default: off)
  • Bookings Lookup API Version (advanced): Cal.com cal-api-version for finding bookings. Leave default unless Cal.com changes it. (default: 2024-08-13)
  • Cancel/Reschedule API Version (advanced): Cal.com cal-api-version for cancelling and rescheduling. Leave default unless Cal.com changes it. (default: 2026-02-25)
  • Usage Instruction: Guidance appended to the agent's prompt. The default tells the agent never to use cal_book to move an appointment, to find the new time with cal_check, read back both the old and the new time, and only move it after a clear yes. (a longer block of text)
ℹWhat happens automatically: the same two steps as cal_cancel — a look-up that changes nothing and gives the agent a one-time code, then the move itself with that code. If someone takes the new time in between, the agent hears “That time slot is no longer available” and offers another. If the event type requires confirmation, the new time waits as “pending” in Cal.com and the agent tells the caller the business still has to confirm it. The move is recorded in Cal.com as made by the caller (their email), not by you.
  • Existing agents don’t change: switch the tool on for each agent that should move appointments. Once it’s on, the agent is told to use it instead of booking a second appointment.
  • Repeating (recurring) appointments and group (seated) bookings can’t be moved by the agent — it tells the caller the team will help.
  • Who can move a booking and simulations: the same as cal_cancel above.
Testable. This tool has a test button in its settings. The test only reads from Cal.com — it never moves anything.

collect_dtmf

Lets the agent collect numbers the caller types on their keypad, such as an account or reference number.

Settings

  • Number of Digits: How many digits to collect (a whole number; default: 10)
  • Input Timeout (seconds): How long to wait between digit inputs (a number; default: 4.0)
  • Terminator Key: Key to end input early (pick one from a list; options: #, *; default: #)
  • Confirm with Caller: Read back digits and ask caller to confirm (on or off; default: True)
What happens automatically: once the digits are captured, the tool hands the agent the number ready to read back — each digit as a word, with a short pause between groups (a 10-digit number is spoken as 0412, 014, 214). This wording is deliberate: some voices skip the digit that follows a "..." or a dash, so the agent is told never to use those between digits. If the caller says the digits instead of pressing keys and the count does not match the configured number of digits, the agent asks again (up to three attempts) before falling back to taking the number by voice. Digit words are English; agents using a non-English voice get the digits plus the formatting rule.

get_datetime

Tells the agent the current date and time, so it can answer 'are you open now' and talk about days correctly.

Settings

  • Timezone: Select your timezone (pick one from a list; options: Australia/Melbourne, Australia/Sydney, Australia/Brisbane, Australia/Perth, Australia/Adelaide, America/New_York, America/Chicago, America/Denver, America/Los_Angeles, Europe/London, Europe/Paris, Europe/Berlin, Asia/Tokyo, Asia/Singapore, Asia/Hong_Kong, Pacific/Auckland, UTC; default: Australia/Melbourne)
  • Date Format: How dates should be formatted (pick one from a list; options: Tuesday, 14 January 2025, 14 January 2025, January 14, 2025, 14/01/2025, 01/14/2025, 2025-01-14; default: Tuesday, 14 January 2025)
  • Time Format: How times should be formatted (pick one from a list; options: 2:30 PM, 14:30, 2:30:45 PM, 14:30:45; default: 2:30 PM)

handoff_to_human

Chat only. Hands the conversation to a real person on your team.

Settings

  • Usage Instruction: When the chatbot should hand a conversation to a person. Switch the feature on and set the webhook in the chatbot's Human Handoff tab — this tool is managed from there. (a longer block of text; default: Use the handoff_to_human tool when the visitor asks to speak to a person, is clearly upset, or you have been unable to help after two attempts. Call it with a short reason. Do NOT announce the handoff yourself and do NOT add anything after calling it — the tool tells the visitor exactly what happens next.)

hangup

Lets the agent end the call politely when the conversation is finished.

Settings

  • Usage Instruction: Instructions appended to the agent's system prompt for when and how to use the hangup tool (a longer block of text; default: Use this tool to end the call when the conversation is complete, when you have achieved your goal, or when the caller requests to hang up. Before calling this tool, always deliver your closing words — if the caller has already said goodbye or asked to end the call immediately, a single brief acknowledgment is enough. Do not call this tool mid-sentence or without any spoken closing. After calling this tool the call disconnects immediately — do not generate any further text or response.)

hold

Puts the caller on hold with music while the agent does something, then brings them back.

Settings

  • Play Hold Music: Whether to play hold music while on hold (on or off; default: True)
  • Hold Music File: Audio file to play while on hold. Leave on (None - use default) for a silent hold. (pick one from a list)
  • Hold Music Volume: How loud the hold music plays to the caller. The slider is perceptual (50% sounds about half as loud as 100%); values below ~10% are near-silent on phone calls. 80 is the recommended default. (a slider; default: 80)
  • Max Hold Time (seconds): Maximum time a caller can be on hold (a whole number; default: 300)

play_audio

Plays a recorded audio file to the caller, for disclaimers or announcements.

Settings

  • Default Audio File: Default audio file to play if none specified (pick one from a list)
  • Audio Volume: Controls how loud the audio plays to the caller (0% = silent, 100% = full volume) (a slider; default: 80)

search_knowledge_base

Lets the agent look up answers in your Knowledge Base instead of guessing. It switches on and off by itself when you tick or untick Knowledge Base collections for an agent (see Knowledge Base). The search starts while the agent is still saying “let me check”, so the caller waits less.

Settings

  • Max results: Maximum number of search results to return (a whole number; default: 5)
  • Say a filler line on slow lookups: if the search is still running a couple of seconds after the agent finishes its own “let me check”, say the filler line so the caller isn’t left in silence. Standard (non-realtime) voice agents only (on or off; default: on)
  • Filler line: what the agent says while a slow lookup finishes (default: One moment, let me check that.)
  • Filler delay (seconds): how long after the agent stops talking to wait before the filler line (default: 2)

send_email

Sends an email during the call, for example a confirmation or a link.

Settings

  • Email Provider: Choose your email sending method (pick one from a list; options: smtp, ses; required; default: smtp)
  • SMTP Host: SMTP server address (e.g., smtp.gmail.com)
  • SMTP Port: SMTP port (587 for TLS, 465 for SSL) (a whole number; default: 587)
  • SMTP Username: —
  • SMTP Password: — (a secret, stored hidden)
  • Use TLS: Enable TLS encryption (on or off; default: True)
  • AWS Region: AWS SES region (pick one from a list; options: us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-central-1, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1; default: ap-southeast-2)
  • AWS Access Key ID: —
  • AWS Secret Access Key: — (a secret, stored hidden)
  • From Email Address: — (required)
  • From Name: —
  • Reply-To Address: —

send_sms

Sends a text message to the caller during the call.

Settings

  • SMS Provider: Preset providers are configured automatically from Settings → Integrations — you only enter the From number. Custom (n8n) sends through your own n8n workflow. (pick one from a list; options: {'value': 'tronic', 'label': 'Tronic Cloud'}, {'value': 'twilio', 'label': 'Twilio'}, {'value': 'telnyx', 'label': 'Telnyx'}, {'value': 'sentdm', 'label': 'Sent.dm (SMS/WhatsApp)'}, {'value': 'custom', 'label': 'Custom (n8n)'}; required; default: custom)
  • From Number / Sender ID: Sender phone number (E.164, e.g. +61412345678). Tronic Cloud: AU number without + or an alphanumeric sender ID.
  • Sent.dm Channel: SMS is reliable for any message. WhatsApp business-initiated messages only deliver when the recipient messaged your business in the last 24 hours OR Meta approved the passthrough template — arbitrary text may be undeliverable cold. 'WhatsApp, fall back to SMS' tries WhatsApp first and sends SMS if it fails. (pick one from a list; options: {'value': 'sms', 'label': 'SMS'}, {'value': 'whatsapp', 'label': 'WhatsApp (requires Meta setup — not yet verified)'}, {'value': 'whatsapp_sms', 'label': 'WhatsApp, fall back to SMS'}; default: sms)
  • Sent.dm Template ID: Passthrough template for business-initiated sends. Auto-created on save when the API key is set — only paste an ID if auto-create fails (create a template whose whole body is {{0:message}} in the Sent.dm dashboard).
  • n8n Send-webhook URL: Production URL of the imported Send-SMS n8n workflow (download it below, import into n8n, activate, paste the URL here)
  • Shared Secret (send_sms tool): Sent as the X-SMS-Secret header so your n8n workflow can verify the request came from this dashboard. Baked into the downloaded workflow — regenerate = re-download + re-import. (a secret, stored hidden)
  • SMS API URL (legacy direct HTTP): Direct SMS gateway HTTP endpoint — only used when the n8n Send-webhook URL above is empty
  • HTTP Method: HTTP method for API requests (pick one from a list; options: POST, GET; default: POST)
  • Request Body Template: JSON template with placeholders: {{to}}, {{from}}, {{message}} (JSON; default: {"to": "{{to}}", "from": "{{from}}", "message": "{{message}}"})
  • Authentication Type: How to authenticate with your SMS API (pick one from a list; options: none, bearer, token, basic, api_key_header, api_key_query; default: none)
  • Auth Token/Key: API key, bearer token, or basic auth credentials (a secret, stored hidden)
  • Auth Header Name: Header name for API key (e.g., X-API-Key) (default: Authorization)
  • Success Check Path: JSONPath to check success (e.g., $.status or $.success) (default: $.success)
  • Success Value: Expected value for success (e.g., 'sent', 'true', '200') (default: true)
Testable. This tool has a test button in its settings, so you can check it works without placing a call.

take_a_message

Takes a message when the person the caller wants is not available, and sends it on.

Settings

  • How to deliver captured messages: Captured messages can be sent by email only, SMS only, or both. SMS requires the agent's SMS provider to be configured under the Messaging tab. Email requires the dashboard's email provider to be configured in Settings. (pick one from a list; options: {'value': 'email', 'label': 'Email only'}, {'value': 'sms', 'label': 'SMS only'}, {'value': 'both', 'label': 'Email and SMS'}; default: email)
  • Default recipient email: Email used when no per-destination override is configured on the matching attended_transfer destination. Leave blank to require per-destination overrides.
  • Default recipient SMS number: SMS number (E.164 format, e.g. +61412345678) used when no per-destination override is configured. Leave blank to require per-destination overrides.
  • Include call recording link: If call recording is enabled for this agent, include a link to the recording in the message email/SMS so the recipient has full context. (on or off; default: True)
  • Usage Instruction (advanced): Instructions appended to the agent's system prompt for when and how to use take_a_message. Leave default unless you have a specific reason to override. (a longer block of text)

threecx_messaging

Sends a message INTO your 3CX system so it lands in a named user's chat. Not for texting customers.

Settings

  • 3CX Webhook URL: Full 3CX Generic SMS webhook URL including the token path (e.g. https://yourtenant.3cx.ph/sms/generic/ABC123...). Find this in 3CX Admin → SIP Trunks → your trunk → Generic SMS tab. (a line of text; required)
  • 3CX DID (fallback): The 3CX DID registered for SMS, in E.164 format with leading + (e.g. +61488883111). Used as the 'to' number only when no destinations are configured below. Must match the DID in 3CX EXACTLY. (a line of text)
  • Default Country Code: E.164 country prefix (e.g. +61) used to normalize numbers entered in national format (e.g. 0412000001 → +61412000001). Must include the leading +. (a line of text; default: +61)
  • Recipients (3CX Users): Named list of 3CX user DIDs the agent can message. Each entry has a Name (what the agent picks by, e.g. 'Sales', 'Support') and a Number (the 3CX DID that routes to that user, in E.164 with leading +). (a named list of destinations)
  • Sender Identities: Named list of sender identities the message can appear to come from. Each entry has a Name (what the agent picks) and a Number (mobile in E.164, OR an alphanumeric sender ID up to 11 characters, e.g. 'Tronic'). (a named list of destinations)
  • Default Sender Name: Name of the sender identity to use when the agent doesn't specify one. Must match an entry in the Sender Identities list above. (a line of text)
  • Webhook Timeout (seconds): Maximum time to wait for 3CX to respond before giving up. Default 15s. Voice calls hear silence during this, so keep it short. (a whole number; default: 15)
Testable. This tool has a test button in its settings, so you can check it works without placing a call.

threecx_receptionist — 3CX Receptionist

Turns the agent into a receptionist for your 3CX phone system: it finds people, queues, ring groups and menus in the live 3CX directory, sees who is available right now, puts callers through, offers voicemail when someone is busy, can screen callers first, only ever reaches the entries you tick, and can hang up on spam or abusive callers. Each agent connects to 3CX one of three ways: over a phone line with transfers dialled over a PBX trunk, over a phone line with transfers made through the agent’s own 3CX extension (no PBX trunk), or as an extension inside 3CX. Needs 3CX AI Edition (V20 Update 9 or later) and a Service Principal login.

Webhooks

Connect your agents to anything with a web address — your CRM, booking system, spreadsheets or an automation platform like n8n.

Build a webhook tool by hand

The Webhooks tab. The n8n Wizard button is the guided route; Create Webhook Tool is the manual one.
The Webhooks tab. The n8n Wizard button is the guided route; Create Webhook Tool is the manual one.

Webhook tools are custom tools you create that call an external system — your CRM, your booking system, or an automation platform like n8n, Make, or Zapier. During a call, the agent gathers what it needs from the caller and fires the request; the answer comes back into the conversation.

The easy way — the n8n Wizard. If your automation lives in n8n, the blue n8n Wizard button on the Webhooks tab does the whole job in four steps: pick a recipe (capture a lead into your CRM, look up live information the agent speaks back, send the caller a follow-up message, log a support ticket and read back its reference, silently ping your team on Slack or Teams, append call details to a Google Sheet, a Cal.com calendar pair that checks availability and books appointments, a GoHighLevel pair that books appointments and manages your sales pipeline, or a custom one with your own fields), enter your n8n address, tick the agents that should use it, and click Create. The wizard builds the webhook tool and hands you a matching n8n workflow file to import — the address, security key, and field names are baked into both sides so they always fit. In n8n you just activate the imported workflow and swap the red REPLACE ME node for your real action (your CRM, your email sender, your database). You can re-download the file any time from the n8n button on the tool’s card. The manual form below is still there for everything else.

ℹBuilt-in guardrails (on by default): wizard tools are protected against the classic AI slip-ups without any setup. A booking tool refuses to book until an availability check has actually run in the same call; one-shot actions (booking a slot, sending a follow-up, saving a lead, logging a ticket) won’t silently fire twice with the same details — the agent is told it’s already handled; and if a required field is still blank the tool doesn’t fire at all — the agent is coached to ask the caller for it first. These guards apply to voice calls, website chats, and SMS alike. The blank-field guard is controlled by each parameter’s Required tickbox — required means enforced, so only tick it on fields the call genuinely can’t proceed without.
  • Function Name: what the agent calls the tool (e.g. lookup_order) — lowercase letters, numbers, and underscores. Keep it short and descriptive.
  • Description: a plain-English sentence about what the tool does — this is how the AI decides when to use it, so make it clear.
  • Webhook URL: the web address to call (an n8n, Make, or Zapier webhook, or your own API endpoint).
  • HTTP Method: POST, GET, PUT, PATCH, or DELETE — whichever your endpoint expects (your integration platform will tell you).
  • Custom Headers: extra request headers, typically for authentication keys.
  • Parameters: the pieces of information the agent should collect and pass along — each with a name, a type (String for text, Number, Boolean for yes/no, Array for a list, or Object for structured data), a description, and whether it’s required. The description is read by the AI every time it fills the tool in, so say exactly what you want and in what format (e.g. “Appointment date in YYYY-MM-DD format”) — good descriptions are the biggest single fix for wrongly filled tools. Required is enforced, not just a hint: if a required field is still blank, the tool won’t fire at all — the agent is coached to ask the caller for it and only sends once it has an answer. Leave fields the call can proceed without as not required, or the agent will hold the conversation until it collects them. Example: a required order_number guarantees the agent gets the caller’s order number before the request ever fires.
  • System Parameters: toggles that automatically attach call context to every request — the caller’s number (caller_phone), the number they dialled, call direction and duration, the agent’s name, the conversation transcript or just the last message, and the date/time. Turn on only what your endpoint actually needs.
  • Timeout (seconds) & the “Allow agent to speak while waiting for response” option: how long to wait for the endpoint before giving up (default 30), and whether the agent may keep talking naturally while it waits instead of going silent.

Webhook tools — the advanced sections

The rest of the webhook popup is optional polish. The defaults are fine to start with; come back when you want tighter control:

  • Response Handling: Response Path picks out just the useful part of the endpoint’s reply (e.g. $.data.message) instead of dumping the whole response on the agent; Error Message Path does the same for error replies; Success Condition defines what counts as success (e.g. $.status == 'success') so the agent knows whether the action worked.
  • Error Handling: Speak On Error is the exact sentence the agent says if the tool fails; Speak On Delay plus Delay Threshold (seconds) give the caller a “bear with me…” line when the endpoint is slow; Retry Count, Retry Delay (ms), and Retry On Status Codes quietly retry temporary failures before giving up.
  • Rate Limiting: Max Calls Per Minute (across all calls) and Max Calls Per Session (per call) stop a confused agent — or a malicious caller — from hammering your endpoint. Empty means no limit.
  • Authentication: the Auth Type dropdown handles the common login styles — Bearer Token, Basic Auth, or an API key in a header or query parameter — without you hand-crafting headers.
  • Availability: restrict when the tool exists at all — Available From / Until (Time) with a Timezone makes a tool office-hours-only (outside those hours the agent simply doesn’t have it), and Available When (Condition) can gate it on call context.
  • Testing / Mock Mode: tick Enable Mock Mode and fill in Mock Response (JSON) to have the tool return a canned answer instead of calling the real endpoint — perfect for testing the conversation before the real system is ready. The Test button at the bottom of the popup fires a real (or mock) request immediately so you can check the plumbing.

Walkthrough: your first webhook tool (order lookup)

  • Step 1: in your automation platform (n8n, Make, Zapier) create a workflow that starts with a webhook and looks up an order in your system. Copy its webhook URL.
  • Step 2: Tools page → create a webhook tool: Function Name lookup_order, Description “Looks up the status of a customer’s order by order number”, paste the URL, method POST.
  • Step 3: add one Parameter: order_number, type String, required, description “the customer’s order number”. Turn on the caller_phone system parameter if your workflow wants it.
  • Step 4: set Speak On Error (“I’m having trouble reaching our order system…”) and click Test — fix any plumbing now, not during a live call.
  • Step 5: assign the tool to your agent, and add a line to its Tool Usage Instructions: “When a caller asks about an order, ask for their order number and use lookup_order.”
  • Step 6: prove it in the Agent Tester — ask about an order and watch the tool call and its response appear in the transcript.

The n8n Wizard

The n8n Wizard (blue button on the Webhooks tab) builds both halves of a connection in four steps: 1. Use case (pick one of the options below), 2. Details (the tool’s name, one sentence saying when the agent should use it, and your n8n address), 3. Agents (tick the agents that should get the tool — you can also do this later on the Agent Tool Assignments tab) and 4. Finish (click Create). The finished screen shows the address your workflow will answer at, a Download n8n workflow button and a Test connection button.

  • Tool name: lowercase letters, numbers and underscores, e.g. save_lead. The AI refers to the tool by this name.
  • What is it for, and when should the agent use it?: one sentence. This matters more than anything else in the wizard — the AI reads it to decide when to use the tool. The wizard turns it into a usage instruction and adds it to the Tool Usage Instructions of every agent you tick.
  • Your n8n address: the address you open n8n at, not a workflow URL. For n8n Cloud it looks like https://yourname.app.n8n.cloud.
ℹWhat happens automatically: the tool is live in the dashboard as soon as you click Create, but it does nothing on calls until you import and activate the downloaded workflow in n8n (n8n → new workflow → ⋯ menu top right → Import from File…, then the top-right Active toggle). The file contains the tool’s secret key — don’t share it. Every wizard tool sends the call’s details (caller number, date and time, transcript…) with each request; untick what your workflow doesn’t need on the tool card → Edit → System Parameters.
Step 1 of the n8n Wizard — pick the job, and it builds the tool and the matching workflow.
Step 1 of the n8n Wizard — pick the job, and it builds the tool and the matching workflow.

Lead capture / CRM push

The agent collects the caller’s name and contact details and sends them to your CRM, a spreadsheet, or anywhere n8n can reach. Use it for callback requests, quote requests and new enquiries.

  • What the agent collects: name (required — the agent always asks for it first), phone, email and notes (one or two short sentences on what the caller wants), all optional. It reads phone numbers back digit by digit and confirms the spelling of email addresses, and never invents a detail the caller didn’t give.
  • What the agent says: “Just a moment while I save your details…” while it runs. If it fails: “I wasn’t able to save your details just now, but I’ve made a note to have someone follow up with you.” It never tells the caller the details are saved until the tool has succeeded.
  • In n8n: replace the red REPLACE ME node with your CRM node (HubSpot, Pipedrive, Google Sheets, an HTTP Request…).

Live data lookup

The agent asks your n8n a question mid-call — order status, opening hours, stock levels — and speaks the answer back to the caller.

  • What the agent sends: query (required) — what the caller wants to know, in plain words.
  • What comes back: your workflow returns a result; the agent speaks it as a natural sentence (never raw data or internal IDs). If the lookup fails it apologises and offers a follow-up — it never guesses an answer.
  • What the agent says: “One moment while I look that up for you…” while it runs. If it fails: “I’m sorry, I couldn’t look that up right now. Is there anything else I can help with?”
  • In n8n: replace REPLACE ME with your data source (a database node, an HTTP Request to your API, a Google Sheets lookup…) and return the answer as result.

Send follow-up message

The agent triggers an SMS or email to the caller — a booking confirmation, a price list, an information pack — through whichever sender you connect in n8n.

  • What the agent sends: info_requested (optional) — what the caller asked to be sent. The caller’s number comes with the call details automatically. The agent confirms what the caller wants before sending, and sends it once per call unless asked again.
  • Chatbots: not offered for chatbot agents in step 3 — it sends to the caller’s phone number, which website visitors don’t have.
  • What the agent says: “One moment while I arrange that for you…” while it runs. If it fails: “I couldn’t send that just now — I’ll make sure someone follows up with you instead.”
  • In n8n: replace REPLACE ME with your SMS or email node (Twilio, SendGrid, Gmail, an HTTP Request to your sender…).

Custom workflow

Define your own fields for the agent to collect and send to n8n — the flexible option for anything the other recipes don’t cover.

  • Fields the agent should collect: one row per field — a name (e.g. attendee_name), a type (text, number, yes/no) and a short description of what the AI should put there (this helps accuracy). Tick required only when the tool genuinely can’t run without it — a required field the caller won’t give stops the tool firing. Add field adds another row.
  • My workflow sends information back for the agent to speak: switch on if your workflow returns an answer (like a lookup); leave off for fire-and-forget actions (saving a record, sending a message).
  • What the agent says: “One moment please…” while it runs. If it fails: “I’m sorry, I couldn’t complete that just now.” Both can be reworded on the tool card → Edit.
  • In n8n: replace REPLACE ME with whatever node does the work (an HTTP Request, a database node, your app’s node…).

Create support ticket

The agent logs the caller’s problem in your help desk and reads them the ticket reference. For tracked issues that need follow-up — not for simple callback messages.

  • What the agent collects: issue_summary (required — one or two sentences on the problem), customer_name and urgency (one of low, normal, high, urgent — normal if unsure), both optional. It logs at most one ticket per call unless the caller reports a clearly separate second issue, then reads back the reference your help desk returns.
  • What the agent says: “One moment while I log that for you…” while it runs. If it fails: “I couldn’t log the ticket just now — I’ll make sure the team hears about this another way.”
  • In n8n: replace REPLACE ME with your ticketing node (Zendesk, Freshdesk, Jira, HubSpot Tickets, or an HTTP Request to your help desk) and return the ticket reference.

Notify the team

A silent ping to Slack, Teams or SMS mid-call — an upset caller, an important customer, an urgent problem. The caller never knows.

  • What the agent sends: message (required) — a one-sentence heads-up for your team about this call.
  • How it behaves: the agent says nothing before or after using it, never tells the caller it’s alerting anyone, and uses it at most once per call.
  • What the agent says: nothing — there’s no waiting line, so the conversation carries on uninterrupted. If the alert fails the agent simply continues and doesn’t mention it.
  • In n8n: replace REPLACE ME with your Slack, Microsoft Teams or SMS node.

Log to Google Sheets

Appends call details to a spreadsheet as a new row — the no-CRM option. Every field the tool sends becomes a column you can map.

  • What the agent sends: details (required — one short sentence in the caller’s own words) and category (optional — one of enquiry, order, complaint, feedback, other). It logs once per topic, not once per sentence, and doesn’t read the entry back unless asked.
  • What the agent says: “One moment…” while it runs. If it fails: “I couldn’t save that just now, but I’ve made a note of it.”
  • In n8n: replace REPLACE ME with a Google Sheets Append Row node and map each field to a column.

Calendar booking (Cal.com)

Creates two tools from one name — a check-availability tool (<name>_check) and a book-appointment tool (<name>_book) — wired to your Cal.com account through n8n, plus two matching workflow files.

  • Check availability: the agent sends booking_date (required, YYYY-MM-DD) and booking_time (optional, as the caller said it, e.g. “2pm”), and speaks the free times that come back.
  • Book: the agent sends name, email (spelling confirmed), booking_date and booking_time, all required — only after checking availability and after the caller has confirmed the exact date and time.
  • Built-in guard: the book tool refuses to book until the check tool has actually run in the same call.
  • What the agent says: “One moment while I check the calendar for you…” and “One moment while I book that in for you…”. If either fails, the agent offers to take the caller’s details and have the team confirm.
  • In n8n: import both files as two separate workflows and paste the same Cal.com API key and event type ID into each one’s Config node — if the event type IDs differ, the agent checks one calendar and books another. Then activate both.

GoHighLevel appointments & sales

The GoHighLevel appointments & sales tile creates two tools from one name prefix (e.g. ghl_check and ghl_book) and hands you two matching n8n workflow files. The check tool tells the caller which times are free in your GHL calendar; the book tool creates the contact, books the appointment, and creates a new sales opportunity in your pipeline — or advances an existing one to your “booked” stage.

  • Step 1 — run the wizard: Tools → Webhooks → n8n Wizard → GoHighLevel appointments & sales. Enter a name prefix (e.g. ghl), your n8n address, tick your agents, click Create, and download both workflow files.
  • Step 2 — import into n8n: import each file as its own workflow (three dots → Import from File…).
  • Step 3 — connect your GHL account: in each workflow, open the GoHighLevel nodes and pick (or create once) your HighLevel account credential. n8n’s HighLevel credential uses a GHL Marketplace app — n8n’s credential screen links to the exact setup steps.
  • Step 4 — paste your IDs: each workflow’s sticky note lists exactly which placeholders to replace and where to find each value in GHL — the Calendar ID (use the SAME calendar in both workflows), and in the booking workflow the Location ID (Settings → Business Profile), Pipeline ID and booked Stage ID (Opportunities → Pipelines).
  • Step 5 — activate both workflows (top-right toggle in n8n), then use the wizard’s Test connection buttons and make a test call: ask for a time, hear the real availability, and book it. Check the appointment and the opportunity appeared in GHL.

What happens automatically: appointments are booked for 30 minutes (the sticky note shows the one line to change for longer slots); every booking creates the opportunity under your pipeline’s booked stage, or advances an existing opportunity for that phone number; and the agent only ever says “booked” when GHL really returned an appointment — if anything is mis-configured the caller hears an honest “let me take your details and have the team finalise it” instead. The optional Customize Opportunity Fields node can also stamp your GHL custom fields on each opportunity; until you configure it (field IDs + a Private Integration Token credential) it is simply skipped and bookings still work.

Don’t rename the workflows’ nodes or the tools’ parameters — the pieces reference each other by name and renaming breaks every call. And keep the same Calendar ID in both workflows, or the agent will check one calendar and book into another.

SIP Trunks

The carrier connection your calls travel over.

A SIP trunk is the link between the phone network and your agents. Yours is already set up — it was created with your account, along with your phone number and dispatch rule. For most clients this page is just somewhere to confirm the connection exists.

SIP Trunks page showing the inbound trunk with the Setup Wizard and Create Trunk buttons
Your carrier connection, set up for you. The Setup Wizard button is top right.

Setup Wizard — bringing your own carrier

If you already have phone numbers with another provider and want to use them with your agents, you don’t have to move them. The Setup Wizard button walks you through connecting your existing carrier instead. It creates the inbound trunk, the outbound trunk and the dispatch rule for you in one go.

SIP Provider Setup Wizard step 1 showing provider choices including Tronic Cloud, Breeze Connect, Twilio, Telnyx, Vonage, Plivo, Cloudonix and Vobiz
Step 1 — pick your provider. Tronic Cloud is the recommended, pre-configured option.

The wizard has six steps:

  1. Provider — choose from Tronic Cloud, Breeze Connect, Twilio, Telnyx, Vonage, Plivo, Cloudonix or Vobiz, and give your trunks a name.
  2. Portal Setup — what to collect from your provider before continuing, with a link straight to their portal and a full setup guide.
  3. Credentials — the username and password your provider issued you.
  4. Allowed IPs — which addresses may send calls to you.
  5. Numbers — the phone numbers you want to bring across.
  6. Confirm — review, then create.

Breeze Connect

If you’re a Breeze Connect customer, choose Breeze Connect at step 1 to use your existing trunk and numbers. Most of the configuration is filled in for you — you only need the username and password Breeze Connect issued you, plus your assigned numbers. Step 2 gives you two links: Open Breeze Connect Portal to fetch those details, and Open full setup guide for the complete walkthrough.

Setup Wizard step 2 for Breeze Connect showing required credentials and the portal and setup guide links
Step 2 lists exactly what to collect, and links to the Breeze Connect portal and the full setup guide.
📚Full Breeze Connect instructions. For the complete step-by-step on connecting a Breeze Connect trunk to your dashboard — including what to set up at the Breeze Connect end — see troniccloud.com.au/breeze. That’s the same guide the Open full setup guide button opens from step 2 of the wizard.
⚠You don’t need this for your Tronic Cloud number. The wizard is only for connecting a carrier account you already hold elsewhere. Your Tronic Cloud number works out of the box.

Dispatch Rules

The routing that decides which agent answers which number.

A dispatch rule is the link between a phone number and an agent: “calls to this number are answered by that agent.” One was created for you when your account was set up — you just need to point it at the agent you want (see Step 6).

Dispatch Rules page listing rules with their numbers and assigned agents
Each rule connects a number to an agent. Click the pencil to change which agent answers.

In the edit dialog you’ll find:

  • Agent Name — which agent answers calls on this number.
  • Auto-Record Calls — whether calls on this number are recorded.

Changes take effect on the next call — there’s nothing to restart.

📞Number rings but nothing answers? The rule is almost certainly pointing at an agent that isn’t running, or at a different agent than you think. Open the rule, confirm the agent, then confirm that agent shows RUNNING on the Voice Agents page.

Phone Numbers

The number (or numbers) connected to your account.

Your Australian number was assigned when your account was created and appeared in your welcome email. This page is where to find it again, and the copy icon beside it puts it on your clipboard.

Phone Number Inventory page showing the assigned number
Your number(s). This is what callers ring to reach your agent.

Need another number, or one in a different area code? Email support@tronic.com.au and we’ll add it to your account. If you already own numbers with another carrier, the Setup Wizard can bring those across instead.

Campaigns

Hand your agent a list of people to ring, instead of waiting for them to ring you.

Everything else in this guide is about calls coming in. A campaign goes the other way: you give your agent a list of phone numbers, and it works through them one at a time, calling each person and having the same conversation you set up. Appointment reminders, following up quotes, checking in after a job, short surveys — that sort of thing.

You’ll find it under Telephony → Campaigns. The top of the page counts how many campaigns you have and how many are running right now.

Campaigns page showing the campaign counters and the New Campaign button
Start here. New Campaign is the green button on the right.
⚖Read this before your first campaign. Ringing people who did not ask to be rung is regulated in Australia. Two things apply to almost everyone: you must not call numbers on the Do Not Call Register unless you have the person’s consent or an existing relationship with them, and there are rules about when you may call — broadly, weekdays between 9 am and 8 pm, Saturdays between 9 am and 5 pm, and not at all on Sundays or public holidays. Your agent must also say who is calling and why. The rules are set by ACMA and the penalties are real, so check your own obligations before you load a list. This page will happily ring whatever you give it — deciding that you’re allowed to is your job, not the software’s.

Setting one up

Create Outbound Campaign form showing name, SIP trunk, agent, call settings, operating hours, schedule and phone number entry
One form. The list of people goes in at the bottom.
  • Campaign Name — just a label for you, like “March service reminders”. Make it something you’ll recognise in a month.
  • SIP Trunk — the connection the calls go out through. Yours is named after your account, and most clients only have the one, so pick that.
  • Agent — which of your agents does the talking. Every call in the campaign uses the same one.
  • Concurrent Calls — how many calls happen at the same time. Start at 1. Higher numbers finish a big list faster, but you have less chance to stop it if something is wrong.
  • Delay Between Calls — the pause before the next call starts, from three seconds up to fifteen minutes.
  • Restrict calls to specific hours — tick this and set a start time, an end time and a timezone. The campaign then pauses itself outside those hours and picks up again the next day until the list is done. Set the timezone to where the people you’re calling are, not where you are. This is the setting that stops a long list ringing someone at nine at night, and it is the single most useful one on the page.

Adding the people to call

At the bottom of the form there are two tabs. Add Manually is for a handful of numbers typed in one at a time. Import CSV is for a real list.

Only the phone number is required. Write it with the country code and no plus sign — an Australian mobile looks like 61412345678. Everything else — name, company, job title and two spare fields — is optional, and is only worth filling in if you want the agent to use it (see below).

For a CSV, save it as a .csv file, not an Excel .xlsx. If you put a header row at the top, the columns can be in any order as long as they are named exactly:

phone,name,company_name,company_description,job_title,custom_field_1,custom_field_2

With no header row, your columns have to be in that same left-to-right order.

Using each person’s details in the call

If you filled in those extra columns, the agent can use them. Put any of these in the agent’s prompt and each call swaps in that person’s own details:

  • {{Name}} — “Hi {{Name}}, it’s Sarah from…”
  • {{CompanyName}} and {{CompanyDescription}} — their business.
  • {{JobTitle}} — their role.
  • {{CustomField1}} and {{CustomField2}} — anything you like: an appointment date, an invoice number, what they bought last time.
  • {{user_number}} — the number being dialled.

Starting it, watching it, and doing it again

When you save, you choose one of three things: start immediately, save as a draft and press Start yourself later, or schedule it for a date and time and let it start on its own.

Once it’s going, a badge tells you where it’s up to — Idle (made but not started), Scheduled, Running, Paused (you can resume it), Completed, or Cancelled (stopped for good). A progress bar colours each number green when the call was answered, yellow when nobody picked up and red when it failed, and the eye icon opens the detail for every individual number.

When it finishes you can Retry Failed, which redials only the ones that didn’t answer or failed, or Export Results for a spreadsheet with every person, what happened, when, and how long the call lasted. Delete removes a finished campaign and its results.

💰Campaign calls cost the same as any other call, and there are a lot of them. A hundred-person list is a hundred calls coming off your balance, and it will run until the list is finished or your credit runs out. Do a short test list first, check what it cost on Call Charges, then work out what the full run will come to before you start it.

Every campaign call also appears in Call History like any other call, with its recording, transcript and summary.

Agent Tester

Talk or type to your agent in the browser before it goes live.

The fastest way to iterate. Change the system prompt, test it here, change it again — no phone required.

Agent Tester page showing agent selection, mode toggle and connect button
Select an agent, choose Text or Voice, then Connect.
  • Text mode — type and read replies. Best for checking what the agent knows and how it words things.
  • Voice mode — speak through your computer’s microphone. Best for checking how it sounds and how it handles interruptions. Your browser will ask for microphone permission the first time.

The agent must be running to respond — if it isn’t, start it on the Voice Agents page first.

💰Test sessions are charged. A test uses the same AI services as a real call, so it draws on your credit the same way. The amounts are very small — typically a fraction of a cent for a short text test — but they do appear in your Call History and Call Charges, marked as tests.

Your Overview page

The landing page, and the tabs across the top of it.

At the top you’ll find a date-range picker (Today, this week, and so on) and a Refresh control. Everything below responds to the range you pick, so if the page looks empty, widen the range first.

Overview page with the analytics tab strip highlighted in green
The highlighted tab strip switches between different views of the same date range.
  • Overview — the headline numbers: calls, minutes, answer rate, average duration, running agents and overall sentiment.
  • Calls & Rooms — call volume over time.
  • Latency — how quickly your agents respond. Lower is better; this is the number to watch if callers say the agent feels slow.
  • AI Insights — themes and sentiment drawn from your conversations.
  • Agents — the same figures broken down per agent, so you can see which one is doing the work.
  • Media — audio quality measures.
  • Telephony — the phone side: connection and completion rates.
📊All zeros? That’s normal on a new account, and also happens when the date range is set to Today before any calls have come in. Widen the range before concluding something is wrong.

Call History

Every call, with duration, cost, transcript, summary and recording.

This is the page you’ll live in. Every call your agents handle lands here within moments of hanging up.

Call History page listing calls with time, duration, direction, agent, cost and health columns
Click any row to open the full call detail. (Caller numbers are masked in this guide.)

Finding a call — the filters

Search by phone number, or narrow by agent, direction (inbound or outbound), date range, status, health, or the AI model used. The × beside the Search button clears everything.

What each column means

  • Time — when the call started, in your local time.
  • Duration — how long it lasted.
  • Call ID — the reference to quote if you contact support about a specific call.
  • From / To — the caller and the number they rang.
  • Direction — inbound (someone rang you) or outbound.
  • Agent — which agent handled it, and the AI model it used.
  • Cost — what that call cost you. ACTUAL means it’s a final figure.
  • TTFB — “time to first byte”: how quickly the agent started replying. A rough speed indicator.
  • Health — a 0–100 score for how technically smooth the call was. It measures responsiveness, not whether the agent gave good answers.
  • Transcript — opens the conversation.

Tick the boxes on the left for bulk actions, and use Export to download the filtered list as a spreadsheet.

The call detail view

Click any row to open it. Three tabs across the top: Overview, Conversation (the full transcript, turn by turn) and Summary (an AI-written précis of what happened and what was agreed).

Call Detail page showing call details, recording, agent configuration, call cost breakdown and latency metrics
Everything about one call in a single page — play the recording, read the summary, see exactly what it cost.

The Overview tab shows:

  • Recording — play it in the browser or download it (if Auto-Record was on).
  • Call Cost — broken down by component, with the total and an effective per-minute rate. View per-model breakdown shows the detail.
  • How the call ended — whether the caller hung up, the agent ended it, or it was cut short by a limit. The first question anyone asks about a bad call.
  • Extracted details — the fields you asked for on the agent’s Advanced tab (callback number, job type, suburb) shown as their own values, so you don’t have to read the transcript to find them. See Data extraction.
  • Which agents were involved — if the call was passed between agents, you can see where it changed hands.
  • Metrics — response times and audio quality for that specific call. Useful evidence if you ever need to report a problem.

Chat History

Conversations handled by your website chat agents.

The chat equivalent of Call History. Every conversation a visitor has with your website widget appears here, with the same filtering and export options.

Chat History page
Conversations appear here once visitors start using your chat widget.

Filter by agent or date, click any row to read the full exchange, and export the list when you need it outside the dashboard. If this page is empty but your widget is live, check the Domains tab of the chatbot editor — the widget only runs on the sites you’ve allowed.

Recording / Egress

Play back and download your call recordings.

🎥Recordings only exist if you asked for them. Recording is switched on per number, via Auto-Record Calls on the dispatch rule. If this page is empty, that tick box is almost always the reason.
Recording and Storage page showing saved recordings
Your saved recordings. Play them in the browser or download the audio file.

You can also reach a call’s recording directly from its call detail page, which is usually quicker when you’re chasing one specific conversation.

📅Recordings are kept indefinitely. We don’t delete them on a timer, so a call from two years ago is still there to play back. You can still download any recording to keep your own copy — useful for a dispute, a complaint or a big order — and you can delete individual recordings yourself if you’d rather not keep them. See the FAQ for how long everything else is kept.
⚖Telling callers they’re recorded. We recommend announcing it in your agent’s greeting — “this call may be recorded for quality purposes” — so it happens on every call automatically. Recording obligations vary, so check what applies to your business.

Reports

Automated email summaries of your call activity.

Rather than logging in to check, have the dashboard email you. Reports can go out after every call, or on a schedule such as a daily wrap-up each evening.

Reports page with the create report button
Set up automated email reports of your call activity.

The reports list

  • Name / Trigger / Agents / Recipients: what the report is, what sets it off, which agents it covers, and who receives it.
  • Delivery: whether it goes out by email or webhook.
  • Last Sent / Runs: when it last fired, and how many times it has run, so you can confirm it’s working.
  • Status: whether the report is active or paused.
  • Actions: pause (or resume) a report without deleting it — handy for a noisy one; Run Now sends it straight away to test the delivery (a per-call report run this way has no call attached, so most details are blank); edit; download the n8n file (failsafe reports only); delete — this cannot be undone.
  • Recent Executions: below the list, a log of every send attempt — the Report, its sent/failed Status, the Agent and Trigger involved, the Recipients, any Error message (why a send failed), and the Time. Your first stop when a report doesn’t arrive.
ℹYour reports are yours: report rules and their history belong to your account, and a report only ever covers your own agents — All Agents means every agent in your account.

Creating a report

Click New Report. The form is the same for every report type; the parts that don’t apply to the type you pick are hidden.

The report editor — choose the type, which agents to include, when it sends and who receives it.
The report editor — choose the type, which agents to include, when it sends and who receives it.

1 Name it and pick a trigger

  • Report Name: anything that helps you recognise it later, e.g. “Daily summary to management”.
  • Trigger Type: what makes the report send — after each call, once the AI has analysed a call, on a daily/weekly schedule, or when a particular event happens. The description under the box says what the chosen type does, and each type has its own page under Report types.

2 Choose which calls it covers

  • Agent Filter: All Agents, or Specific Agents — then tick the voice agents and/or chatbot agents to include. (Hold Ctrl, or Cmd on a Mac, to pick more than one.)
  • Direction Filter: All Directions, Inbound Only or Outbound Only. (Chatbot conversations count as inbound.) Hidden for the types where it means nothing, such as the Scheduled Summary.
ℹChatbots are included. Post-Call Summary and AI Conversation Analysis reports also fire for chatbot conversations on every channel: a website chat when it ends, and an SMS/WhatsApp conversation once it has gone quiet (4 hours by default — set per chatbot on its SMS tab). An SMS report shows only the messages since that conversation last finished; its summary and extracted details cover the whole thread, so a webhook may receive the same customer’s details again on a later conversation. SMS reports show costs as “—” (SMS costs are not tracked per conversation) and link to the conversation’s Chat History page. Using webhook delivery with AI Conversation Analysis is the way to send a chatbot’s extracted data to a CRM automatically.

3 Set the schedule (Scheduled Summary only)

  • Frequency: Daily or Weekly.
  • Day of Week: for weekly reports, which day it goes out.
  • Time (UTC): the send time. Note this is in UTC (world time), not your local time zone — adjust accordingly.

4 Choose how it’s delivered

  • Delivery Method: Email (the usual choice) or Webhook (sends the report data as JSON to a web address — for connecting to other systems).
  • Recipients: the email addresses that receive the report — add as many as you like.
  • Email Template: which email design to use. When you pick a trigger and no template is chosen yet, the matching one is filled in for you, and a warning appears if the chosen template was built for a different type.
  • Webhook options: if you chose Webhook — the Webhook URL, the authentication type (None, Basic Auth, Bearer Token or API Key Header), any custom headers, and which fields to include in the payload (the panel on the right turns into a list of tick boxes).

Save the report and check its Status shows it as active. Done — it now sends itself.

💡How it works behind the scenes: when a call ends (or its AI analysis finishes), the system checks your report rules within about 30 seconds and sends any that match. Scheduled reports fire when their set time comes around. Test calls from the Agent Tester and Simulation never trigger the per-call reports. If a report doesn’t arrive, check Recent Executions for a failed status.
📧Start with a per-call report to yourself. It’s the quickest way to see what your agent is actually saying to callers in the first week, without watching the dashboard.

Report types

Each type below has its own page: when it sends, what’s in it, which settings apply, and the fields you can pick for a webhook.

Post-Call Summary

One email (or webhook) after every call or chatbot conversation ends. Best sent to whoever follows up on calls.

  • When it sends: within about 30 seconds of a call ending. Chatbot conversations send too (see the chatbot note under Creating a report).
  • What’s in it: who called and which number they rang, the agent, the direction, start and end times, the duration, how the call ended, the number of turns and the agent’s average response time, the full transcript, the call’s cost (the total, plus the AI model, speech recognition, voice and phone-line parts where they’re known), a link to the call’s page, a link to the recordings page when the call was recorded, and the callback details if the call was marked for a callback.
  • What’s not in it: the AI summary and the agent’s Data Extraction Fields — they aren’t ready when the call ends. Use AI Conversation Analysis for those.
  • Settings that apply: Agent Filter, Direction Filter, delivery.
  • Webhook extras: a webhook also receives the transcript as a list of speaker/text lines, and can include tool_calls — every tool the agent used, with its result. Tick tool_call_http_details as well to include what each webhook tool sent and got back.
  • Fields (webhook payload): call_id, agent_name, caller_number, called_number, direction, duration, duration_seconds, started_at, ended_at, end_reason, turn_count, avg_latency_ms, transcription, total_cost, llm_cost, stt_cost, tts_cost, sip_cost, recording_url, dashboard_link, callback_requested, callback_phone, callback_time, callback_notes.

AI Conversation Analysis

Arrives a little after the call, once the AI has analysed it. Usually the more useful per-call email, and the one to use for sending call results to a CRM.

  • When it sends: as soon as the call’s AI summary is ready. If the summary isn’t ready after 5 minutes, the report goes out without it — unless the dashboard is still retrying the summary, in which case it waits (up to an hour) and then sends either way.
  • What’s in it: everything in the Post-Call Summary, plus the short and detailed AI summary, what the caller wanted, the sentiment and its score, key topics, the outcome and its details, action items, whether follow-up is needed, the caller’s name, email and phone if they gave them, and every Data Extraction Field set on the agent (the booking date, the order number…).
  • Settings that apply: Agent Filter, Direction Filter, delivery.
  • Fields (in addition to the Post-Call Summary’s): summary, detailed_summary, caller_intent, sentiment, sentiment_score, key_topics, outcome, outcome_details, action_items, follow_up_needed, extracted_name, extracted_email, extracted_phone, extracted_data (all the Data Extraction Fields as one JSON object — the one to use for a webhook).

Scheduled Summary

The digest — call volumes, durations and cost totals for the period. Best for managers who want the shape of the day, not every call.

  • When it sends: daily, or weekly on the chosen day, at the chosen time (UTC). A daily report covers the 24 hours before it sends; a weekly one the 7 days before. It never sends for a time slot from before the report was created. If a send fails it tries again every 5 minutes, up to 3 times, then waits for the next slot.
  • What’s in it: the period and dates, total calls and minutes, the average call length, inbound and outbound counts, completed and missed calls, the total cost and the average cost per call, the five busiest agents, and the busiest hour (UTC). Test calls are left out.
  • Settings that apply: the schedule, the Agent Filter and delivery. With Specific Agents, every figure — the call counts, minutes, cost, busiest agents and busiest hour — covers only the calls and chats of the agents you ticked.
  • Fields: period, date_range, total_calls, total_minutes, avg_duration, inbound_count, outbound_count, completed_count, missed_count, total_cost, avg_cost_per_call, top_agents, busiest_hour, dashboard_link.

Widget Abuse — Daily Limit Reached

A warning that a chatbot’s website widget has reached its daily session limit and has paused for the rest of the day — normal busy traffic, or someone trying to run up your AI costs.

  • When it sends: the moment a chatbot reaches its Max sessions per day (the chatbot editor’s Daily Limit (Abuse Protection) setting). Once per chatbot per day (UTC).
  • What’s in it: the chatbot, the limit it reached, when, and a link to the chatbot’s settings so you can raise the limit.
  • Settings that apply: Agent Filter (tick chatbots), delivery. The matching email template is System-Widget Abuse Alert — pick it yourself.
  • Fields: agent_name, agent_id, cap, hit_at, dashboard_link.

Walkthrough: a daily management digest in two minutes

  • Step 2: Reports → New Report → name it “Daily summary”, Trigger Type Scheduled Summary.
  • Step 3: Frequency Daily, pick a Time (remember it’s UTC — e.g. 21:00 UTC for a 7am AEST inbox).
  • Step 4: Delivery Email, add the recipients, save, check its Status shows it as active.
  • Step 5: next morning, confirm it arrived; if not, the Recent Executions log’s Error column tells you why.

Walkthrough: feed call results into another system (webhook)

  • Step 1: in your other system (CRM, n8n, Make, Zapier, a spreadsheet automation), create an incoming-webhook and copy its URL.
  • Step 2: New Report → Trigger AI Conversation Analysis (so the payload includes the summary and extracted data), pick the agents it covers.
  • Step 3: Delivery Webhook → paste the URL, set the authentication your endpoint expects (None / Basic / Bearer / API Key Header), and tick which fields to include in the payload — fewer fields = simpler to handle on the other side.
  • Step 4: save, make a test call to the agent, and watch the Recent Executions log — a green sent status means your other system received the data; a failed one shows the exact error the endpoint returned.

n8n Failsafe Wizard

The most expensive call is the one that nearly worked: the caller was halfway through booking, the line dropped, and the enquiry vanished. The n8n Failsafe Wizard button (top of the Reports page) builds a safety net for those lost leads.

The Failsafe Wizard — pick how a lost call is detected, choose the agents to watch, and say who gets alerted.
The Failsafe Wizard — pick how a lost call is detected, choose the agents to watch, and say who gets alerted.

When a caller hangs up before their booking or enquiry is completed — the line drops, they give up mid-way, the tool never runs — an n8n workflow emails your team the caller’s details so someone can ring them back. If the booking or cancellation tool did run successfully, or the caller was transferred to a person, nothing is sent. The wizard creates both sides in one pass: a post-call report with webhook delivery already configured (address, security key, field list), and a matching n8n workflow file you download and import — guaranteed to fit together.

  • Failsafe (tool check): rule-based. You tick which of your tools mean “the call was handled” (your booking / cancellation / enquiry tools). An alert goes out only when none of them completed successfully — a tool that ran but failed still alerts, because that lead is still lost. Optionally, AI reads the transcript and puts the caller’s name, spoken phone number and request into the email.
  • Failsafe (AI classify): an AI reads each missed call and decides whether the request was completed before emailing. When in doubt it emails — better a duplicate alert than a lost lead. Needs an AI (OpenRouter) credential in n8n.
  • Enquiry keywords: optional comma-separated words (booking, quote, hire …). If set, only calls mentioning one of them alert — keeps wrong numbers out of your inbox.
  • Handoffs: by default a hand-over to another AI agent does NOT count as handled — the second agent still has to complete the booking, so the alert still fires if it doesn’t. A checkbox flips this if you prefer. Transfers to a human always count as handled.
  • Withheld numbers: a caller with a hidden caller ID who says their number out loud is still alerted on — the AI pulls the spoken number from the transcript.
What happens automatically: the report is enabled the moment you click Create, so until you import and activate the workflow in n8n, Recent Executions shows failed rows — that’s expected, not broken. Once active, alerts arrive about 1–2 minutes after a call ends (the dashboard checks for finished calls every 30 seconds). Use the Send test event button on the wizard’s finish page, then look at n8n → Executions.
Changing things later: alert recipients live in the workflow’s Config node — edit them directly in n8n. To rotate the security key, edit the report’s API Key value, save, then re-download the file (the button on the report’s row) and re-import it in n8n. To change the wizard’s other settings (tools, keywords, thresholds), re-run the wizard — then delete the old report here and deactivate the old workflow in n8n, or you’ll get two alert emails per missed call. Renaming the report renames the workflow in the next downloaded file. Leave the report’s webhook field list as the wizard set it — the workflow reads exactly those fields.
Privacy: with AI extraction on, the call transcript is sent to OpenRouter through your own n8n credential. The downloaded file contains only the values you typed into the wizard plus the report’s security key — treat the file itself as confidential.
🔔Set one up in your first week. Point it at your main agent and send the alerts to yourself. It tells you more about where your agent is losing callers than almost anything else in the dashboard.
ℹYour n8n address: for the Failsafe Wizard it must start with https:// and be reachable from the internet — not an address on your own network. An n8n cloud account works straight away; a self-hosted one needs a real domain name with a certificate.

Billing Overview

Your balance, this month’s usage, and recent activity.

Tronic Cloud is pre-paid. You hold a credit balance, and calls draw it down as they happen — so there’s no end-of-month invoice to be surprised by, but there is a balance to keep an eye on.

Billing Overview showing available credit, a low credit warning, usage this month and recent activity
Your credit balance sits at the top, with the Top Up Account button beside it.
⚠What happens if you run out. When your credit runs too low, incoming calls are refused — callers won’t reach your agent. The amber Low credit warning on this page names the exact cut-off amount that applies to your account, and we email you a warning before you reach it. Nothing is deleted and no data is lost; topping up restores service straight away.

The page also shows Usage This Month (calls placed, total minutes and spend) and Recent Activity — the last handful of charges, so you can see at a glance what’s been drawing your balance down.

Call Charges

An itemised cost for each call.

Call Charges page listing calls with their individual costs
What each call cost. Click any row for the full breakdown.

How a call is priced

Each call is made up of several separately-metered pieces:

  • Speech recognition — turning what the caller says into text, charged by the minute.
  • The AI model — the thinking, charged by the amount of text processed.
  • The voice — turning the agent’s words into speech, charged by the amount spoken.
  • Telephone minutes — the call itself.

They’re added together into the figure you see. Short, efficient calls cost very little; the surest way to reduce your spend is an agent that gets to the point.

Transactions

Your money-in, money-out history.

Transactions page showing the ledger of payments and charges
Every top-up, credit and charge, newest first.

You’ll see top-ups (card payments you’ve made), credits (amounts we’ve added, including your $10 starting credit) and charges (usage drawn down). This is the page to reconcile against your card statement.

Need a tax invoice or receipt for your accountant? Email support@tronic.com.au with the date and amount and we’ll issue it.

Spend Analytics

Where your money actually goes.

Spend Analytics page showing spend totals with breakdowns by agent and model
Totals for the period, split by agent and by AI model.

Set the date range, then read the two breakdowns. By agent tells you which agent is costing you money — useful if one is unexpectedly expensive. By model shows which AI services are driving it, which is what to look at if you’re considering switching an agent to a cheaper model.

Top Up Balance

Add credit securely by card.

$ Add credit

Open Billing › Top Ups, enter an amount, and pay by card through our secure checkout. Payments are handled by Stripe — Tronic Cloud never sees or stores your card number. Your balance updates automatically once the payment clears, usually within seconds.

Top Up page with the amount field and secure checkout button
Enter an amount and pay by card. Your balance updates automatically.

Your bank may ask you to confirm the payment in its app or by SMS — that’s standard card security, not something we control. If a payment is declined, nothing is charged and your balance is unchanged; try again or use a different card.

💳Top up before you need to. Because calls stop being answered once your credit runs too low, it’s worth keeping a comfortable buffer rather than topping up at the last minute — especially over a weekend.

Account Settings

Your company details and contact information.

Account page showing account details and contact information
Your account details. The Account name is what appears in the dashboard header.

Account details (read-only) shows your login email, your assigned phone number, your account status and when you signed up.

Contact is editable:

  • Account name — what shows in the dashboard header.
  • Legal full name — as it appears on official documents, used for invoicing.
  • Day-to-day contact name — who we’ll call or email about account matters.
  • Phone — your contact number (not your agent’s number).

Click Save changes when you’re done.

👤Logins for colleagues. Additional logins for your team can be set up for you — contact support with the names and email addresses and we’ll arrange it.

Troubleshooting & FAQ

The questions that come up most, and what to check first.

My phone isn’t being answered — the four checks

Work down this list in order. One of these four is the answer almost every time, and you can do all of them in about two minutes.

  1. Is the agent running? Open Voice Agents. The agent must show RUNNING. If it says stopped, press the green Start button — that’s the whole fix.
  2. Does the dispatch rule point at that agent? Open Dispatch Rules and click the pencil. If the rule names a different agent — or one you’ve since deleted — calls go nowhere. Pick the right one and save.
  3. Is your credit above the cut-off? Open Billing. Below the cut-off shown there, incoming calls are refused before they reach your agent. A top-up restores service within seconds.
  4. Are you ringing the right number? Confirm it on Phone Numbers. It’s also in your welcome email.

If all four are fine, the call should be in Call History. If it isn’t there at all, the call never reached us — email support with the time you rang and the number you rang from, and we’ll trace it.

My campaign stopped on its own halfway through.

Almost always one of two things, and they behave differently.

Operating hours. If you ticked Restrict calls to specific hours, the campaign pauses itself at the end of the window and the badge reads Paused. Nothing is wrong. It starts again on its own at the next opening and carries on down the list — you don’t need to touch it.

Money. If your balance has run low it stops making calls, but what happens to the untried numbers depends on how low. If the account has been suspended, the remaining numbers simply wait, and the campaign carries on by itself once you top up. If there is still some credit but not enough to start a call safely, the numbers it tries get marked failed instead — so after you top up, use Retry Failed to go back over them.

My calls have no recording.

Recording is off unless you turn it on. Telephony → Dispatch Rules → edit your rule → tick Auto-Record Calls. It applies to calls from that point on — earlier calls can’t be recovered.

The agent is slow to respond — there’s a long pause before it speaks.

Check the Latency tab on the Overview page and the metrics on an individual call. Common causes: a “thinking” AI model chosen on the Behavior tab instead of a fast one, or a very long system prompt. Shortening the prompt often helps more than people expect.

The agent keeps mishearing names, products or suburbs.

Two fixes, best used together: set the correct language on the Speech Recognition tab, and list the troublesome words in the System Prompt so the agent knows to expect them.

My calls cut off after a set time.

Check Resource Limits on the agent’s Advanced tab — there may be a maximum call length set. Raise it if your calls legitimately run longer.

Who ended the call — the caller or the agent?

Open the call in Call History. The detail page records how the call ended.

How do I make the agent transfer callers to a real person?

Tools → assign the transfer tool to your agent, then tell the agent in its System Prompt when to use it: “If the caller asks for a human, or is upset, transfer the call.”

The chat widget doesn’t appear on my website.

Check the Domains tab of the chatbot editor first — your site’s address must be allowed. Then confirm the embed snippet actually saved on your site and that you’re looking at the live page rather than a cached copy.

How much are my calls costing me?

Billing → Call Charges for individual calls, or Spend Analytics for the pattern over time. Every call also shows its own cost on its detail page.

Why was I charged for a browser test?

Because a test uses the same AI services as a real call. The amounts are tiny, and test sessions are marked as tests in your Call History.

Do I need a phone number to try an agent?

No — use the Agent Tester to talk to an agent entirely in your browser.

What happens if the AI provider I’m using has an outage?

Set fallback models on the agent’s Behavior tab and calls will automatically continue on a backup provider instead of failing.

What happens if I delete something?

Deleting an agent, a collection or a rule is permanent and there’s no undo. Call history is unaffected by deleting an agent. If you’re unsure, stop the agent instead of deleting it — a stopped agent costs nothing.

Why does it say “Sub-User” next to my name?

It’s just a label on the account menu — it doesn’t limit anything you do. Every login on a Tronic Cloud account carries it, including the main one. Ignore it.

Can my website chatbot talk out loud?

Yes. On the chatbot’s Voice tab, change Chat Mode. The friendliest option for a website is Voice with avatar — visitors still type, but the answers are spoken, and the browser never asks for microphone permission. See Letting your chatbot talk.

How do I get a real person to take over a website chat?

Turn on Human Handoff on the chatbot’s own tab, and point it at a web address your team watches — usually an n8n workflow that posts into Slack, Teams or your help desk. Your team member replies from there and the visitor sees it in the chat. See Handing a chat to a real person.

How do I get the agent to book appointments?

Tools → Webhooks → n8n Wizard, and pick Calendar booking (Cal.com) or GoHighLevel appointments & sales. The wizard builds both the tool and the matching workflow so they fit together. See The n8n Wizard.

It won’t accept my n8n web address.

Two rules. It must start with https://, and it must be an address reachable from the internet — not one on your own network like http://192.168.1.50:5678 or localhost. An n8n cloud account works straight away; a self-hosted one needs a real domain name with a certificate.

Where do I put the number the agent transfers callers to?

Tools → Agent Tool Assignments → Configure next to the agent → switch on the transfer tool, and the destination fields appear underneath it. Each agent can transfer somewhere different.

I set up a handoff between agents and nothing happens.

Check the AI model. Handoffs aren’t supported on every model — the editor shows an orange warning above the handoff switch when the one you’ve chosen can’t do them, and in that case your handoffs are silently ignored on calls. Switch to a model the warning names.

My agent shows a red “Config Error” badge.

That badge means one of the AI services your agent uses isn’t responding to us. It isn’t something you can fix from your side — those connections are ours. If the agent is also failing to answer calls, email support and quote the agent name.

I can’t see a page this guide mentions.

Some features are enabled per account. If something in this guide isn’t in your menu, it isn’t switched on for you — contact support and ask.

How long is my data kept?

Indefinitely. Your call records, transcripts, summaries and recordings are not deleted on a timer — a call from two years ago is still in Call History, and its recording still plays. The same goes for your website chat conversations.

That means you don’t have to race a deadline to save anything. It also means the record stays there until somebody removes it, so:

  • You can delete things yourself — individual recordings from the Recording / Egress page, and calls from Call History. Deleting is permanent.
  • Keep your own copies of anything critical anyway. Use the download button on a recording, and Export on Call History for transcripts. Your own archive is the one you control.
  • Tell callers what you do with recordings. If you record calls, your privacy policy should say so and say you keep them. Obligations vary by industry and state, so check what applies to your business.
📧Want your data removed? Email support@tronic.com.au and tell us what to delete — a date range, an agent, or the whole account. We’ll confirm before anything goes.

Glossary

Plain-English translations of the terms in the dashboard.

  • Agent — the AI that answers your calls or chats.
  • System prompt — the standing instructions that tell the agent who it is and how to behave.
  • Greeting — the first thing the agent says when it answers.
  • Dispatch rule — the setting that says “calls to this number are answered by that agent”.
  • SIP trunk — the connection between the phone network and your agents. Yours is set up for you.
  • Knowledge base — documents you upload so the agent can answer from your own information.
  • Tool — something the agent can do as well as say: transfer a call, hang up, or send details to another system.
  • Webhook — a tool that sends information to another system over the internet.
  • Campaign — a list of phone numbers your agent rings, instead of waiting to be rung. See Campaigns.
  • Egress — the dashboard’s word for call recording.
  • LLM — “large language model”: the AI that does the thinking.
  • Speech recognition (STT) — turning the caller’s speech into text.
  • Text to speech (TTS) — turning the agent’s words into a voice.
  • Latency — the delay before the agent replies. Lower is better.
  • Credit / balance — your pre-paid funds. Calls draw this down.
  • Inbound / outbound — a call to you, or a call from you.
  • Handoff — passing a conversation from one agent to another. A transfer is one the caller is told about; a transition is one they don’t notice.
  • Human handoff — on a website chat, passing the conversation from the chatbot to one of your team.
  • n8n — an automation tool that connects your agent to other software (your CRM, calendar, spreadsheets). The wizards in the dashboard build ready-made n8n workflows for you.
  • Data extraction field — a detail you’ve asked the agent to pull out of every call, such as a callback number, shown on the call record.
  • Health score — a 0–100 rating of how technically smooth a call was. It measures responsiveness, not whether the agent gave good answers.
  • TTFB — “time to first byte”. How quickly the agent started replying. A rough speed indicator on each call.

Getting help

When something isn’t right, here’s how to get it sorted quickly.

Start with Troubleshooting & FAQ above — it covers the great majority of questions. If that doesn’t resolve it, email support@tronic.com.au — or simply reply to any email we’ve sent you about your account.

What to include when reporting a problem

Including these turns a day of back-and-forth into a single reply:

  • The Call ID from Call History, if it’s about a specific call — this is the single most useful thing you can give us.
  • The date and time it happened, and the number that was rung.
  • Which agent was involved.
  • What you expected to happen, and what happened instead.
🔔Urgent: calls not being answered? Check your credit balance first (Billing → Overview). Calls stop once credit falls below the cut-off shown there, and a top-up restores service immediately — faster than waiting for a reply from us.