Improvements
Improvements
- Arabic AI Agents: Arabic is now a fully supported agent language, with a large library of Arabic voices across eight regional varieties. Find them in the voice picker under Provider → Munsit (Arabic), set Arabic (AR) as the agent’s Primary Language — a combination that was previously rejected — and use the Accent picker on the Languages card to tune both what the agent hears and how it speaks, across eighteen regional options. Because these voices speak only Arabic, selecting one switches the agent to single-language Arabic and drops every other configured language. Transfer, closing and silence messages are re-translated automatically — your greeting is not, so rewrite it — and the switch is one-way: moving back to another voice does not restore the languages you lost. Try it on a duplicate agent first. See Arabic Agents and Voices.
- Email Agents Follow Up Before Closing a Thread: Instead of waiting in silence for the inactivity window to lapse, an email agent now sends two follow-ups in the thread, timed from its Close After value. This sends real mail to your customers with nothing to switch on, it is on for every existing email agent, and threads that had already gone quiet get both messages shortly after the upgrade. The copy is English only. See Follow-ups before abandonment.
- Exported Agents Carry Their Knowledge Base: An exported bundle now includes each linked Knowledge Group’s FAQs, URLs and crawl settings, so importing into another workspace no longer produces empty groups to rebuild by hand. One catch worth knowing: if the destination already has a group with the same name, that existing group is linked instead and the bundle’s content is not recreated. See Import and Export.
- Clearer Blocks on Deletions in Use: Deleting an authentication profile that an agent still references now opens a dialog naming every agent holding it, rather than failing with a generic error. Data transformers in use are likewise refused — including through the API, which previously deleted them and left agents pointing at nothing. See Auth Profiles.
Fixes
Fixes
- Imported Agents With Broken Variables: Importing an agent into a different account carried across variable references the destination could not resolve, so placeholders surfaced as raw identifiers in prompts and messages. Those variables are now recreated on import. Agents imported before this release still need re-importing.
- Voice Rows Showing Language Codes: The voice picker read “En”, “Fr” and “Ar” instead of the full language name.
Released 2026-09-02
Improvements
Improvements
- On-Demand Call API: Place calls into a voice campaign one at a time from your own systems — no CSV, no run, no launch.
POST /api/v1/campaigns/{campaignId}/contacts/on-demandwith anX-API-Keyheader, a phone number and a postcode, orscheduled_atfor up to 48 hours ahead. A new On-Demand Calls tab on each campaign carries the campaign ID and ready-to-run snippets. There is no idempotency key, so a retried request places a second call. See On-Demand Calls. - Create and Revoke Your Own API Keys: Manage → Advanced → API Keys creates and revokes the machine-to-machine keys the On-Demand Call API uses — until now they had to be minted for you. A key is shown once and there is no rotate. Account users see only their own keys; partner users see and can revoke every key in their scope. See API Keys.
- Handoff Is Configured Per Channel: The Freshchat account has moved from Chat Configuration → Widget Config → Agent Escalation to Handoff Platform on Build → AI Agents → Handoff → Chat. Existing selections carry over, each channel keeps its own connection, and the Chat tab gains a per-language Handoff Message. See Chat Escalation.
- Assign Several Numbers to an Agent, from the Agent: The ⋯ menu on an agent card in Build → AI Agents now assigns and unassigns phone numbers in bulk, from a drawer where you can tick several at once. Previously staff-only, now open to account and partner users. See Phone Numbers.
- Pad String Data Transformer: Pads a value out to a fixed width — zero-fill a reference number, right-align a figure to a column. Pad From picks Left or Right, Pad Character takes one character, Target Length goes to 100,000. It only pads, never truncates. See Data Transformers.
- The Template Library, Rebuilt: Library → Prompt Templates is now Library → Templates, rebuilt around an industry rail with call-direction filtering, sorting and paging. Search matches tags and prompt text, and prompts are edited in the formatted editor. See Templates.
Fixes
Fixes
- One Email Inbox Answered by Two Agents: An inbox can now be worked by exactly one agent, matched on the address. On upgrade the later of any duplicate claims is deleted and that agent silently stops working the mailbox — check Email Configuration → Inbox on each email agent afterwards. Unsubscribing now offers only Resolve & Unsubscribe. See Email Agents.
- History Lists Blanking While They Reloaded: Changing a filter in call, chat or email history emptied the table while it reloaded. Lists now update in place, running conversations refresh every fifteen seconds, and the toggle reads In-progress Only. See Call History.
Patches
Patches
- Chat Handoff Outcomes List the Automatic Rows: Handoff → Chat now shows Contained and User Abandoned as read-only rows. User Abandoned is a display name only — exports still record Caller-Hungup, so keep matching on that. See Chat Escalation.
- Repeat On-Demand Calls to the Same Number: Submitting the same number to a campaign’s on-demand run more than once is now accepted, each request its own attempt with its own
request_id. Anything relying on the API to reject a duplicate must de-duplicate itself.
Released 2026-08-19
Improvements
Improvements
- Email AI Agents: Your AI agents can now work email, alongside voice and chat. An email agent picks up tickets from a connected Freshdesk mailbox, replies in the thread, and either resolves the conversation or escalates it to a human. The channel is switched on for every account — there is nothing to request and no provisioning step — but an agent only starts working email once you connect Freshdesk under Manage → Connected Apps → Freshdesk and tick a mailbox in Build → AI Agents → Email Configuration → Inbox. Until you do, the panel reads “No Freshdesk accounts connected”. An email agent draws on the same configuration your voice and chat agents already use: its FAQs and knowledge groups, its in-conversation actions, and its outcomes. Two email outcomes are built in and cannot be edited — Contained when the agent resolves the thread, and User Abandoned when the customer stops replying and the conversation ends through inactivity — and you can add your own alongside them. A conversation is treated as inactive after 72 hours by default, adjustable from 3 to 7 days in Email Configuration → Config. See Email Agents.
- Email Closing Message and Handoff Message: Greeting & Sign-off and Handoff are now organized as Voice, Chat and Email tabs. The Email tab of Greeting & Sign-off holds a Closing message, sent when an email conversation is resolved and pre-filled with “Thank you for contacting us. Have a great day!” — it cannot be left blank. The Email tab of Handoff holds a Handoff Message, the reply that goes out when the agent escalates a thread to a human. Both accept variables, and both gain a Message to Send in Language box for every language configured on the agent — when you add a language, existing email copy is translated into it automatically, exactly as voice and chat copy already was. Your existing voice and chat settings are unchanged, just relocated under their own tabs. See Email Agents.
- Email Analytics and Email History: Two new views under Optimize. Email Analytics tracks email containment, resolution rates, and response-time trends. Email History, under Advanced, lists email threads with their replies and escalations, and opens a full transcript for any one of them. Email History also lets you step in: switch on the in-progress filter and each live thread offers Escalate and Resolve, from the row’s menu or the Actions dropdown in the transcript drawer. Resolve closes the conversation; Escalate hands it to a human and then closes it. Only a thread that is still in progress can be ended this way. See Email Analytics.
- A Proactive Message on the Chat Widget: The embedded chat widget can now invite a visitor to start chatting before they click, with a small teaser bubble beside the closed launcher. Configure it in Chat Configuration → Widget Config → Proactive notification, where you can turn it off, change the wording, and set how long the visitor waits before it appears. This one is on by default, including for widgets already live on your site. After upgrading, a visitor who lands on a page carrying your widget and does not interact will see “Hey there 👋🏻, how can I help you?” ten seconds later. Nothing needs to be redeployed for that to begin, because the widget reads its settings fresh on every load. If you do not want it, clear the Proactive notification toggle on each agent. The bubble appears only when the widget starts closed and the visitor has no chat already in progress, and once dismissed it stays dismissed for that visitor. Messages are capped at 120 characters and the delay at one hour. See Chat Widget.
- Default Values for Variables: A variable can now carry a Default value, set in Build → Variables when you create or edit one and shown in its own column in the variables table. Every interaction — voice, chat, or email — starts with that value already in place, so a
{{variable}}in an Initial 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. Anything that assigns to the variable during the interaction still wins, as does data a channel supplies up front, such as chat widget variables or campaign contact fields. Defaults are capped at 2,000 characters, and clearing the field returns the variable to starting unset. Two things worth knowing: a variable created on the fly from an API Request node’s Response Mapping now inherits that row’s Default Value (optional) as its own default, and because the edit drawer always submits the field, saving an edit with Default value empty clears a default you set earlier. Nothing changes for your existing variables until you fill the field in — but once a variable has a default, a Decision node that tested it for emptiness will take a different branch. See Variables Manager. - Three New Data Transformers: Extract Letter (fixed) returns the first run of letters of an exact Length, and Extract Letter (min–max) returns the first run whose length falls between Min Length and an optional Max Length — the word equivalents of the Extract Number transformers. Both match whole runs only, so a Length of 2 against
abcdreturns nothing rather thanab. Arithmetic adds, subtracts, multiplies, divides, or takes the remainder of two values; like Random Number it generates a value rather than transforming one, so the block has no Input field — just an Operator, Value 1 and Value 2. All three accept{{input#}}and{{expr#}}references in their parameters. See Data Transformers. - Actions Are Now Conversation Actions: Because actions run on email and chat as well as calls, the three action phases have been renamed from “call” to “conversation” — Pre-conversation Actions, In-conversation Actions and Post-conversation Actions — everywhere they appear, including tab labels, section headings, drawer titles and global search. The phases themselves, and every action inside them, are unchanged, and nothing needs reconfiguring. The Studio pages moved to matching addresses at the same time, so a bookmark saved straight to an actions tab in Studio no longer opens it — navigate from the agent instead, and re-save the link. See Pre-conversation Actions.
Fixes
Fixes
- Chat Outcomes Judged by Voice Rules: Chat conversations were classified using the rules written for phone calls, which mislabelled a lot of them. A visitor who simply closed the tab was filed under a caller-hangup outcome and shown as Hangup, even though for chat that is ordinary self-service; those conversations now read Contained, in Chat Analytics and in the Disposition column of chat history alike. Because they are no longer counted as escalations, they have also left the Transfer Dispositions breakdown, so its percentages are now calculated over genuinely transferred conversations only — expect the shape of both charts to shift for periods you have already reviewed, including historical ones. Separately, a visitor who abandoned a conversation and started a fresh one mid-thread is now recorded as User-Abandoned rather than contained, and the transcript of the abandoned thread ends with the chat end message you configured instead of internal wording. See Chat Analytics.
- Failed Live-Agent Handoffs Counted as Transfers: When a handoff to a human agent failed and the conversation fell back to the AI, it was still reported as Transferred — inflating escalation counts with conversations that never reached a person, and leaving the conversation flagged as mid-transfer. The transfer state is now cleared on every fallback, so a failed handoff is classified on how the conversation actually ended. Escalations that succeed keep the Freshchat channel disposition the agent chose, which had also been getting overwritten.
- Chat Escalations Dropped on a Transient Freshchat Error: Handing a chat to a human could fail outright if Freshchat was momentarily rate-limited or returned a server error — leaving the visitor with an AI that had already said it was fetching someone. Those requests are now retried up to three times with a short backoff, so a brief upstream blip no longer costs the escalation.
- Transcript Order When Pre-conversation Actions Ran: In a transcript where the agent ran pre-conversation actions and the customer spoke first, the agent’s opening message was hoisted above the customer’s — making it look as though the agent had spoken out of turn. Messages now appear in the order they actually occurred. This corrects existing voice and chat transcripts, not only new ones.
- Phone Number Search Returning Numbers That Did Not Match: Searching for a number pattern when buying a number returned results that merely contained the digits somewhere, rather than matching the pattern you typed — so an area code search came back full of numbers from other area codes. Results are now filtered to genuine matches, and a search with nothing behind it shows an empty state instead of an unrelated list. This applies everywhere numbers are bought: onboarding, Manage → Phone Numbers, and number pools. Because matching is stricter, a pattern that used to return a long list may now return fewer numbers, or none. See Phone Numbers.
- Widget Config Edits Lost or Overwritten: In Chat Configuration → Widget Config, edits could be discarded or reverted when the panel reloaded its saved settings underneath you. Pending changes are now preserved. Relatedly, AI Agent Name accepted only a single word — anything after the first space was dropped as you typed — and now takes full names.
- Email Threads Stuck In Progress, and Exports Returning Calls: An email conversation that ended in an error stayed in the in-progress list indefinitely, so supervisors saw live threads that were not live. Errored threads now leave that list. Separately, exporting from email history produced a file of voice calls rather than email conversations.
- Drawers and Dialogs Behind the Co-pilot Panel: With the Co-pilot panel open, side drawers and dialogs across telephony, account and user settings rendered underneath it or in the wrong place. They now dock beside the panel, or cover it where they are meant to. Text inside side drawers can also be selected and copied again.
Patches
Patches
- Freshdesk Automation Rules Are Re-created at the Top: The two automation rules SquawkVoice manages inside your Freshdesk account are now pinned to position 1 and renamed to carry a
[DO NOT DELETE, DO NOT REORDER]marker, so a reordering in Freshdesk can no longer stop the AI agent seeing new tickets. Because the rule shape changed, both rules are deleted and re-created the next time each connected mailbox syncs after the upgrade — and they will land above your own automation rules. If you rely on one of your own rules running first on the same tickets, check the order in Freshdesk afterwards. Where an account rejects the pinned position, the rules are re-created unpositioned so coverage is never lost. - Limits on Email Reply Work: An email agent now takes at most five rounds of look-ups and actions to compose a reply, allowing 60 seconds for each drafting pass and 30 seconds per action. On reaching a limit it sends its best reply rather than stalling the thread. Replies that search a knowledge base or call an action are correspondingly slower, and cost more per turn, than a plain reply.
- Reserved and Duplicate Email Outcome Names: The two built-in email outcomes now occupy reserved slots a custom outcome cannot overwrite, and custom email outcome names must be unique regardless of capitalisation. Both are rejected with a clear message when you save.
- FAQ Answers on Email: An email agent inlines the agent’s full FAQ list into every reply it composes, so a very long FAQ list raises the cost of each email turn. See Knowledge Base.
- Platform Runtime Upgrades: The API and Studio moved to the current long-term-support release of their JavaScript runtime, and the platform’s cloud provider modules were upgraded to their current major version. Deliberately behavior-neutral.
Released 2026-08-06
Improvements
Improvements
- Chat Widget 2.0: The website chat widget has been redesigned, and the new look reaches every page that already has it embedded — nothing on your site needs to change. The embed snippet keeps working exactly as pasted, because the version you pick only selects which loader file the snippet points at, while the chat experience itself is always the current release. Chat Configuration → Embed Code now offers Latest (2.0.0), which new agents use, with versions 1.0.0–1.4.0 still available if you need to pin one. Agents that were pinned to an older version have been moved to Latest — re-pin from Embed Code if you were relying on a specific loader. Your colors, logo, disclaimer, allowed origins, Freshchat connection and chat variables all carry over unchanged. See Chat Widget.
- Redesigned Widget Customization: Chat Configuration → Widget Config has been reworked. Title is now AI Agent Name, and a new AI Agent Avatar upload sits alongside Widget Logo, so the picture beside AI replies can differ from the logo in the chat header. The color pickers are renamed to say what they actually control — Brand, User Message Text, AI Agent Message Text, AI Agent Message Background and Header Text — each still set separately for light and dark mode, with the dark value auto-derived when you change the light one. The avatar disc beside AI replies and the icon inside it now take the same background and text colors as the AI message bubble, so the two always share one contrast pair. One behavior change to note: the name in the chat header no longer falls back to your agent’s internal name. A title you had already customized carries over, but if AI Agent Name is left blank visitors now see AI Agent — set the field if you want something else.
- Refreshed Widget Look & Feel: The collapsed launcher is now a clean floating circle — the rounded card behind it is gone, its shadow traces the circle, the icon is larger, and the bubble grows slightly on hover. Opening and closing is a smoother morph, with the panel keeping its rounded corners until it settles into the launcher. The sender label above each message and the timestamp inside it are replaced by one small muted line under the bubble — “AI Agent · 10:32” for the agent, the live agent’s own name during a handoff, and the time alone for the visitor — fixed in neutral grey so it no longer picks up your brand or message text colors. The header logo now fills its circular slot, the spacing between the AI disclaimer and the “Powered by SquawkVoice.ai” line is tighter and consistent across the chat and email-capture screens, and your logo and avatar are pre-loaded so you no longer see an empty image slot on first paint.
- Random Number Transformer: A new Data Transformer that returns a random whole number between a Min Value and a Max Value, inclusive of both. Because it generates a value rather than transforming one, the block has no Input field — the two bounds are its only parameters. Bounds may be negative, and either one can be an
{{input#}}or{{expr#}}reference, including text that mixes literal digits with references. Literal bounds are validated when you save; at run time the transformer never fails a chain — a bound that resolves to blank or non-numeric text counts as0, and if the resolved minimum ends up above the maximum the result is0. See Data Transformers.
Fixes
Fixes
- Chat Launcher Flash and Dropped Widget Edits: On your website, the chat launcher used to appear immediately in the default bottom-right corner at default size, color and logo, then jump to your configured appearance a moment later. It now stays hidden until its saved appearance has loaded and fades into place already correct, with a 10-second safeguard that reveals it using defaults if that request is slow or fails — so it can never be left invisible. Separately, in Chat Configuration → Widget Config, a change made in the moment just before you navigated away from the panel could be discarded rather than saved; pending changes are now flushed when you leave.
- Decision Nodes Freezing the Flow Builder: Opening a Decision node — in a pre-call, during-call or post-call flow — sent its configuration panel into a render loop that never stopped, locking up the panel and the canvas behind it so conditions could not be edited or saved without reloading the page. The panel now settles as soon as it opens and stays responsive while you add and delete conditions, set each one’s data transformer, input values and target node, and choose the Otherwise branch.
- Freshservice Tickets Without an Assigned Agent: Creating or updating a Freshservice ticket no longer fails when the AI agent has no one to assign it to. Rather than leaving the assignee out, the agent could fill it with a placeholder value of zero, which Freshservice rejected as an invalid agent ID — the ticket was never created, or the update never applied, and the action came back as an error mid-conversation. A zero or negative assignee is now dropped before the request is sent and the ticket is created unassigned as intended, whether the value was supplied as the assignee directly or through the older agent ID field. Existing actions pick this up automatically.
Patches
Patches
- Widget Logo and Avatar Image Formats: The widget logo and AI agent avatar now accept PNG, JPG, GIF and WebP only, up to 10 MB. SVG files were previously accepted and are now rejected, both in the Studio and through the API, because these images are served publicly from the widget on your site and an SVG can carry embedded scripts. An SVG you already uploaded keeps displaying — upload a PNG or WebP the next time you change it.
Released 2026-07-27
Improvements
Improvements
- Bring Your Own Number: Add phone numbers you already own on a SIP trunk to an account instead of only buying them in the Studio. Manage → Phone Numbers → BYO Number accepts a single number or a consecutive range (2–100 at a time; numbers already in use are skipped automatically), and BYO numbers then behave like any other number — assign them to an AI agent. They carry a BYO badge, are never billed by SquawkVoice, and do not use up your included number. For SIP trunk customers this replaces per-number
X-SIP-AssistantIdheaders — assign the number to an agent in Studio and reassign it later without touching your SBC. Contact your provider to enable it for your account. See Phone Numbers and SIP Integration. - Five New Data Transformers: Search String returns where a value appears in the text (or
-1), String Length returns a character count, Extract Email pulls the first email address out of free-form text, Extract Number (min–max) pulls the first digit run of a given length — an OTP or account number out of a messy transcript — and Matches Regex returns a plaintrue/falseyou can branch on with Conditions or Compare. See Data Transformers. - Find Nodes in a Flow: Large flows now have a search box in the top-right of the flow canvas. Type any part of a node’s name or its type and every match is highlighted at once; pick a result to pan and center the canvas on that node. See Find a Node on the Canvas.
Fixes
Fixes
- Summaries in the Wrong Language: Call and chat summaries now come back in the agent’s configured Summary language. Agents set to a specific language — or to Auto — could receive an English summary instead, and the Additional Concerns section was returned in English even when the rest of the summary was translated. The setting now also lives alongside the agent’s other language options in the Languages & localization card. See Summary Language.
- Campaign Voicemail Calls Never Hanging Up: When an outbound campaign reached an answering machine and was configured not to leave a message, answering-machine audio could interrupt the agent’s hang-up and leave the call connected in silence, holding the line. The hang-up now always completes, exactly once, and speech picked up after the agent has committed to hanging up can no longer cancel it.
- Campaign Outcomes: Voicemail is now decided by the outcome the agent itself reports, not by scanning the transcript for answering-machine phrases — so a live contact who happens to mention a voicemail greeting is no longer hung up on and filed as Voicemail. Voicemail, Wrong number, Callback requested and DNC request now all travel through a single end-of-conversation path and reach the campaign reliably, with transfers reserved for genuinely connecting a contact to a person. See How a campaign call ends.
- Inbound Transfers Blocked by an Outcome Name: On a non-campaign agent, an outcome named Voicemail, Wrong Number, Callback Requested or DNC Request silently prevented inbound callers from being transferred to a human — the call ended instead. That behavior is now limited to genuine outbound campaign calls. Outcome names are also checked for duplicates (case-insensitive) when you add or rename one, including against those four names, which are reserved for campaigns.
- Transfer Status in Call Logs: The Agent Handoff section of a transferred call’s transcript again lists the dial progress to the transfer destination — dialing, ringing, connected, and the outcome — instead of dropping lines (most often the first one) or rendering empty. In the same viewer, the customer’s messages are now labeled Caller throughout. See Transfer Status in the Transcript.
- Billing Accuracy for Transferred Calls: Calls handed to a human over a PSTN transfer are now billed on the carrier-reported connected duration of the call — answer to hang-up, covering the AI conversation, the transfer dial, and the human-agent leg. Previously the charge was derived from a wall-clock span that kept running until the call record was closed out, so when a transfer’s final status never arrived, the waiting time before a background sweep closed the record was billed as call time. Those records now also finalize promptly instead of waiting for the sweep, and the Duration shown in Call History matches what you are charged. See How minutes are calculated.
- Freshservice Ticket Actions: Assigning a ticket to an agent now works — the platform sends the field name Freshservice expects, and actions configured before this release are translated automatically. Agents can also resolve and close tickets, via a new optional Resolution notes parameter that Freshservice requires for those statuses. And looking up tickets without a requester filter no longer fails and retries — an unset requester ID is treated as “no filter”. See Connected Apps.
- False Error After Connecting an App: Connecting Google Sheets, Google Calendar, or another app that signs in through OAuth no longer shows an “Integration not found” error on return. The connection had actually succeeded — only the message was wrong.
- Stuck Action Cards in Test Calls: In the test-call transcript, an action card could stay on “Running…” forever if backend logging failed. Cards now always advance to their final status and latency.
Patches
Patches
- Guaranteed Call Wrap-Up: Once an agent has decided to end or transfer a call, the platform now guarantees the call finishes wrapping up within 15 seconds even if the normal shutdown path stalls — so the call log, summary, campaign follow-up, and billing are never left pending. No change on a healthy call.
- Regex Safety Limits: The Regex Extract and Find & Replace transformers now reject oversized input, over-long patterns, and runaway match counts with a clear error instead of stalling the request. See Data Transformers.
- Contact Timezone Data: The postal-code dataset used to resolve each campaign contact’s local time for legal dialing hours now refreshes on a weekly schedule, and a partial download fails the run instead of reporting success with incomplete data. See Scheduling.
- Platform Runtime Upgrades: The orchestrator, API, and Studio moved onto current supported releases of their application framework, telephony SDK, and routing library, off versions that had reached end of life. Deliberately behavior-neutral.
Released 2026-07-16
Improvements
Improvements
- Squawk Co-pilot is now generally available: The in-platform AI assistant — Build with AI in Studio — is now available to all users. Open it from the sparkles button in the top bar (or
Cmd/Ctrl + I) and describe what you want in plain English: it creates and configures AI agents, links knowledge bases, sets up actions, and answers questions about the platform. It can now also edit during-call flows node by node, with the flow editor refreshing in real time as the Co-pilot works. See Squawk Co-pilot. - Consistent Contact-Table Sorting: Campaign contact tables now sort consistently across all sortable columns — Zipcode sorting now applies to the full contact list instead of only the current page.
- Smarter Summaries: Call and chat summaries now receive the current date as context, so relative dates (“tomorrow”, “next Friday”) in conversations resolve correctly in summaries.
- Data Transformer Empty Inputs: Transformation pipelines now handle empty or missing inputs gracefully — references to absent inputs resolve to empty strings instead of failing the chain. See Data Transformers.
Fixes
Fixes
- Voice Stability After Barge-In: Fixed two interruption edge cases — calls no longer hang in dead air when a caller interrupts the agent during a transfer, and transfer/closing messages are no longer played twice after an interruption.
- Freshcaller Call Endings: Freshcaller conversations now hang up correctly at the end of a conversation instead of transferring.
- Chat Handoff Transcripts: Chat handoff messages are no longer missing from transcripts after a browser reconnect, and reconnect handling no longer delays handoff completion.
- Freshchat Connections: Adding a new Freshchat connection in the Build Hub now auto-refreshes the channel list, preventing handoff failures on newly added connections.
- Call & Chat History Error Logging: Cancelled API requests are no longer logged as errors in call history, chat history, and knowledge-base linking.
- Freshdesk Contact Search: Invalid company filters are now dropped before reaching Freshdesk, fixing “Get Many Contacts” failures.
Patches
Patches
- Post-Call Processing Resilience: Summarization now uses bounded retries and timeouts with graceful degradation, so upstream LLM slowness no longer stalls post-call processing.
- Zero-Downtime Deploys: Added deep health/liveness probes and graceful shutdown draining across platform services for smoother releases.
Released 2026-07-07
Improvements
Improvements
- Outbound Voice Campaigns: Launch AI-driven outbound calling campaigns from Manage → Campaigns — assign an agent, upload up to 100,000 contacts per CSV (custom columns become agent
{{variables}}), set weekly calling windows, and control concurrency, retries, and voicemail handling. Every launch creates a numbered run with immutable configuration snapshots. See the new Outbound Campaigns guides. - Live Campaign Monitoring: Real-time run dashboard with progress, active-call banner, and outcome buckets (retry, no answer, busy, voicemail, wrong number, callback requested, blocked, frequency capped) — plus per-contact dial history with TCPA decisions, transcripts, and recordings, CSV export, and side-by-side comparison of 2–5 campaigns.
- Campaign Compliance & DNC Scrubbing: TCPA attestation at every launch, per-contact consent (PEWC) gating, legal calling-hours enforcement in the contact’s local timezone, in-call opt-out capture, and Do-Not-Call + Reassigned-Number scrubbing before every dial ($0.10 per contact per run by default, with an upfront cost preview and SAN management). See Compliance & DNC.
- Phone Numbers: Buy phone numbers in-app across 3 countries, assign them to AI agents for inbound routing, and release them when done — first number free, additional numbers billed as a monthly add-on with prorated cost previews. See Phone Numbers.
- Number Pools: Group numbers into rotating caller-ID pools with Sequential or Random rotation, automatic STIR/SHAKEN registration and attestation tracking, and automatic + on-demand spam checks. Voice campaigns now require a pool before launch. See Number Pools.
- AI Call Context in SIP Headers: New transfer-rule option sends the conversation’s disposition and a brief AI summary as SIP headers (
X-SV-Disposition,X-SV-Summary) on SIP transfers, so receiving contact-center systems get context inline — works alongside screen pop. - Full-Call Billing for PSTN Escalations: Calls escalated to a human agent over a PSTN transfer are now metered for the full call duration, including the human-agent leg. New per-agent Enable Handoff Transcript and Enable Handoff Recording toggles capture the escalation leg, with a separate Handoff Summary in the call drawer.
- Variables Manager: New Variables capability in the Build hub — create, edit, search, and delete agent variables, filter unused ones, and see exactly where each variable is referenced across actions, flows, and settings.
- Per-Channel Actions: Pre-call and post-call actions can now be scoped to run on Voice, Chat, or both, and the new
interaction.CHANNELvariable lets prompts and flows branch by channel. - Summary Language: Choose the language AI call and chat summaries are written in per agent — any configured language, or Auto to match the detected conversation language.
- Chat Widget Test Values: Add a per-variable test value to chat widget variables and preview variable-driven behavior in the in-platform test chat — test values never reach your live website widget.
- Persistent Chat Widget Sessions: The embeddable chat widget now keeps sessions alive across page reloads and tab closes within a 10-minute reconnect window, with per-visitor session separation and a “Start new session” control.
- Payment Methods: Add a new card in Billing → Payment methods via a secure embedded Stripe form, set it as default, and remove old cards.
- Professional Services Hours: Purchase Professional Services hours directly from the billing portal ($200/hour), track the remaining balance, and review the work log in billing history.
- Call History Direction Columns: Call History now shows Caller ID, To (dialed number), and Direction (Incoming/Outgoing) columns — included in CSV exports, and search now matches the called number.
- Opportunity Discovery: New Optimize capability that scans ticket and call transcripts with AI to auto-generate FAQs, system instructions, and a business case.
- Partner White-Labeled Sign-In: Partners can claim a dedicated subdomain so their customers see partner branding on the sign-in and forgot-password pages, before login.
Fixes
Fixes
- Chat Escalation UX: Failed live-agent handoffs now show a clear status banner, and the conversation stays alive instead of ending when a handoff fails.
- Chat Transcript Styling: Restored correct formatting of assistant messages in the transcript viewer, test chat, and embedded widget.
- Freshchat Handoff Reliability: Fixed issues with handing off sessions to FreshChat agent.
- Integration Action Logs: Action logs now record the real third-party endpoint URL (with credentials redacted) instead of the internal proxy URL.
- Conversation Summaries: Call and chat summaries no longer intermittently omit sections.
- Action Editing: During-call action parameters no longer swap position while editing, action names stay in sync with their flow names, and the required-parameter toggle on integration actions persists correctly.
Patches
Patches
- Resolved issues with loading states in the portal for a more responsive interface.
- Cleaner integration action logs, with response payloads shown without wrapper noise.
Released 2026-06-09
Improvements
Improvements
- Transcript Viewer & Action Logs: Enhanced the Transcript Viewer alongside Call and Chat History Action Logs for improved readability and detail.
- Chat Widget Identifier Override: Added support for email and identifier overrides in the Chat Widget, allowing known users to bypass the email capture screen seamlessly.
Fixes
Fixes
- Interaction Retrieval: Improved interaction queries to correctly exclude soft-deleted AI Agents, ensuring accurate history and analytics results.
Patches
Patches
- Fixed various bugs affecting interaction functions and overall performance.
Released 2026-05-29
Improvements
Improvements
- Chat Widget Context: Improved chat widget behavior by injecting customer context directly into AI interactions to enhance conversation relevance and personalization.
Fixes
Fixes
- Integration Call Actions: Resolved issues with the
ConnectionIdparameter during call actions linked to external integrations. - Variable Picker Visibility: Ensured closing message variables are fully visible in the variable picker and correctly substituted at runtime.
- Deployment Consistency: Prevented the deletion of the loader version during agent deployment to maintain environmental consistency.
Patches
Patches
Released 2026-05-26
Improvements
Improvements
- Action Copy & Paste: Enable copying and pasting call actions (including flows and configurations) between different AI agents within the same account.
- Streamlined Pre- & Post-Call Flows: Converted Pre-Call and Post-Call actions into fully-featured visual flows, supporting API Request, Set Variable, and Decision nodes for advanced pre-call preparation and post-call automation.
Fixes
Fixes
- Freshchat Webhook Reliability: Resolved an issue causing the Freshchat webhook to silently drop agent messages due to message ID collisions.
- Billing History Invoices: Corrected an issue where the invoice list in billing history failed to render or refresh upon re-visiting the tab.
Patches
Patches
- Interaction Variables: Restored the missing
interaction.TRANSFER_DESTINATIONvariable to ensure reliable dynamic transfer destination routing.
Released 2026-05-15
Improvements
Improvements
- Added the capability to track handoff outcomes and user-agent chat transcripts in chat history.
Fixes
Fixes
- Addressed language selection bug when switched between multilingual and monolingual modes.
- Addressed multiple issues causing call drops during actions without API request nodes.
- Fixed formatting issues in the Guidelines editor and addressed integration action uncheck functionalities.
- Resolved various UI issues in the Guidelines editor and menu positioning.
Patches
Patches
Released 2026-05-07
Improvements
Improvements
Fixes
Fixes
- Resolved issues with Audit Logs to ensure proper visibility and accuracy.
- Fixed the sticky search box and integration drawer states during calls for more reliable navigation.
- Addressed rendering issues with ActionLog to enhance display functionality.
- Disambiguated greeting messages between chat and voice interactions to improve clarity.
Patches
Patches
- Refactored key-value string handling for improved action logs readability.
Released 2026-05-06
Improvements
Improvements
- Enhanced onboarding flow now supports Chat channel setup.
- New Regex Extract data transformer added for improved data manipulation.
- New interactions variable
CURRENT_DATEthat has the current date based on the AI Agent’s timezone.
Fixes
Fixes
- Resolved the issue with ActionLog rendering that was causing visual errors.
Patches
Patches
- Improved logging and JSON handling in the API request components.
Released 2026-04-28
Improvements
Improvements
- New Integrations: FreshChat, FreshDesk, and FreshService are now available as Connected Apps, letting AI agents interact with Freshworks platforms during calls and conversations.
- Chat Analytics: Added a dedicated Chat Analytics dashboard with headline KPIs (Total Chats, Unique Users, Avg Turns, Resolution Rate, User Satisfaction), outcome charts, transfer disposition breakdown, and real-time live updates.
Fixes
Fixes
- Resolved typography inconsistencies in the chat widget compared to in-app test chat.
Patches
Patches
Released 2026-04-14
Improvements
Improvements
- Action log added for Transfer actions to capture relevant details.
- Substring function added to the Data Transformer for enhanced text processing.
Fixes
Fixes
- Fixed issue with flows not being deleted when during call actions are deleted.
- Resolved UI layout issues for guidelines and default voice configurations.
- Updated the Forgot Password and password reset pages to fix theming issues.
Patches
Patches
- Package dependencies updated for better stability and performance.
- Enhancements made to the Guidelines Editor for improved user experience.
Released 2026-03-31
Improvements
Improvements
- Streamlined Onboarding: Reimagined the initial setup and agent creation workflow, making it faster and more intuitive to deploy your first and subsequent AI agents.
- Modular Block-Based Guidelines Editor: Replaced the traditional Markdown editor with a modern, block-based interface. This intuitive editor provides a flexible way to structure your AI agent’s instructions and guidelines.
- Quick Search & Navigation: Introduced a powerful search functionality (Command/Ctrl + K) that allows you to instantly find features and navigate across the platform with ease.
- Real-time Call Analytics: The Call Analytics dashboard now features live tracking with updates immediately following every call. We’ve also added advanced filtering to analyze performance for specific AI agent or groups.
Fixes
Fixes
- Fixed occasional issues with the WebSocket connectivity.
- Addressed bugs in the Refreshed UI to enhance overall stability and performance.
Patches
Patches
Released 2026-03-16
Improvements
Improvements
- Improved data export file naming for clarity.
- Added support for upper and lower case data transformations.
- Chat channel modality added to the Voice AI Agent.
- Added 3 year term along with the 1 year Commit & Save plan.
Fixes
Fixes
- Fixed an issue where during call actions displayed incorrect parameters.
- Corrected display of error messages in action logs.
- Fixed UI issues for certain post-call actions for Partners.
Patches
Patches
- Search and replace data transformer function can search for spaces.
- Optimized summarization in interaction processing.
Released 2026-02-24
Improvements
Improvements
- Introduced a yearly commit plan “Commit & Save”.
- Refined user satisfaction assessment analysis.
- Optimized summarization processing in interactions.
Fixes
Fixes
- Fixed an issue where end-of-call processing steps were not completing as expected.
Patches
Patches
Released 2026-02-19
Improvements
Improvements
- Added entries to live transcript and action logs for during call action invocations.
- Added entries to live transcript and action logs for decision node executions.
- Improved guardrails for AI Agents to not indulge in inappropriate conversations.
- Improved user experience for using expression references in data transformers.
- Included support for ACH payments in billing.
- Added Audit Logs support that tracks all changes and clicks across the platform.
Fixes
Fixes
- Corrected behavior for calls not terminating if the transfer destination is empty.
- Fixed variable naming validation to ensure compliance with system standards.
- Fixed various bugs to enhance backend transaction stability.
Patches
Patches
- Patch added for resolving mTLS profile import/export failures.
- Updates made to prevent duplicate variable creations for assistants.
- Adjusted timeout settings for Guidelines Assistant to prevent timeout errors.
Released 2026-02-05
Improvements
Improvements
- Introduced mTLS integration for better security in communications.
- Improved flow editor by adding a “Set Variable” node, allowing users to set variables dynamically.
- Abilily to download newly uploaded documents to Knowledge Groups
Fixes
Fixes
- Fixed action references in guidelines in AI Agent duplication and Import.
- Fixed issue with calls not properly disconnected in some situations.
- Fixed a rendering issue related to the initial message after autosave.
- Resolved an issue where switching authentication types in Auth Profiles disrupted functionality.
- Fixed bugs related to document management in the knowledge base.
Patches
Patches
- Updated variables in task import/export frameworks for accurate recognition in call actions.
Improvements
Improvements
- Ability to perform call analytics on a custom date time range
- Add user dissatisfied badge and filter to call history page
- Customer Satisfaction metric card in Call Analytics
- Containment Rate card metric updated to Resolution rate Metric card
- Summary Issue field should surface key points discovered from the conversation
- Support for variables in Transfer and End Conversation messages
Fixes
Fixes
- Call Analytics and Billing Usage details not starting at start of UTC midnight
- Fix for call summary not generated for calls in some cases
- Fix Input Handling for Data Transformers with Custom Text and Dynamic Variables