Phone Book Support in Call Transfer API
You can now reference an existing phone book in call transfer actions with phone_book_id, bringing the API in line with the UI.
Synthflow TTS voice model
Synthflow TTS is now available as a voice model option in the agent editor. It delivers low-latency, natural-sounding speech across 32 languages with 12 built-in voices.
The GET /voices endpoint now supports search and provider query parameters for filtering, and voice responses include provider, gender, and languages fields.

Outbound number pooling for agents
You can now assign multiple outbound phone numbers to one agent and choose the caller ID for each outbound call. See the Outbound Number Pooling guide.
Knowledge Base API: New Endpoint
You can now update existing knowledge base sources by source ID. The endpoint supports name, url for link and file sources, and content for text sources.
Contacts is now Memory

Nothing was removed, we just cleaned up where things belong. The page that used to be called Contacts in the left-hand sidebar is now Memory, which better describes what it actually holds: the long-term knowledge your agents reuse across calls.
Phone books now live inside Call Transfers, so they sit alongside the rest of your call-handling tools instead of in a separate area of the app. You’ll find them in the same place you configure transfer destinations, no need to switch sections to manage routing.
Salesforce Sandbox support in custom actions
Custom actions now support Salesforce Sandbox environments. Use the Salesforce integration guide to connect Salesforce Production and Salesforce Sandbox in the same workspace and choose the right environment for each action.

Subaccounts API improvements: New permission and quota fields
We’ve improved the Subaccounts API with more options to manage subaccounts, including explicit permission mutations, finer-grained quota controls, and additional permission flags returned.
The legacy permissions object on Update Subaccount is no longer accepted for permission changes; use grant_permissions and revoke_permissions instead.
New request fields on POST and PUT Subaccount
New response fields added to the permissions object returned by GET Subaccount:
Updated endpoints:
New EU region
The EU cluster is now available for new workspaces, with all data storage and compute kept inside the European Union. Cluster selection is permanent, so review your data residency requirements before creating the workspace.
See Clusters & Regions for details.
Global SIP trunking — new signalling and media IPs
We’re expanding the Global region with additional signalling and media infrastructure. New IPs must be allow-listed before the rollout on May 21, 2026.
This change affects Global-region SIP trunking customers only. US and EU regions are not affected.
What you need to do
Update your firewall or ACL rules to include the new Global-region signalling and media IPs:
New signalling IPs (ports 32681 UDP/TCP, 32682 TLS):
34.75.151.191/3234.23.45.239/3235.231.28.238/32
New media IPs (UDP 10000–60000):
34.139.134.5834.73.14.1634.139.114.28
See the SIP trunking network guidelines page for the full updated allow-list, effective May 21, 2026.
If you have questions, raise a support ticket.
Subaccount API — Deprecation of permissions object
The legacy permissions object in the PUT Subaccount endpoint is being deprecated and will no longer be supported for permission updates.
Effective date: May 5, 2026 (in two weeks)
What’s changing
The current permissions object (boolean-based) will be removed from the update flow. Permission updates must instead be made using the new explicit mutation fields:
grant_permissionsrevoke_permissions
Why this change
This update introduces explicit and unambiguous permission handling, preventing accidental overwrites and making permission updates safer and more predictable as the permissions model expands.
What you need to do
If you are currently sending:
You should migrate to:
Important notes
- Requests containing the legacy
permissionsobject will be rejected after the effective date. - Only
grant_permissionsandrevoke_permissionswill be honored moving forward. - This change applies specifically to the PUT Subaccount endpoint.
Variables on SMS, real-time booking, and call transfers
Send SMS, real-time booking, and call transfers now support variables the same way as Custom Actions, so one value from the caller can flow through those actions without duplicating it.

In-call SMS and WhatsApp messaging
Voice agents can now send SMS or WhatsApp messages during a live call and feed the customer’s reply back into the conversation as a variable. This is useful for capturing details that are hard to relay by voice — one-time passcodes, email addresses, invoice IDs, links, and short menus of options.
- Two new action types,
INCALL_SMSandINCALL_WHATSAPP, attachable to a voice agent under the During phase. - Blocking or non-blocking reply handling with a configurable timeout and fallback message.
- Replies are injected into the call transcript and exposed as
{sms_reply}/{whatsapp_reply}variables. - Requires a connected Twilio account; in-call WhatsApp additionally requires a linked WhatsApp sender.
See the In-Call Messaging guide.