Overview
An AI Agent combines natural-language understanding, voice synthesis, and workflow automation. To configure one, go to Build → AI Agents and open the agent. Its page is a grid of cards in three sections: Agent, Modality and Actions & Integrations. Select a card to open its panel or full-screen view.
Some cards show a count at a glance: linked sources on Knowledge Base, transformers on Data Transformers, and actions on each of the three Actions cards.
Edits on these cards save automatically, and when callers, chats and emails get them depends on whether the agent has been published (a few settings, such as noise cancellation, apply at once). See Publishing Your Agent.
Handoff is greyed out while transfer is switched off — see Toggle Transfer.
Creating and Managing Agents
Build → AI Agents lists your agents as rows, with the most recently updated first. Each row shows the agent’s name, its description if it has one, and when it was last updated (Updated, with the Created date beneath it when the page is wide enough). Use Search by name or description to find an agent, and the page controls under the list (10, 20 or 50 agents per page) to move through a long list. Select a row, or the agent’s name, to open the agent. Each row also carries two chips, one for phone numbers and one for mailboxes. The numbers chip names up to two of the agent’s numbers, the most recently assigned first, and the mailbox chip names one mailbox. Either adds +N more for the rest. Where there isn’t room for the names, such as beside the docked Co-pilot, a chip shows fewer of them or only a count, for example 6 numbers or 3 mailboxes. An agent with no phone numbers shows No numbers, and one with no mailboxes shows No mailboxes. Point at a chip to see every number or mailbox it stands for. See Phone Numbers on an Agent. Both chips are buttons. Select a numbers chip to open Manage Phone Numbers for that agent on its Unassign tab, or on Available when the chip reads No numbers. Select a mailbox chip, including No mailboxes, to open the agent’s Email Configuration panel without leaving the list. A change you make there is the same change as on the agent’s own page. Each row also shows a status badge that says whether the agent has been published: Published, Unpublished edits or Not published. It sits under a Status heading when the page is wide enough, and beside the chips when it isn’t. The badge isn’t shown when the Studio is embedded in another site. Point at a badge to see what it means:
See Publishing Your Agent.
Edit and Delete are buttons on the row, beside a More actions menu (see The Agent Card Menu). When you have no agents, the page reads No Agents found and offers Create Agent. When a search matches none, it reads No agents match your search and offers Clear search.
Create an Agent
1
Start the wizard
Select Create Agent at the top of Build → AI Agents.
2
Choose a template
Enter the Assistant name, then start from the Blank template or pick one of the templates shown.
3
Voice & Greeting
Write the greeting callers hear and choose the agent’s voice.
4
Knowledge
Connect an existing Knowledge Group or create a new one. You can finish without one and link a Knowledge Group later.
5
Finish
Select Finish & Test My Agent. Studio confirms that your agent is ready, opens it and starts a test call from your browser.
An agent created in the wizard starts with the closing message “Thank you so much for calling. Have a great day!” and the chat closing message “Thank you for chatting with us. Have a great day!” Its chat greeting is the greeting you wrote in the Voice & Greeting step, and its timezone is your browser’s. The starting values of the other settings are listed under Agent Settings.
The Agent Card Menu
Each agent’s row has an Edit button and a Delete button, and beside them a More actions (⋯) menu. Edit opens the agent, the same as selecting the row, and Delete starts the deletion described below. The menu offers:- Duplicate and Export – see Duplicate and Export below.
- Assign phone number / Assign another number, and Unassign phone number / Unassign phone numbers (N) – see Phone Numbers on an Agent. The unassign item appears only when the agent has numbers.
Delete an Agent
Select Delete on the agent’s row, or in its More actions menu when the list is narrow. Studio asks you to confirm — the dialog is titled Delete Assistant and warns that the action cannot be undone — and then deletes the agent. Two checks can come first:- Phone Numbers In Use – an agent that still has phone numbers assigned cannot be deleted. The dialog lists the numbers; unassign them first. See Phone Numbers.
- Open Email Sessions – if the agent still has open email conversations, the dialog says how many and that they must be completed before the agent is deleted. Resolve & Delete ends those conversations, marks them complete and then deletes the agent. Select Cancel to keep the agent as it is.
The Agent Header
The header at the top of an agent’s page shows:- The agent’s name. Select the pencil icon beside it to rename the agent, type the new name, then press Enter or select the check mark to save. Escape, or the cross icon, discards the change. Studio confirms a rename with Assistant name updated. On a published agent, live conversations keep the published name until your next Publish.
- Copy ID – copies the agent’s ID to your clipboard and confirms with Assistant ID copied. Use it when a setup step asks for the agent ID, such as the SIP header in SIP Integration.
- Assigned number / Assigned numbers – the phone numbers answering for this agent. See Phone Numbers on an Agent.
- Assigned Mailboxes – shown when the agent has Freshdesk mailboxes ticked: the first two, then +N for the rest, with the full list on hover. To change them without opening the agent, select the mailbox chip on its row in Build → AI Agents (see Creating and Managing Agents). See Email Agents.
- Versions – opens Version History, where you see, compare and manage the versions that each Publish saves. It is shown even when there is nothing to publish, and it also appears on Knowledge Base and Data Transformers when you open them from an agent. In a narrow window it shows as an icon.
- Publish – beside Talk and Chat, and shown only while there is something to publish. It reads Ready to publish on an agent that has never been published and Unpublished edits on a published agent whose edits aren’t live yet, and it goes away once everything is published. In a narrow window it gives up its words for a dot and a rocket icon. See Publishing Your Agent.
- Talk and Chat – test the agent. See Testing Your Agent.
Agent names. A name can be up to 100 characters. It can’t contain any of
< > { } [ ] \ ^ ~ |, HTML tags, or the whole words SELECT, INSERT, UPDATE, DELETE, DROP, UNION, ALTER or EXEC in any capitalization, so a name such as “Update Desk” is refused. Two active agents in the same account can’t share a name; renaming an agent to a name another agent already has is refused. Studio shows only Unable to rename assistant when a rename is refused, so check these rules first. When you create an agent with a name that is already taken, Studio adds a number to it instead.The pencil icon is on the agent’s own page. It isn’t offered inside a full-screen view such as Guidelines.Greeting, Voice & Guidelines
Need to reshape variable values before you drop them into a prompt? Create a Data Transformer, then apply it from the variable popper when you type
{{ in a text field such as Guidelines, or use it in a Set Variable or Decision step. See Apply a transformer to variables.Choosing a Voice
The Voice Configuration card opens a panel with two steps, Selected Voice and Tone + energy. Switch between them with the tabs at the top of the panel.Step 1: Selected Voice
Selected Voice shows the voice the agent uses now. Under Choose a voice, scroll the catalogue to pick another one:- Search voices – type part of a voice name.
- Accent, Gender and Provider – narrow the list. Each filter has a clear (×) button.
- Your search and filters clear when you close the panel or move to Tone + energy, so Selected Voice starts from the full list each time you come back to it.
- Recommended Voices for Multi Lingual – a block of suggested voices at the top of the list. It appears only while the agent is Multilingual with at least one additional language. See Languages & localization.
- Each row shows the voice’s name with its language, gender, accent and provider. A ⚡ beside the name marks a Flash voice, one that is optimized for speed.
- Google’s Chirp 3 HD voices are in the list too, in US English only. Each is listed by its name alone, such as Charon, with Google as its provider and a ⚡ beside the name. Provider has no Google option, so to find one, scroll the list or type its name in Search voices.
- Select the play button on a row to hear that voice. The preview reads the agent’s own Greeting message, so you hear how your real greeting sounds. While the greeting is empty, it plays a short sample line instead, in Arabic for Arabic voices.
Step 2: Tone + energy
Tone + energy tunes how the voice sounds. Each control moves in steps of 0.05, and a new agent starts with all three at 1.
The sliders save on their own a moment after you move them, and Studio confirms with Voice settings updated.
Not every voice provider supports every control. For some voices, a slider that would have no effect is hidden, and the step’s description changes to match, for example “Tweak stability and pace.” See Voice tuning for Arabic voices for an example. A Google voice shows all three sliders, but only Speed changes how it sounds; Stability and Similarity have no effect on it.
Writing Guidelines
The Guidelines card opens a full-screen editor with the placeholder Add guidelines here…. Your guidelines save automatically after you pause typing — see Autosave & Draft Safety. For what to write in them, see the Prompting Guide. An API key can also read and replace an agent’s guidelines, and publish the agent (see Replace guidelines and Publish an agent). A change made that way is a draft edit like any other: see What Waits for Publish.- Slash menu. Type
/to open a menu of blocks and formatting: Heading 1, Heading 2, Heading 3, Paragraph, Inline Code, Underline, Highlight, Bullet List, Numbered List, Blockquote, Code Block, Divider and Table. Use Search options to narrow the list. Table inserts a 3 × 3 table with a header row. - Variables. Type
{{to insert a variable. See Built-in variables for what the picker offers. - Selection toolbar. Select some text to show a toolbar with a block-type menu (Paragraph, Heading 1 to Heading 3, Bullet List, Numbered List, Blockquote, Code Block) and buttons for Bold, Italic, Underline, Strikethrough, Inline Code, Link and Highlight. Link opens a box where you paste a URL, with Apply link, Open in new tab and Remove link buttons.
- Drag handle. Hover over a block to show its handle. Drag the handle to move the block, or select it to choose Turn into (another block type) or Delete.
- Table tools. With the cursor inside a table, a small toolbar lets you add a column before or after, delete a column, add a row above or below, delete a row, or delete the whole table.
- Pasting Markdown. Markdown you paste is converted into formatted blocks.
Draft with the Guidelines Assistant
Select the wand button at the top right of the editor (its tooltip reads Generate Guidelines) to open the Guidelines Assistant pane beside the editor. Chat with it about what the agent should do, and it proposes edits to your guidelines. Proposed edits don’t change your guidelines straight away. Studio shows them in a Preview Changes overlay, with additions highlighted and deletions crossed out. Select Accept to apply them, or Reject to discard them. Hide Changes and Show Changes turn the overlay off and on while you compare. Close Chat closes the pane. While the pane is open, the wand button and Import Template are hidden.Import a template
Import Template opens a Templates drawer. Use Search templates or tags to find one, select it to preview it, then select Import. Import replaces everything in the editor with the template, and because Guidelines autosave, copy anything you want to keep first. If no templates are published yet, Go to Library takes you to Templates.Arabic Agents and Voices
Arabic is a fully supported agent language. In the voice catalogue set Provider to Munsit (Arabic) to see a large library of Arabic voices, each listed with its language, gender and dialect — Modern Standard Arabic (Fusha), Najdi, Hijazi, Emirati, Kuwaiti, Qatari, Bahraini or Omani. There is no plan gate and no beta flag. Arabic (AR) is also accepted as an agent’s Primary Language. On a call, an Arabic agent starts speaking as soon as its opening sentence is ready and long enough, rather than waiting for the whole reply to be written. Arabic question marks (؟) and semicolons (؛) are recognised as sentence endings; the Arabic comma (،) is not, because it separates clauses rather than sentences.The Arabic Language Lock
These voices speak only Arabic, so selecting one converts the agent in a single step: single-language mode, Arabic as the primary language, and every other configured language dropped. Studio confirms with “Language switched to Arabic” and “Munsit voices only support Arabic. Translated messages will be ready in a few minutes.” The Languages section of Agent Settings → Languages & localization (see Languages & localization) then shows itself pinned — the Multilingual / Monolingual switch is greyed out and inert, and the section explains “Locked to Arabic — the selected Munsit voice only supports Arabic. Choose a different voice to change the language.” The rule is enforced on the server, not just in the screen, so Squawk Copilot, an agent import and a direct API update all end up with a speakable configuration. An imported bundle that pairs an Arabic voice with another language is quietly corrected rather than rejected.The translations finish in the background, and the agent’s page isn’t refreshed when they do. Greeting & Sign-off (the closing message), Handoff (the transfer message) and Agent Settings (the silence and max-duration messages) won’t show them until you switch agents or reload.
Arabic Accent
While an Arabic voice is selected, the Languages section of Languages & localization gains an Accent picker, described as “Sets the regional variety the agent listens for and speaks in.” One choice tunes both halves of the conversation, so transcription and pronunciation can never disagree. Eighteen options are offered: Arabic — any region, Modern Standard Arabic (Fusha), Emirati (ar-AE), Saudi (ar-SA), Qatari (ar-QA), Kuwaiti (ar-KW), Egyptian (ar-EG), Jordanian (ar-JO), Lebanese (ar-LB), Syrian (ar-SY), Palestinian (ar-PS), Iraqi (ar-IQ), Moroccan (ar-MA), Algerian (ar-DZ), Tunisian (ar-TN), Sudanese (ar-SD), Chadian (ar-TD) and Iranian Arabic (ar-IR).- Picking a regional option pins the transcription engine to that variety — noticeably fewer misheard words with strongly regional callers.
- Arabic — any region and Fusha transcribe exactly as Arabic always did, so choosing either changes nothing about recognition.
- On the speaking side the provider accepts a narrower set of hints, so Emirati and Fusha change delivery directly while the other regional choices take effect through better recognition.
Arabic — any region is also the fallback when a voice’s dialect has no match. You can change the accent at any time.
The picker exists only while an Arabic voice is selected — an Arabic agent on another provider’s voice has no Accent control. The setting is cleared if the agent later leaves Arabic, so it cannot sit as stale configuration on an English agent.
Voice tuning for Arabic voices
Arabic voices respond to Stability and Speed but have no similarity concept, so the Similarity slider is hidden on the Tone + energy step of Voice Configuration and its description reads “Tweak stability and pace.” rather than “Tweak stability, similarity, and pace.” A stored similarity value is left in place and applies again if you move the agent back to a voice that supports it. If the Arabic provider is momentarily at capacity mid-call, the platform retries briefly and then skips just that one reply, keeping the caller on the line — the next turn gets a fresh attempt. If the provider keeps failing, the call ends instead of leaving the caller in silence: after two failed replies in a row, or after five capacity errors in a row. Failures that can never produce audio end the call immediately. In every case the call carries the bot_error disposition, so it is identifiable in Call History.Knowledge Base
Link zero or at most 2 Knowledge Groups that the agent can search during a call to answer user’s queries. The AI automatically retrieves relevant passages at runtime, enabling precise, up-to-date responses without hard-coding content in prompts. Open the agent’s Knowledge Base card to see your Knowledge Groups. Select Link on a group to attach it to the agent; a linked group shows a Linked badge and an Unlink button. To create and fill a group, see Knowledge Base Management. For the Link and Unlink details, see Linking a Knowledge Group to an Agent. On a published agent, linking or unlinking a group, and any change to a linked group’s content, reaches callers at your next Publish. See Knowledge Groups and Published Agents.Actions
Actions let the agent talk to your backend systems via HTTPS. Open them from the Actions & Integrations section of the agent’s page. They come in three flavours:The three phases are now named Pre-conversation Actions, In-conversation Actions and Post-conversation Actions, because actions run on chat and email as well as on calls. This is a rename only — the phases, and every action inside them, behave exactly as before, and nothing needs reconfiguring.
Pre-conversation Actions
- Runs before the agent speaks.
- Common use-case: FetchContact – pull CRM details using an API Request node and store them in variables like
{{firstName}},{{accountStatus}}. - Variables created here are available to personalize the Greeting message and Guidelines.
- Variables values are available throughout the lifetime of the interaction and can be utilized in In-conversation or Post-conversation Actions.
Pre-conversation actions are configured as visual flows. You can configure multiple Pre-conversation Actions which will be executed sequentially in the order they were created. This allows you to chain API calls and build up context before the conversation starts.
In-conversation Actions
- Triggered on demand when the caller asks for something (e.g. “CheckOrderStatus”).
- Each execution is logged in the live transcript and action logs, giving you full visibility into what happened during the conversation.
- Provide comprehensive documentation for each action, including specific trigger conditions and use cases. Detailed context helps the AI model accurately determine when and how to execute the action.
- Define parameters to specify the data requirements for action execution. Each parameter can be configured with:
- Parameter Name
- Description (use this to provide format requirements and context to help the AI collect data correctly)
- Type (String, Number or Enum – with Enum, list the allowed values under Enum Items using Add Item)
- Required switch (Yes or No) Parameters are optional and you can configure zero or more as needed for the action.
- Once an action has a parameter, Assign Parameter Values to Variables lists each one. Pick or create a variable to hold what the AI collects, and optionally enter a default value to use when the AI doesn’t supply one.
- You can define filler messages that the agent speaks while waiting for the API response using the Say node in the flow builder
- External API calls can be executed through the flow’s API Request Node
Post-conversation Actions
Executed when the conversation ends—whether the caller hangs up, self-serves successfully, or escalates to a human. These are configured as flows that run asynchronously. Typical tasks include:- Generating a conversation summary and disposition
- Saving the transcript to your CRM or data warehouse
- Kicking off downstream workflows (e.g. ticket creation using flow nodes)
Agent Settings
Open the Agent Settings card to set how the agent handles languages, time, transcription, call length, transfers, silence and noise cancellation. The panel lists one setting per row, each with a short description. Select a row to open it, and select Back to settings to return to the list. Your browser’s Back button takes the same step: from an open setting it returns to the list, and pressing it again leaves the panel. There is no save button. Changes save on their own a moment after you stop editing, and Studio confirms with Settings updated (or Max duration message saved for the Max Duration Message). See Autosave & Draft Safety. On a published agent, these settings reach callers at your next Publish, except noise cancellation, which applies at once.Languages & localization
The Languages & localization card has a Languages section and the Summary language setting, described next under Summary Language. In Languages, choose a mode with the Multilingual | Monolingual switch:- Multilingual – English stays the primary language. Use Add another language to add any of Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian and Dutch; they appear under Additional Languages, and the × beside one removes it. With none added, the panel reads English is currently the only language enabled.
- Monolingual – the agent works in a single language, chosen under Primary Language, and English responses are turned off. English isn’t in the Primary Language list, so for an English-only agent use Multilingual with no additional languages.
- When you add a language, Studio translates the agent’s existing messages into it in the background and shows New languages added! Please check back in a few minutes for translated messages to be available.
- Beside each language’s box is a wand button whose tooltip reads Translate to followed by the language. It translates the English message again on demand, and needs an English message to translate from.
Summary Language
Choose the language AI-generated call and chat summaries are written in. The setting sits in the Languages & localization card as Summary language, so you configure it alongside the languages the agent speaks.- Pick any of the agent’s configured languages, or Auto (detect from conversation) to match the language the caller actually used. Defaults to English.
- The whole summary is written in that language — including the Additional Concerns section.
- The four section headings (Issue, Resolution, Next Steps, Additional Concerns) are written in that language too, in the same order and bold layout. In English they read as shown here. In another language each heading is translated — in Spanish, for example, Problema:, Resolución:, Próximos pasos: and Comentarios adicionales: — and the wording of a translated heading can vary slightly from one summary to the next.
If you read summaries by their English heading text — for example in a Post-conversation Action or an integration — expect the headings to be localized whenever the summary language isn’t English.
Timezone
The Timezone card sets the timezone the agent uses for scheduling and in its responses. Pick the one your callers or business operate in. Open the list and use Search timezones to find a zone by name. Typing an abbreviation such as PST, EST, CST, MST or UTC puts the matching zones first. Each entry shows its current offset from UTC.{{interaction.CURRENT_DATE}} is the date in this timezone (see Call Lifecycle Hooks). On voice and chat conversations the agent is also told the current time, date and day of the week in this timezone, so it can answer questions such as “what day is it?” correctly. On an outbound campaign call, the time the agent is told uses the contact’s own timezone instead, when it is known.
An agent you create with the Create Agent wizard starts on your browser’s timezone, and one the Co-pilot creates starts on America/New_York.
Transcription Keywords
Open the Transcription keyterms card to add product names, acronyms, or industry-specific terms (e.g. medical jargon) that the transcription engine might otherwise miss. Type a word under Add New Keyword, then select Add or press Enter. Your keywords appear under Enabled Keywords, where Search keywords… filters the list and the × beside a keyword removes it. Keywords help with transcription on phone calls.- You can add up to 100 keywords per agent, and a running Total: n/100 counter shows how many are in use. A keyword that is already on the list (ignoring capital letters) is rejected.
- A call can use about 500 words in total across all of your keywords. If the whole list is longer than that, none of the keywords are applied to the call, so keep each keyword short.
- Keywords aren’t available while the agent is Multilingual with at least one additional language. The card is greyed out and reads Keyword-based transcription isn’t available for multilingual AI agents. They work for Monolingual agents, and for Multilingual agents that have no additional language.
Max Call Duration
The Max Call Duration card sets the longest a voice call can last: any length from 3 to 30 minutes, in 30-second steps. A new agent starts at 30 minutes, the longest setting. When a call reaches the limit, the agent plays the Max Duration Message and the call ends.- Max Duration Message – what the caller hears when the limit is reached. A new agent’s message reads “Exceeded the max call time.” Each additional language has its own version, translated for you when you add the language. It is a plain text box, so write the message exactly as you want it spoken.
- Any Post-conversation Actions still run after the call ends.
Toggle Transfer
The Toggle transfer card has a Transfer switch that lets the agent hand a caller or chat visitor over to a person when they ask for one. Transfer is on unless you turn it off. Email escalation isn’t affected by the switch. While it is off, the Handoff card is greyed out, including its Chat and Email tabs, so you can’t edit any handoff settings until you turn Transfer back on. Hover the card for Transfer is disabled. Open Agent Settings, choose Toggle transfer, and turn it on to configure handoff. The Co-pilot follows the same rule: asked to change Handoff settings while Transfer is off, it asks whether to turn transfer on first.Silence Detection
The Silence detection card (“Retry prompts or escalate when callers go quiet.”) controls what the agent does when the caller goes quiet on a voice call:- Silence Timeout – how long the agent waits before saying something, from 10 to 45 seconds in 5-second steps. A new agent starts at 10 seconds.
- Max Retries – how many times the agent checks in before it hangs up, from 1 to 5. A new agent starts at 3.
- Silence Detection Message – what the agent says to prompt the caller. A new agent’s message reads “Are you still there?” The agent speaks it exactly as you write it, so it is the words themselves, not an instruction to the model. Each additional language has its own version, translated for you when you add the language.
- The timer counts the caller’s silence. It waits while the agent is thinking, speaking or running an action, and any caller speech or keypad press resets it.
- Each time the timeout passes, the agent speaks the Silence Detection Message. With the default Max Retries of 3, the agent checks in after the first, second and third timeouts. After the next timeout it plays the Closing message from Greeting & Sign-off and ends the call.
- If the caller speaks in between, the count of check-ins starts again.
- Call History records a call that ended this way with the disposition Hangup.
Noise Cancellation
Noise cancellation reduces background noise on a voice call so the agent hears the caller more clearly. Open the Toggle noise cancellation card (its row reads “Reduce background noise on voice calls. Billed per minute as an add-on.”) and use the switch under Noise cancellation.- What it costs. It’s a per-minute add-on, charged on top of your voice rate for every call the agent handles. When the card can show your rate, it does. Otherwise it says only that you will be charged per minute.
- Turning it on. The switch opens Turn on noise cancellation?, which repeats the charge. Select Turn on to confirm, or Cancel to leave it off. Turn on waits until the rate has loaded. Turning it off needs no confirmation.
- When it applies. Either change saves on its own and applies from the agent’s next call. It doesn’t wait for a Publish, even on a published agent.
- Balance. A call is refused when the balance can’t cover it.
- What is charged. Only the agent’s own part of a call. The time after a transfer to a person isn’t charged, and neither are Talk test calls.
- Finding it. Press Cmd/Ctrl+K, type “noise” and choose Noise cancellation under the agent’s heading.
- The Co-pilot. Ask the Co-pilot to turn it on and it first shows a card that says it adds a per-minute charge to every call and carries This spends money. Select Yes, go ahead to confirm. Turning it off needs no card.
Greeting & Sign-off and Handoff
Greeting & Sign-off and Handoff, both cards in the Agent section of the agent’s page, are each organized as Voice | Chat | Email tabs, so the wording for each channel sits in one predictable place. The Handoff card is greyed out while Transfer is switched off in Agent Settings. Neither panel has a save button — see Autosave & Draft Safety. For what the Email tabs hold, see Email Agents.Greeting & Sign-off
The Voice and Chat tabs each have a Greeting message and a Closing message. Type{{ in either box to insert a variable. Built-in variables lists what each box offers.
When the agent works in other languages, the Closing message has one more box for each additional language, below the main one. It is labelled Message to Play in (Voice) or Message to Display in (Chat), followed by the language. Select the wand button beside the box (its tooltip reads Translate to and the language) to translate your closing message, or type your own wording. Studio confirms a translation with Message translated to and the language. The Greeting message has no per-language boxes, so write it in the language you want callers to hear first. See Languages & localization.
Handoff
The Voice tab of Handoff has two parts, Outcome options and Transfer settings. The Chat and Email tabs are covered in Chat Escalation and Email Agents. Studio saves your changes as you make them, and confirms with Handoff updated after you change an outcome and Transfer configuration saved after you change a transfer setting. On a published agent, what you save here reaches real calls at your next Publish; Talk uses it at once.Outcome options
Outcome options lets you map how the agent labels calls before it escalates. It is a table of outcomes, each with a name and a description. Two rows are built in and can’t be changed:
To add your own, select Add outcome, type a name (for example, “Escalate to sales”) and a description of when the outcome should be used, then select the check mark. Both are required. To change one of your outcomes, select its name or description in the table, edit it, then press Enter or click away. Escape discards the edit. The × at the end of a row deletes an outcome you added.
A name must be different from every other outcome, ignoring capital letters. That includes the two built-in outcomes and the four that campaigns use: Voicemail, Wrong Number, DNC Request and Callback Requested. Studio refuses a clash with An outcome named ”…” already exists. Choose a different name. It also refuses an empty name or description. The Co-pilot applies the same name rules when you ask it to add or rename an outcome.
The agent reads your descriptions to decide which outcome fits, so write each one as a plain “use this when…” sentence. When the agent transfers a call, it picks the outcome that best describes the reason. On an outbound campaign call it can also pick one of your outcomes when it ends the call. The outcome is recorded with the call and shows as its Disposition in Call History.
Transfer settings
Transfer settings holds what callers hear and where the agent sends them:- Transfer Message – what callers hear while the call is transferred. It is labelled Message to Play in English (Default), with another box for each additional language, labelled Message to Play in and the language. If the caller hasn’t spoken yet when the agent decides to transfer, for example because they have only pressed keys, a Multilingual agent plays the message in English: your Message to Play in English (Default), or a built-in line if that box is empty. Once the caller has spoken, it plays in the language they used. Type
{{to insert a variable. This message can useinteraction.DISPOSITIONandinteraction.TRANSFER_DESTINATIONas well as the usual call variables. See Built-in variables. - Transfer Rule – where the call goes. Choose a Destination Type, Phone Number (the default) or SIP URI, then enter the destination: a fixed value, a variable, or
{{interaction.TRANSFER_DESTINATION}}to let the agent work it out from the conversation. SIP Integration describes every setting, including the Screen Pop and Inline SIP context headers switches that SIP URI destinations offer. If Transfer Rule isn’t on the Voice tab, contact your provider.
Switching Destination Type turns off the options of the type you leave: moving to Phone Number turns off Screen Pop and Inline SIP context headers, and moving to SIP URI turns off Enable Handoff Transcript and Enable Handoff Recording. Turn them on again if you switch back.
On a transferred call, the call details in Call History can show a Handoff Summary next to the AI Summary. It describes what happened after the transfer.
Phone Numbers on an Agent
An agent’s header carries an Assigned number chip — Assigned numbers when it holds more than one, listed most recently assigned first, showing the first two with +N for the rest and the full list on hover. An agent with no live assignment shows no chip. Numbers can be attached and detached from the agent itself, from Build → AI Agents, in one Manage Phone Numbers drawer. It shows the agent’s name under its title and has two tabs: Available, the numbers no agent holds, to assign, and Unassign, the agent’s own numbers. The No numbers chip on an agent’s row opens Available, and so does Assign phone number (Assign another number once the agent holds some) in the row’s More actions menu. A chip that names the agent’s numbers opens Unassign, and so does Unassign phone number (or Unassign phone numbers (N) for several) in the same menu; an agent with no numbers has no unassign item. Each tab has a Search by number box, and you can tick several numbers and assign or unassign them together. A number another agent holds isn’t offered, so to move one, Reassign it on Manage → Phone Numbers. Assigning or unassigning a number applies at once, without a Publish. See Phone Numbers. The numbers assigned to an agent are also the caller IDs its outbound voice campaigns call from, as long as they can place the call: a number bought in the Studio, or a BYO number on a Verified SIP trunk. Assigning or unassigning one therefore changes where those campaigns call from as well as which agent answers it. See Numbers as Campaign Caller IDs.Variables Manager
Each agent has a Variables card for managing the variables you create for it in one place. Go to Build → AI Agents, open the agent, then select Variables. Variables are managed per agent. The card lists your Custom and Chat widget variables in a table with Name, Type, Default value and Description columns. The built-in variables aren’t listed there — see Built-in variables. The card lets you:- Find a variable with Search variables.
- Create, edit, and delete variables with descriptions. Each row has View references, Edit variable and Delete variable buttons.
- Filter for unused variables with the Unused button to keep the agent tidy.
- Open View references on any variable to see exactly where it is used — across pre-conversation, in-conversation, and post-conversation actions (down to the flow node) and assistant settings.
- Variables that are still referenced cannot be deleted, so flows never break silently. Studio says Delete is blocked while this variable is still used by the AI Agent. and lists the references to remove first.
- A variable that a published agent’s live chat widget still maps can’t be deleted either, even after you remove the mapping in Chat Configuration, until you publish the agent. Studio shows Cannot delete variable while it is still used: the published chat widget of ”…” maps it. Publish the agent first, then delete the variable.
- On a published agent, creating, editing or deleting a variable makes the agent read Unpublished edits, and a new name, description or default value reaches live conversations at your next Publish.
Creating a variable
Select Create variable. In the drawer, pick a Type, enter a Name, add a Description and a Default value if you want them (see Default values), then select Create variable.
You can rename or re-describe a variable later with Edit variable, but you can’t change its Type.
A variable’s name:
- uses only letters, numbers and underscores;
- starts with a letter or an underscore, and doesn’t end with an underscore;
- is up to 100 characters (keep a Chat widget variable’s name to 64 or fewer if you want to map it in the widget’s settings);
- isn’t
email(in any capitalization) for a Chat widget variable, because the platform already provides the visitor’s email address as{{interaction.CHAT.email}}and it can’t be created — see Skip the Email Screen; - is different from every other variable on the same agent. Studio refuses a repeated name and says that it already exists.
Built-in variables
Besides the variables you create, the picker that opens when you type{{ offers built-in ones. It groups what it offers as Custom, Campaign, Agent and Interaction.
interaction.CHANNEL is voice, chat or email, and interaction.EMAIL.from and interaction.EMAIL.to are the sender and the mailbox of an email conversation. interaction.AGENT_VERSION_ID is the id of the agent version a conversation started on, or draft when it runs on the unpublished draft, as Talk, the test Chat and an agent that has never been published do. It is an id, not the V3-style number that Version History shows. See Call Lifecycle Hooks for what the call variables hold, and Chat Widget Integration for the widget’s values.
Each field offers only the variables that make sense there:
Values that only exist once the conversation is under way or over are not available in the Greeting message or Guidelines. See Pre-conversation Actions.
Default values
A variable can carry a Default value — the value it starts every interaction with, before anything has had a chance to assign to it. Set it on the agent’s Variables card (Build → AI Agents → the agent → Variables), both in the drawer where you create a variable and in the edit drawer on any existing row; the field is optional, and its placeholder reads Optional starting value. The variables table shows a Default value column, after Name and Type, with either the stored value or a dash. Every interaction — voice, chat, or email — begins with that value already in place, so a{{variable}} used in the Greeting message, in Guidelines, or in an action’s request body renders the default instead of an empty string when nothing has assigned to it yet.
The create drawer puts it plainly: “Every interaction starts with this value. Anything the agent assigns during the interaction replaces it. Leave empty to start unset.” The edit drawer reads: “Every interaction starts with this value. Clearing it makes the variable start unset again. Default values set on action assignments are not affected.”
Which value wins
Behaviour worth knowing
- A default can be up to 2,000 characters. A blank or whitespace-only entry is stored as no default at all.
- A variable has no default until you fill the field in.
- The edit drawer always submits the field, so saving an edit with Default value empty clears a default you set earlier. Re-enter the value if you only meant to change something else on the row.
- A variable created on the fly from the JSON Path Expressions table of an API Request node inherits that row’s Default Value (optional) as its own default.
- A Decision node that tested a variable for emptiness may take a different branch once that variable has a default, because the variable is no longer empty at the start of the interaction. Review those conditions when you add a default to a variable a flow branches on.
- On a published agent, a new or changed default reaches live conversations at your next Publish. Talk and Chat use it at once.
Autosave & Draft Safety
Autosave saves your changes to the agent’s draft. Until an agent has been published, callers, chat visitors and email customers get your latest saved edits, so a saved change is live at once. After the first Publish they get the published version, and later edits reach them only at your next Publish. Talk and the Studio test Chat always use your draft. See Publishing Your Agent.- Changes to the Greeting message, Closing message, Guidelines, voice selection and tuning, Handoff outcomes and transfer settings, and Agent Settings save automatically within a second or two after you pause typing.
- An agent’s name is the exception. Rename it with the pencil icon in the agent’s header and confirm with Enter or the check mark — see The Agent Header.
- The panels for Greeting & Sign-off, Voice Configuration, Handoff and Agent Settings have no save button. A voice you pick saves at once, and every other change in those panels saves a moment after you stop editing.
- A toast in the bottom-right (for example “Voice updated”, “Voice settings updated”, “Settings updated” or “Saved changes” for Guidelines) confirms each successful save to the draft. If something fails you will see an error toast so you can retry. The chat greeting’s confirmation (“Chat greeting saved”) appears only after you edit it; opening an agent doesn’t show it.
- If the Co-pilot changes the agent while you have an edit waiting to save on Agent Settings or Handoff, both changes are kept. If you both changed the same setting, yours is saved. The agent’s languages count as one setting: if you changed its languages or language mode, your whole language setup is kept.
- An open Guidelines editor or Voice Configuration panel switches to the Co-pilot’s version as soon as it lands. The Co-pilot only sees what has been saved, so give a hand edit a moment to save before you ask it to build on that edit. Its own edits go to the draft too, so on a published agent they wait for your next Publish, and it can’t publish for you.
Publishing Your Agent
Every change you make to an agent saves to its draft. Publish locks the agent’s whole configuration in as a live version. Anyone in your account can publish, and publishing is optional.- Before the first Publish, callers, chat visitors and email customers get your latest saved edits, so a change is live as soon as it saves. A new agent works this way, and so does a duplicate or an imported agent, which starts as Not published.
- After the first Publish, phone calls (including a campaign’s Test Call and on-demand calls), chats on your website and emails run the published version, and later edits wait for your next Publish. A call that is already in progress isn’t affected.
Publish Step by Step
1
Find the Publish control
Look in the agent’s header, beside Talk and Chat. The control shows only while there is something to publish. It reads Ready to publish on an agent that has never been published, and Unpublished edits on a published agent whose edits aren’t live yet. When everything is published, it’s hidden. Point at it for a short explanation. It also appears on Knowledge Base and Data Transformers when you open them from an agent. It isn’t offered when the Studio is embedded in another site.
2
Select Publish
Studio waits for any edit that is still saving, then compares your draft with what is live. On an agent that has never been published, Review before first publish shows what will be locked in. On a published agent, Review Changes shows each change against what is live, in sections that appear only when something in them changed, such as Identity & Voice, Chat Configuration, Email Configuration, Guidelines, Knowledge Base, Variables, Data Transformers, FAQs, Agent Configuration and Actions. If nothing differs, Studio says No changes to publish instead and clears a stale Unpublished edits.
3
Confirm
Select Confirm & Publish, or Cancel to leave without publishing. A progress window, Publishing agent…, shows a short checklist while the publish runs. Keep it open until it finishes. Publishing locks in the knowledge groups the agent uses as they stand and doesn’t copy their content. When it’s done, Agent published successfully confirms it.
What Waits for Publish
Once an agent has been published, what you save reaches callers, chat visitors and email customers only at the next Publish. That covers:- The greeting and closing messages, Guidelines, voice and voice tuning, and the agent’s name.
- Agent Settings, other than noise cancellation.
- Handoff: the transfer message and destination, its switches and the outcome options.
- Actions and their flows, variables with their descriptions and default values, and data transformers.
- Linked knowledge groups, FAQs and changes to a group’s content.
- Everything on Chat Configuration (the widget’s name, logo, avatar, layout, colors, disclaimer, proactive notification and chat variables) and on Email Configuration (Inactivity Timeout and AI Disclaimer).
- The phone numbers assigned to an agent.
- The mailboxes it’s ticked for on Email Configuration → Inbox.
- The chat widget’s Allowed Origins and Widget Key.
- Noise cancellation.
- What an authentication profile holds, such as its credentials. Which profile an action uses still waits for Publish.
- Choosing a different Handoff Platform points escalations at the new connection straight away, but brings in its channel list only at the next Publish, so publish right after changing it. See Chat Escalation.
- A variable that your live chat widget still maps can’t be deleted until you publish without the mapping. See Variables Manager.
- The Co-pilot works the same way. Its edits go to the draft, it can’t publish, and its confirmation cards for the transfer destination and Handoff Platform say when a change waits for Publish. Press Publish yourself afterwards.
When a Publish Stalls
If the progress window stays on one step for about 90 seconds, Dismiss appears, and after 5 minutes it reads Taking longer than expected. Dismissing doesn’t stop the publish, so check the agent’s status afterwards. While one publish is running, selecting Publish again shows A publish is already in progress. and takes you back to its progress window. If Studio can’t reattach to it, the window reads Publish already in progress: wait a moment and try again. A publish that makes no progress for about 15 minutes is ended automatically, after which Publish works again. If a publish fails, the window reads Publish failed with the reason, for example when a linked knowledge group is being deleted: remove it from the agent, then publish again. If Studio can’t start a publish at all, a Failed to publish agent message says so.Version History
Each Publish saves the agent as the next numbered version, starting at Version 1. Numbers are never reused, even after a version is deleted. Publish in Studio asks for no name. To name a version, rename it in Version History, or send aversion_name when you publish with an API key.
Select Versions in the agent’s header to open Version History. It lists:
- Draft – your working copy. Its badge shows the number the next Publish would give it, and it reads Unpublished changes or No changes.
- The live version, marked Live.
- Older Versions, newest first.
- View Changes – compares this version with one other. The version you opened it from stays fixed, and you pick the other side from the dropdown after with: your draft, the live version or any other version. It starts on the live version (on the live version’s own row, the version before it) and shows what changes going from the side you picked to the version you opened it from, in the same sections as Review Changes. The Draft row has only View Changes, which is greyed out until the agent has a live version.
- Make this version active – sends calls, chats and emails to this version. See Make an Earlier Version Live. The live version doesn’t offer it.
- Export Version – downloads that version as an agent file, as it was when you published it, and confirms with Export downloaded. The file’s name ends with the version number, such as
-v3.json. Select Import Agent on Build → AI Agents to bring it back as a new agent that starts as Not published. See Export, Import and, for how its knowledge groups come back, Import and Export. - Delete Version – after you confirm, removes the version for good. The knowledge groups and chat widget images it used are released, and any that no other version or your draft still uses are deleted. Calls are not affected. The live version and an agent’s only version can’t be deleted. See Knowledge Groups and Published Agents.
Make an Earlier Version Live
Make this version active puts an earlier version live straight away, with no Publish and without changing your draft. It’s in the menu of every version except the live one. Studio opens Make this version active and shows what is about to change, in two views that you switch between:- What callers will see – what changes going from the live version to this one.
- Your next Publish – what your next Publish would review once this version is live: this version against your draft.
- Anything listed under This version cannot be made active yet has to be fixed first, for example when the voice or a knowledge group the version uses is no longer available (or the group’s files are still being added), or an authentication profile it uses no longer exists. Fix the cause, or pick another version.
- Each warning under Tick each one to continue has to be ticked. Warnings cover things such as a chat widget image that is no longer stored, integration actions that are turned off or have no connected account, a human handoff connection that is no longer connected, and campaigns that are live or paused, whose next calls will run this version.
- New phone calls, chats on your website and emails run that version, and so do the next calls of a running campaign. A call that is already in progress isn’t affected, and a chat or email thread that is already open may pick up the new version when it next continues.
- Your draft isn’t changed. Talk and the test Chat keep using the draft.
- The version’s row gains a Made live by line that says who did it and when.
- The agent’s header usually reads Unpublished edits, because your draft still differs from the version that is live. Your next Publish reviews the draft against that version and puts the draft live as a new version.
- Settings that apply at once and aren’t part of a version keep their current values. See What Waits for Publish.
Testing Your Agent
Before you test. Studio starts a Talk call only when the agent has a name, Guidelines, a Greeting message and a selected voice. If one is missing, a message says which, such as Please provide guidelines for your assistant, Please provide a greeting for your assistant or Please select a voice first. Your browser must also allow microphone access. Without it, Studio shows Microphone access is required to test your agent.Talk and Chat use your latest draft, including edits you haven’t published. Once an agent has been published, real callers, website visitors and email customers get the published version instead, so try a change here first, then Publish. To try the published version, place a real call, such as a campaign’s Test Call. An agent that has never been published works the same everywhere: it uses your latest saved edits.
1
Click Talk in the agent’s header to start a test call from your browser. The button reads Connecting… while the call connects. Chat, beside it, opens a test chat instead. In a narrow window these buttons show only an icon; point at it to see its name. A full-screen panel titled AI Agent Call In Progress opens, with the call’s elapsed time under the title.
2
Speak to the agent. Select Mute to silence your microphone, and Unmute to turn it back on. Studio confirms with Microphone muted or Microphone unmuted.
3
When the call’s live transcript is connected, a status line under the elapsed time reads Switching noise cancellation… and then Noise cancellation on, and a Noise cancellation button sits between Mute and Hang Up. Select the button to turn noise cancellation off for this test call, and select it again to turn it back on. See Noise Cancellation on a Talk Call.
4
Use the on-screen keypad to send digits (0–9,
*, #) while the call is live.5
Watch the transcript on the right to confirm the agent’s behaviour.
6
Select Hang Up to end the test call. Studio shows Call ended.
A key press interrupts the agent, as if you had spoken over it. The digits you press are collected and sent to the agent as one message after a short pause, about two seconds, without another key press. That message appears in the transcript as what the caller said. The agent receives the digits as ordinary text, the same as spoken words, so it can use them, for example to pass an account number to an action. No flow step reads keypad digits on its own.The same applies on real phone calls. A caller who presses keys is treated just as you are on a test call: they can key in an account or PIN number, pause, and the agent receives the whole run of digits as one message from the caller.
Noise Cancellation on a Talk Call
On a Talk call, a status line under the elapsed time shows whether noise cancellation is working, and a Noise cancellation button between Mute and Hang Up lets you change it mid-call.- The status line reads Switching noise cancellation… and then Noise cancellation on.
- Select the button to turn noise cancellation off, and the line reads Noise cancellation off. Select it again to turn it back on.
- It changes this test call only, never the agent’s own Toggle noise cancellation setting, and Talk calls aren’t charged.
- A Talk call starts with noise cancellation on, whatever the agent’s own setting. Phone calls follow the agent’s setting and can’t be switched mid-call.
- If noise cancellation can’t start or drops, the call carries on with the original audio and the line reads Noise cancellation isn’t running, so this call is using the original audio. Select the button to try again. If a switch isn’t confirmed within about 8 seconds, a message says Noise cancellation didn’t switch on. Please try again. (or off).
- After a transfer, the line reads Noise cancellation ended when the call was transferred and the button goes.
- The status line and the button come with the call’s live transcript, so they don’t appear if the transcript can’t connect.
The Test Chat
Chat in the agent’s header opens the test chat, docked at the bottom right. It uses the name, logo and colors from the agent’s Chat Configuration as you have it now, including edits you haven’t published, so you see what a visitor sees once those edits are live.- Press Enter to send a message, or Shift+Enter to start a new line.
- A message can be up to about 8,000 bytes. That is roughly 8,000 characters in English, and fewer in languages whose characters take more than one byte. A longer message isn’t sent. Studio shows Message is too long. Please shorten it. and keeps the send button off until you shorten it. The live chat widget has the same limit.
- Close the test chat and reopen it within 10 minutes of its last activity, and you carry on with the same conversation. After longer than that, you start a new one. New session starts a new conversation at any time. It also appears beside Session ended. Start a new session to continue. when a conversation ends.
Caller ID on Transferred Calls
When your agent transfers an inbound phone call to a phone number, the phone that rings shows the caller’s own number, so whoever picks up can see who’s on the line.- If the caller’s number is withheld, or the call didn’t come in from a phone number (a browser call or a SIP call, for example), the destination sees the agent’s own number instead: the earliest-assigned of its numbers bought in the Studio. The same rules apply as in Testing Transfers below: BYO numbers and numbers with an unresolved payment failure are never used.
- If the agent has no qualifying number, the transfer may fail. Assign a number bought in the Studio to the agent before you rely on transfers from those calls.
- Transfers to a SIP address that use SIP REFER are unchanged.
Testing Transfers
When a Talk test call transfers to a phone number or a SIP address, the destination sees the agent’s own number as the caller ID. That’s the earliest-assigned of the agent’s numbers bought in the Studio: assigning more numbers later doesn’t change it, and unassigning it moves the caller ID to the next-earliest.- Numbers you brought yourself (BYO) are never used.
- Numbers with an unresolved payment failure are never used either. When a subscription payment fails, every number you bought is flagged, so none of them qualifies until the payment is resolved. See When a Payment Fails.
- The Assigned numbers chip in the agent’s header lists the most recently assigned number first, so the caller ID may not be the first number it shows.
- A transfer to a SIP URI from a Talk call also carries the Screen Pop token and the Inline SIP context headers when you have turned them on in Handoff. You can try the receiving system end to end without a real phone call. See Screen Pop. A Talk call has no real caller number, so the caller details on the Screen Pop page may look odd.
Copying, Duplicating & Transferring Agents & Actions
Duplicate & Copy Actions
Open the actions menu (...) on an action’s card in an agent’s Pre-conversation, In-conversation or Post-conversation Actions to copy it:
- Duplicate adds a copy to the same agent.
- Copy to Agent opens a drawer where you pick another agent in the same account and select Copy. Studio then opens that agent’s list of the same kind of actions. The drawer notes: “Referenced variables are created in the target when missing. Campaign variables are not carried over and are removed from the copy.”
- Duplicate names the copy
Copy offollowed by the original name. An in-conversation action’s name can’t contain spaces, socheck_order_statusbecomesCopy_of_check_order_status. - Copy to Agent keeps the original name when the other agent has no action with it.
- When the name is taken, the copy gets the next number:
_2,_3and so on for an in-conversation action (check_order_status_2), or(2),(3)for a pre- or post-conversation action (FetchContact (2)).
An in-conversation action added from Integrations shows only Edit and Delete in its menu. To use it on another agent, add it there from that agent’s Integrations button. See Connected Apps.
Duplicate
- Open the More actions menu (
...) on an agent’s row and choose Duplicate to create aCopy of {Agent Name}with the same actions, flows, variables, outcomes, linked knowledge groups, and data transformers. If that name is taken, a number is added, such asCopy of Support (2). Studio confirms with AI Agent duplicated successfully. The copy is made from your latest saved edits, including any you haven’t published, and it starts as Not published, so it runs its draft until you publish it. - The copy gets its own actions, flows and variables, so you can rename it and adjust those without touching the original agent.
- Knowledge Groups and Data Transformers are shared with the original, not copied. The copy links to the same Knowledge Groups and uses the same Data Transformers, so editing a transformer, or a group’s content, changes it for both agents, though a published agent’s callers get the change only at its next Publish.
Export
- From the same menu select Export to download a JSON bundle that includes the agent, actions, flow definitions, knowledge links, dispositions, data transformers, and usage mappings. Studio confirms with Export downloaded. The bundle holds your latest saved edits, including any you haven’t published. To export a version as it was when you published it, use Export Version in Version History.
- The file is named
assistant-followed by the agent’s name and.json. The name has no date or time in it, so exporting the same agent again produces the same file name — rename earlier backups if you want to keep versions. The time of the export is recorded inside the file.
Import
- Select Import Agent, beside Create Agent at the top of Build → AI Agents, and upload a bundle that was exported from SquawkVoice Studio. The file must be a
.jsonfile of up to about 5 MB. The button reads Importing Agent… while it works. - The importer recreates flows, restores data transformers, and reconnects or rebuilds knowledge groups. Studio shows AI Agent imported successfully when it finishes, or Failed to import AI Agent if it could not. A file that is too large, or isn’t an agent export, fails this way.
- The new agent is named
Import of {Agent Name}. If that name is taken, a number is added, such asImport of Support (2). It starts as Not published. - Knowledge Groups depend on where you import. Into the workspace the agent was exported from, the agent keeps its links to the same Knowledge Groups. Into a different workspace, each group is matched by its content and then by its name. A group with no match is rebuilt from the bundle: its URLs and FAQs are recreated, and its uploaded files too when you import within the same region. A file from Export Version follows one rule wherever you import it: a group is reused only if it is still in the workspace with the same FAQs, and otherwise a new group is created, never matched by name. See Import and Export for what to check afterwards.
- Data Transformers follow the same split. Into the workspace the agent was exported from, the imported agent uses the same transformers as the original, so editing one changes both, and any transformer that has since been deleted is created again. Into a different workspace, each transformer is compared with the ones already there. One whose Expression Pipeline is exactly the same is reused, even under a different name. Any other is created as a new transformer, with a number added to its name if the name is taken, such as
Format Phone_(2). See Data Transformers.
Best Practices
- Start simple. Launch with a lightweight set of actions and expand iteratively.
- Test, then publish. Try a change with Talk and Chat, check it in Review Changes, then Publish. See Publishing Your Agent.
- Keep guidelines concise. The shorter the system prompt, the faster the agent responds.
- Monitor analytics. Use the built-in dashboard to track resolution rates, average call duration, and customer sentiment.
- Iterate on feedback. Real-world conversations reveal edge cases you can cover with new actions or guideline tweaks.
Next Steps
Ready to go deeper?Chat Widget Integration
Embed the AI agent on your site and inject customer context dynamically.
Knowledge Base Management
Learn how to structure and maintain high-quality knowledge groups.
Call Analytics
Measure agent performance and identify optimisation opportunities.