Skip to main content
26th May, 2026

Custom SIP Headers on Inbound BYOT Calls

Inbound calls on BYOT SIP trunks can now map custom X- headers from the carrier’s INVITE (e.g. X-CALLERNO, X-UCID, X-ACCOUNT) into prompt variables on the agent.Declare the headers you care about on the agent, reference them as {caller_no}, {ucid}, etc. in the prompt, and optionally use a header value as the lookup key into a CSV / API / Google Sheet data source.Only active when the agent’s telephony provider is SIP Trunk.Learn more in the Inbound SIP headers documentation.
25th May, 2026

Async CSV reports for large agents and batches

CSV exports from Call History → Download Records are now generated asynchronously when the result set is large. For these reports, Bolna queues the job, builds the CSV in the background, uploads it to secure storage, and emails the requester a download link when it is ready.
  • Long-running exports no longer time out the dashboard request
  • You receive an email with a download link once the report is ready
  • Smaller exports continue to download inline, with no change
21st May, 2026

Transfer Phone Number Between Sub-Accounts

You can now transfer a phone number from one sub-account (or your main account) to any other sub-account in your organisation directly from the dashboard. Click the Transfer action on any number in the phone numbers list, select the destination account, and confirm.If the number is currently linked to an agent, the dialog shows a warning about the existing link before completing the transfer.Learn more in the Phone Numbers documentation.
20th May, 2026

Welcome Message: Ignore User Speech Now Available to All

The Ignore user speech before welcome message toggle in the Agent tab is now available to all accounts. When enabled, any speech from the user before the agent delivers its opening greeting is discarded, preventing premature interruptions on calls where the agent speaks first.Learn more in the Agent Tab documentation.
19th May, 2026

Search Call History by Phone Number

The call history filter now includes a phone number search field. Enter a number to filter executions to calls involving that number.
18th May, 2026
The call history page has been updated with several improvements:
  • Multi-select filters: Filter by status, call type, provider, batch ID, and date range using multi-select controls.
  • Searchable agent picker: The agent dropdown now has a live search field so you can find the right agent quickly regardless of how many agents are in your account.
  • Execution detail view: Clicking an execution opens a dedicated detail panel.
Learn more in the Call History documentation.
13th May, 2026

Improved Prompt Editor

We’ve made the following improvements to enhance the prompt-writing experience:
  • Typed inline chips: Variables (e.g. {name}, {email}) and function-tool references are inserted as chips with scope-aware colours, making the structure of your prompt visible at a glance.
  • Prompt library modules splice in: Inserting a module from the prompt library copies its content directly into the editor. No live link is kept, so module updates don’t silently change deployed agent prompts.
  • Live token counter: An estimated token count updates as you type, helping you stay within model context limits.
  • Module tags and categories: The prompt library picker now shows tags and category badges on each module for faster scanning.
  • Multilingual: All language tabs in multilingual agents use the rich editor.
Learn more in the Agent Tab documentation.
12th May, 2026

SIP trunks — TCP, TLS, and audio encryption

You can now create BYOT SIP trunks over TCP or TLS, and turn on end-to-end audio encryption on TLS trunks. See SIP trunk setup.
11th May, 2026
Breaking ChangeRecordingsAPI
Recording URLs are moving to a Bolna-hosted endpoint. Action required before June 1, 2026.

Recording URLs Moving to Bolna-Hosted Endpoint — Action Required by June 1

Direct Amazon S3 recording URLs will stop working after June 1, 2026. If your integration stores, parses, or fetches recording URLs, you must update it before that date.
Starting June 1, call recording URLs will be served through a stable Bolna-hosted endpoint instead of raw Amazon S3 URLs.New endpoint format:
https://api.bolna.ai/recordings/call/{execution-id}
https://api.bolna.ai/recordings/transfer/{execution-id}
Use the transfer variant if the call included a transfer leg.Previous format (will stop working after June 1):
https://bolna-recordings-india.s3.amazonaws.com/{vendor}/{file}.mp3
Where the new URLs appear:
  • GET /executions/{execution-id}telephony_data.recording_url and transfer_call_data.recording_url
  • Post-call webhook payloads — the recording_url field
  • Dashboard — already updated
The Bolna endpoint is permanent and stable. The resolved pre-signed link it returns expires after 24 hours — do not store or cache it. Store the execution-id and call the endpoint fresh each time you need playback or download access.
What to do before June 1:
  1. Audit anywhere your system stores, forwards, parses, or fetches recording URLs — CRMs, dashboards, post-call webhooks, data pipelines.
  2. Update base URL handling to call https://api.bolna.ai/recordings/call/{execution-id} instead of the raw S3 URL.
  3. Remove any caching of the resolved pre-signed link; always fetch fresh.
  4. Test your updated integration while direct S3 URLs are still active.
Why this change? Recordings are stored in private S3 buckets that require a signed URL for access. The new endpoint handles signing on your behalf, removes direct exposure of bucket structure, and enforces access controls at the Bolna layer.If you have questions, contact support@bolna.ai.
8th May, 2026

OpenAI Realtime Transcriber — GA with gpt-realtime-whisper

The OpenAI Realtime transcriber is now generally available on Bolna using the gpt-realtime-whisper model. This replaces the previous alpha model (gpt-transcribe-alpha-walrus) and connects via OpenAI’s GA ?intent=transcription WebSocket endpoint.What’s new:
  • Model updated to gpt-realtime-whisper — OpenAI’s natively streaming transcription model
  • Server-side VAD is built into the model — no manual endpointing configuration required
  • Streaming interim transcript deltas arrive as the caller speaks
  • effort parameter renamed to delay for clarity (controls latency vs accuracy trade-off)
  • Optional near-field noise reduction toggle
Set provider: "openai" and model: "gpt-realtime-whisper" in your transcriber configuration to use it.Learn more in the OpenAI Realtime Transcriber documentation.
6th May, 2026

Deepgram Flux Transcriber — Now Available

Bolna now supports Deepgram Flux, a next-generation transcription engine built for real-time voice AI. Flux models have turn detection built directly into the model, replacing external VAD-based endpointing with a richer event stream that lets agents respond sooner and handle barge-ins more accurately.Two models are available:
  • flux-general-en — English-optimised Flux model
  • flux-general-multi — Multilingual Flux model with built-in Language Identification
What’s new:
  • Configurable EndOfTurn Threshold (eot_threshold) — control how confident the model must be before committing to a final transcript
  • EndOfTurn Timeout (eot_timeout_ms) — maximum silence window before forcing a turn end, from 300 ms to 3 s
  • Eager EndOfTurn — Bolna can start an LLM request speculatively on EagerEndOfTurn, cutting perceived response latency; if the speaker continues (TurnResumed), the request is cancelled
  • Language Identification (flux-general-multi only) — detected languages are returned per turn, enabling dynamic multilingual handling without pre-configuring a language
Learn more in the Deepgram Flux Transcriber documentation.
5th May, 2026

Custom Headers for Webhooks

You can now send custom HTTP headers along with your execution-data webhook from the agent’s Analytics tab. Toggle Add headers next to the webhook URL and provide a JSON object of header key-value pairs — Bolna will include them on every webhook delivery for that agent.This makes it easier to authenticate webhook requests against your own services (for example, by sending an Authorization token, an API key, or a tenant identifier) without needing a proxy in front of your endpoint.Webhook configuration with custom headers JSON fieldLearn more in the Analytics Tab documentation.