Changelog
What's new in volai
Selected changes that affect how you use volai - not every commit, just what's visible from the API, the MCP server or the portal.
The calls and SMS number now costs 49 CZK
The Prague landline number that people can call and text and that your agent calls and sends SMS from now costs 49 CZK instead of 390 CZK per 30 days excluding VAT. If you already have one, the new price applies from your next renewal. SMS from the number still costs 2.50 CZK per segment and calls are billed by the price list.
A number in another country
Alongside the Prague number you can now get a number in another country. It receives calls for your agent, and your agent calls from it to Czechia, and also to the country of the number where that is enabled for the country. A number in another country does not handle SMS; SMS stay with the Prague number. The number purchase page shows which countries you can order, and the offer grows step by step. Activation usually takes up to 1 business day and at most 3 business days, and up to an hour for some countries.
Numbers from every region
The number purchase page now lists more regions too, such as Ostrava, Plzeň, Olomouc, Zlín, Hradec Králové and Liberec. You buy a number with a regional area code the same way as a Prague one and for the same price. A region can be sold out for a while, and we restock on an ongoing basis. A number at your own premises address is still ordered separately.
Numbers by region: more precise labels and groundwork for regional offers
Numbers from an order now show the exact region name, such as "Moravian-Silesian Region" instead of "Ostrava Region". Numbers with the 47 area code used to be labelled Liberec by mistake; they belong to the Ústí nad Labem Region. The number offer does not change: Prague, Brno, the 910 range and Bratislava can be bought right away, and a number from another region is ordered with the address of your premises.
Custom webhook headers: a clearer form
After an error the webhook form keeps the URL and the checked events as you entered them and shows the message next to the field that caused it. When you change the URL to a different domain, the saved header values are cleared right away and the form says why. Clicking into a shortened value selects all of it, so you overwrite it rather than append to it. Custom headers have a help tip and the docs describe the exact limits.
Webhook with custom headers
The webhook can now send custom HTTP headers with every event, for example Authorization: Bearer with a key. You can send call and SMS events straight into an automation or a service that only accepts authenticated requests, with no relay in between and no polling of the API. Set the headers in the portal under Connections & API in the Webhooks section, through the API or through MCP. Saved values are shown shortened and only sent to the domain of the webhook URL; if you change the URL to a different domain, enter them again.
Voice message: call, read a text and hang up
For alerts and notices nobody answers, enter a number and a text. volai calls, reads the text once up to three times and hangs up. You need neither an agent nor a number of your own. Send a message in the portal on the Calls page (Send a voice message), through the API or through MCP. Only the outbound minute is billed, per second; text-to-speech is included and no agent surcharge applies, and a call nobody answers costs 0 CZK. The callee sees a shared volai number, and a call back to it reaches the volai demo line. A voice message is meant for operational notices, not unsolicited marketing: automated calls without the callee's consent are illegal. An account with a verified email can send it after its first credit top-up, at most 200 messages per 24 hours.
Anyone can now order a calls and SMS number
A Prague landline number that people can call and text and that your agent calls and sends SMS from can now be ordered by yourself in the portal on the Numbers page. It costs 390 CZK per 30 days excluding VAT, the fee is charged only after activation and received SMS are included. An SMS from the number costs 2.50 CZK per segment, goes to Czech numbers (+420) only and has no delivery reports. The number is registered to the service provider and you use it; it becomes active once the carrier approves the registration, usually within 1 business day and no later than 48 hours. Calls are answered by an agent on volai's own voice engine. Receiving SMS was verified on the O2 network, and we do not guarantee verification codes from services.
Monthly spending cap for calls, SMS and the agent
Under Credit you can set how much calls, SMS and the voice agent may cost in one calendar month (from 50 CZK to 1,000,000 CZK). At the share of the cap you choose (default 80%) you get a warning e-mail, and once the cap is reached new outbound calls and SMS are refused until the month ends or you raise the cap. Inbound agent calls end after one sentence once the cap is reached, unless you explicitly allow them above the cap. The cap is optional and nothing changes without it. It does not stop calls that are already running, number fees or the monthly plan, so a month can end slightly above the cap.
Agent knowledge can be imported from a web page or a file
In the agent editor, the What the agent knows field now takes text from a public web address or from a .txt or .md file. Longer text is summarized to fit 20,000 characters, the portal shows it as a preview before saving, and you can add it after the existing knowledge or replace it. The change is saved into the draft; the live agent changes only after publishing. The API and MCP do the same.
A request to close the account is sent with a reason
Under Settings, instead of an e-mail link you now find a form: you pick the reason for closing, optionally add a note and confirm that you understand what happens. The request does not delete or change anything by itself, the volai team handles it by hand and a confirmation arrives by e-mail. The same request can be sent through the API and MCP.
A thumbs-down from the call e-mail can be completed with a reason
When you click thumbs down in the call e-mail, the rating is saved right away and on the page that opens you can pick a reason and add a note in a single form. Before, there were only five separate buttons and no note.
A message to podpora@ gets an acknowledgement
When you write to podpora@volai.cz, you get an automatic confirmation that the message arrived, saying that we usually reply within one business day, with a link to the status page.
New Trust page
At volai.cz/en/trust (in Czech volai.cz/duvera) you find in one place where the data of calls, SMS and your account lies, who touches it, how long we keep it, how we protect it and what we cannot do yet.
The demo agent can be called from the browser on the website
The website gains a Call from your browser button that lets you try the volai demo agent with a call right from your browser, without signing up. The call is a demo, it is recorded and the agent speaks Czech. We are switching it on gradually, so it may appear only after a while.
Documentation fixes: the calendar writes only with confirmation, the number for calls and SMS is on request for now
The texts for people and for AI assistants now say exactly that the calendar can create a new appointment only after an explicit confirmation and deletes nothing, and that the number for calls and SMS is set up on request through support for now. The trial call also states that an unanswered call counts towards the daily limit, and the FAQ names Milena as the default Czech voice.
An agent tool can wait for the caller's clear consent
A tool of an agent can now require consent: volai's own voice engine then runs a tool that sends or creates something (an SMS or a request, say) only when the caller's last reply clearly says yes, and on an unclear reply (“Hello?”, “Yes?”) the agent asks again. In the portal you turn it on with the switch Require the caller's clear consent in the tool editor, in the API and MCP with the requireConfirmation field; it is off by default. It applies only to an agent on volai's own engine in Czech or Slovak, and for an agent that is already running it takes effect only after that agent is next published (through the API, also after it is next saved), so turn it on outside a campaign run. After a failed save, the tool editor also no longer loses the chosen method, the type and source of a parameter, or the description you typed.
Monthly plan: more accurate API and wording for a plan that is ending
For a plan set to end after the paid period, the card on the Credit page, the sidebar, the mobile chip, the notice on the Overview and the notice in the API no longer promise a new monthly credit; they say the plan is ending. The e-mail about a failed renewal or about the end of a plan on an account without a saved card no longer claims the bank declined the payment; it says the card is missing. The API and MCP also report that a new plan cannot be started while one is running (the field available is false), and repeating a plan change after an outage finishes what is left instead of failing on a tier the account is already switching to.
A call the voice engine never reported no longer uses up a task attempt
When the voice engine never reported a call of a task and we closed it as undialed after two hours without a report, it used to take one of the contact's attempts and end up in review; with the Lorela Enterprise retry policy the contact could then only be skipped. Such an attempt no longer counts, nothing is charged, and the contact is retried no sooner than a minute later. The contact goes to review after the third such attempt in a row at the latest, earlier only when the next attempt no longer fits before the end of the task, and the portal explains the reason.
Test calls show how many attempts you have left and when the next one is available
The test call on the agent detail page now shows how many of your three attempts per 24 hours are left. Every dialed attempt counts, including unanswered ones, but those are not charged - the result after an unanswered call now says so too. Once you run out, the button locks and shows when your next test call is available. The rate_limited error in the REST API and MCP (test_call) carries the same time.
Contacts in review no longer stop a task that still has calls to make
When you pause a task in the middle of a call and the call is then settled, the task stays paused and can be started and edited again, even if other contacts are waiting for your decision. Before, it ended up in Needs review and could not be started until you had dealt with every contact in review. With the Lorela Enterprise retry policy (enabled through the API or MCP; the portal does not enable it), a contact whose last allowed attempt ended unanswered, busy, with a voicemail or with an answered call in which the person said nothing is also closed as skipped right away and no longer waits for review. For tasks without the policy, which includes every task created in the portal, the last unanswered attempt still goes to review.
The automatic retry horizon of a task can be set to 1 to 30 days
For an outbound task with the Lorela Enterprise retry schedule you can now choose how many days after a contact's first attempt it may still be called again: 1 to 30 days instead of a fixed five. The value is shown on the task page and can be edited in the calling rules, and it can be set through the API and MCP as well. If you raise it on a paused task, contacts that had run out only because of the five-day limit go back into the queue.
Your number on the callee's display from the very first call
A number you buy or order is now prepared for outbound calls right after purchase - previously this could take up to an hour. Callees therefore see your number, not volai's demo number, even on the first calls from your own agent through relay. If the preparation fails in rare cases, it is retried on the next call. The bring-your-own-agent guide and the create_relay_lease tool now say explicitly that every call attempt, including a retry after an unanswered call, needs a new lease.
The recording notice is now your choice
The agent no longer tells callers on its own that the call is recorded. The sentence “Please note this call is recorded.” (in the agent's language) is added to the end of the first line only for agents where you turn it on - in the agent editor, Recording card, or right when you create the agent, option “Tell the caller the call is recorded”. On 22 Oct 2026 we removed it from agents that had it added automatically; a notice you wrote into the first line yourself stays as it is. Informing callers about recording is your responsibility as the data controller.
Task budgets hold to the heller and recording off now applies on the built-in engine too
An outbound task never spends more than the budget you gave it: an attempt's reservation is exactly the highest possible price of a call lasting maxDurationSecs, and a call ended by the duration cap is billed for at most the cap, even when it ends a fraction of a second later. Turning recording off for an agent works the same for agents on ElevenLabs and on volai's own voice engine: the call is not recorded and its detail has no recording.
An inbound call turned away because the lines were full now shows as missed
When all lines for inbound calls are full, the caller cannot get through. Such a call now appears in the Calls list as missed, labeled "No lines available", and shows up in the "Needs attention" strip with a Call button, so you can call the person back. You pay nothing for it. Until now such a call stayed in the list as "In progress" forever; the existing ones close on their own.
A plan offer only for ongoing spend, not for a one-off campaign
We show the personal plan offer on the Credit page only when your spend is ongoing: usage over the last two weeks alone (with monthly number fees) is worth at least the price of the recommended plan level. A single one-off campaign from past weeks no longer brings up an offer of a monthly commitment. Where a plan would save money but the personal offer is not shown (hidden, a recently cancelled plan, a one-off peak), the line no longer says that a plan does not pay off. The AI receptionist page now has a link below the plan levels for those who want to try it first: sign up without a plan and get 50 CZK of free credit, no card needed.
The plan card shows your last period, and the credit warning uses the same pace as the card
After a plan renewal the plan card on the Credit page shows how much of the last period's monthly credit you used, with the same figures as the renewal e-mail, and, if you topped up, how much came from topped-up credit. The warning on the overview that your credit runs out before the renewal now uses the same cautious pace as the monthly credit outlook on the plan card: it also looks at the last week and at the pace since the period started, so it warns you in time while your usage is ramping up.
The plan renewal email also suggests a higher level when it would cost you less
If you top up a lot during a period and a higher level would cost you less for the same spend, the plan renewal email now says so with the amount, just as it already does for a lower level and for paying by the second. Its button opens the level change directly. Buttons in plan emails now take you through login straight to the row they are about (cancelling, plan level, top-ups, payment or card), even when you are not logged in in that browser; if you are, they redirect you right away.
Signing up with a chosen plan level tells you what you are choosing
When you choose a plan level on the website, sign-up now tells you which level it is, what it costs including VAT and how much monthly credit it gives, and email verification tells you that you then go on to turn it on. If you want to try it first, there is a link below the form to sign up without a plan. We keep the chosen level with your account for 30 days, so verification takes you to turning it on even if you come back to it later; the privacy policy now says so.
A plan that follows your actual spend: usage in the renewal e-mail, advice before renewal and management in rows
The plan renewal e-mail now says how much of the last period's monthly credit you used and adds one honest piece of advice based on your spend: that your level fits, or that paying by the second or a lower level would cost less. Three days before renewal an e-mail arrives only when another option would cost you less, with a button straight to cancelling or changing the level in the portal; otherwise nothing arrives. On the Credit page an account whose plan would save at least 50 CZK and 5% at its last 30 days of spend sees a personal offer with figures from its own spend; others see a short line instead of three cards. Plan management is in rows (When the credit runs out, Plan level, Payment card, Invoices, Cancel plan); changing the level shows what each option would cost at your spend, and cancelling offers at most one honest alternative. The monthly credit outlook also looks at the last week and at the pace since the period started, so it no longer promises that the credit lasts while your usage is ramping up. The e-mails for a failed renewal, the cap and a cancellation say what to do, and waiting for the payment confirmation admits after two minutes that it is taking longer.
New: a monthly plan with a fixed price and more credit than you pay
Nothing changes on your account: pay-per-second credit works as before and topped-up credit never expires. What is new is an optional monthly plan. For 490, 990 or 1,990 CZK a month excluding VAT you get a monthly credit of 600, 1,300 or 2,800 CZK, which is about 190, 420 or 920 minutes of calls with the agent, number included. The credit covers the whole price list, and whatever is left at the end of the period expires. It pays off from roughly 3 calls a day, and the calculator on the AI receptionist page works out the cheapest option for your volume. You can start, change or cancel the plan any time on the Credit page.
Plan before the pilot: consumer request only for consumers, an honest cap, runway against the renewal
Fixes after the plan review of 17 October 2026 (the offer stays off). A business that fills in its address and company ID only in the plan form no longer has to tick the consumer request to start the service, and neither Stripe nor the activation e-mail treat it as a consumer. The choice for when the credit runs out says what happens to calls: with the cap, once the credit and 50 CZK of debt are gone the agent tells callers that the line is unavailable, and that now appears in the option's name, on the plan card (status Cap reached), in the sidebar and in the 80% and 100% e-mails. You consent to the monthly charge by paying in Stripe with the terms in front of you, the portal button is Continue to payment and the texts are shorter. A subscriber sees whether the credit lasts until the renewal instead of the generic runway warning. Timing texts match hourly renewals, the activation e-mail also shows amounts including VAT and the tier buttons open the form with that tier preselected.
Monthly plan with a monthly credit for calls, SMS and numbers
An optional monthly plan now sits next to credit billed by the second: for 490, 990 or 1,990 CZK per month excluding VAT you get a monthly credit of 600, 1,300 or 2,800 CZK that is spent first at the standard price list. Unused monthly credit expires at the end of the period and is non-refundable (a consumer may withdraw within 14 days with a proportional payment under the terms); topped-up credit does not change, it never expires and is refundable on request. When you start the plan you choose what happens once the monthly credit is used up: either credit is topped up from the saved card, or a spending cap applies and nothing more is bought, so you pay at most the price of the plan in a month. The offer is off for every account for now and will be switched on gradually after production verification and a pilot; the API and MCP gained endpoints and tools to read, start (by link), change and cancel the plan, but raising what is charged to the card always needs a person to confirm it in the portal.
Call goal evaluation is saved again
From 16 September 2026, the goal evaluation (Achieved, Not achieved, Unclear) was not shown for calls on volai's own engine, because the portal discarded it due to an error in processing the engine's results. The error is fixed and new calls have the evaluation again in the portal, in the after-call e-mail, in the summaries and in the API. Calls from that period do not have an evaluation yet.
SMS number add-on: receive SMS and reply from your own number
volai can now receive SMS too, with the SMS number add-on. A Czech mobile number of your own costs 390 CZK per 30 days excluding VAT with received SMS included: you see the messages in the portal, over the API, MCP and webhooks, and you can reply from your number for 1.90 CZK per segment. Voice numbers still do not receive SMS, without your own number SMS still go out under the name SMSinfo, and we do not guarantee delivery of verification codes from other services.
Silence floors at the end of a reply for dictated numbers and long speech
An agent on volai's own engine can wait until the caller finishes a number or takes a breath after a long stretch of speech. Two new silence floors keep the reply open a little longer only where callers typically continue: when the reply ends with a group of digits (a caller dictating a phone or company number group by group) and after speech longer than a set threshold. Set them in the agent's detail (Advanced tab, End of reply card), over the API or MCP; the recommended first step for Czech agents that take dictated numbers is 800 ms. Agents without a setting behave as before.
Strict language lock for speech recognition and dropped lines from the greeting window
An agent on volai's own engine can have a strict language lock for speech recognition: the transcript then sticks to the agent's language, so a short "Ano" on an outbound call is not written as a foreign word or in another script. Turn it on in the agent's detail (Advanced tab), over the API or MCP; we recommend it only for Czech agents with outbound calls, not for Slovak ones. The call detail also shows what the person who answered said during the agent's first line that the engine deliberately did not take (a "Hello?" or their name) - such a call used to look as if the person had stayed silent.
Default variable values for inbound calls
When an agent's first line or instructions use a variable you supply when dialing an outbound call (such as an opening question), it stayed empty on inbound calls and the line ended without a question. You can now give the agent default values for these variables on inbound calls, so the caller hears the whole line. Set over the API and MCP, for agents on the engine and on ElevenLabs alike.
Ring: open gates and locks with a single request
The new ring feature calls a number from your volai number, lets it ring for at most the chosen number of seconds and hangs up; the call never connects. It is meant for GSM gates, barriers and locks that open when they see a call from an allowed number: add your volai number to the gate's allow list and your app then opens the gate with one request. Rings do not count towards the automatic blocking of numbers after unanswered calls. The price is CZK 0.25 per attempt excluding VAT; if the other side answers, the connected seconds are billed on top at the outbound call rate. The portal has a Ring button on every number and rings show up in Calls.
A newly connected number now shows up from the very first outbound call
If you connected a number to an agent and called out right away, the person you called could see volai's demo number +420 266 266 641 instead of yours for several hours, and calling back reached the demo agent. Your number now shows from the first call, and if the setup ever fails while connecting, it completes on its own within an hour. Numbers you already have are not affected - they are all set.
Fixed Vapi guide: a BYO SIP trunk without login credentials
The Vapi guide said to fill in a username and password for a BYO SIP trunk address, but with them the inbound call never connects. The guide on the website, in the portal, in the docs and in MCP now says to leave both fields empty and explains how to enter the netmask 24 in the gateways and which address a Vapi organization in the EU region uses. volai no longer saves a username and password for a Vapi BYO trunk address.
First-line protection and a custom silence reminder in the portal, API and MCP
For outbound calls of an agent on volai's own voice engine, you can now protect the first line from being interrupted by a short reaction from the person who answered ("Hello?", "Yes?"), and set your own silence reminder sentence instead of the default reminder for the agent's language. Both are optional and, unset, the agent plays as before. The call transcript now marks an agent line the caller interrupted.
SMS are outbound only and go out under the name SMSinfo
We clarified how volai handles SMS: it only sends messages, under the shared sender name SMSinfo, which recipients cannot reply to. volai numbers receive calls only, and volai does not receive or forward SMS. Earlier updates mentioned a "volai" sender - that is only an internal label on the message, recipients never see it.
A call where a person spoke first is no longer treated as a call with an automated caller
A call in which the caller first talked to your agent and only afterwards just a repeated message was left on the line (for example because the caller put the call on hold) is treated as an ordinary call: it keeps its summary and is billed like any other call. The "Automated caller" label stays only on a call in which no longer sentence was heard besides the repeated message.
A call with an automated caller no longer needs attention, a call with a person is always billed
A call with an automated caller on the other end no longer shows up among the calls that need attention, and the weekly summary does not count it as a handled call or as a caller. It stays in the Calls history labeled "Automated caller". A call where a person spoke up during the wait is billed like any other call, even when its processing arrives late.
A call with an automated caller on the other end is labeled and not billed
When the caller is not a person but an automated system that keeps repeating the same message (for example a queue or a dialer), volai ends such a call after briefly waiting for a human. In the Calls list you now see it labeled "Automated caller" and you pay nothing for it - the price is 0 CZK. This applies to calls of up to five minutes, which is the usual length of such a call; a much longer call is billed like any other. A call where a person spoke up during the wait and the agent carried on with them stays an ordinary call.
An agent whose language you change to Czech or Slovak moves to the own voice engine
An agent created in English, German or Polish starts on the standard ElevenLabs platform. When you later changed its language to Czech or Slovak, it stayed there with the Katty voice and without the Milena, Tereza, Jan and Marek voices. Now it moves to volai's own voice engine by itself after saving and gets the new language's default voice (Milena, Katarina), just like a newly created agent; you can pick another voice in the Voice tab. The voicemail note for an agent on ElevenLabs now says what to actually do: write to podpora@volai.cz and we will move the agent.
An inbound-only agent no longer loses the Milena, Tereza, Jan and Marek voices
If you turned off "Use for outbound tasks" in the new agent wizard because the agent should only answer incoming calls, a Czech or Slovak agent was created on the standard ElevenLabs platform with Katty as its only voice, without Milena, Tereza, Jan and Marek. The option no longer decides the platform: Czech and Slovak agents are always created on volai's own voice engine and can be used in Tasks either way, so the wizard no longer offers the option for these languages. If an agent was created this way before, support will move it to the engine - just write to podpora@volai.cz.
Tasks: a clearer detail after a pause and an exact explanation of attempts
The detail of a paused or finished task says in one sentence what is happening and what to do next. After you decide about a contact, the task can be started again right from the message. After "Keep reviewing" the keyboard focus returns to the button, so you can carry on from the keyboard. The Overview shows the number of contacts to review even for a task that is waiting for a decision. The calling rules describe attempts and call length in words. The documentation now says exactly that the maximum of attempts is the highest number of automatic dials of one contact, the first call included (1 means no retries; a contact you manually send back for another try gets one more dial), and what counts as an attempt: every attempt where the call could have happened, not one that volai rejected before dialing.
Tasks: a clearer detail and an attempt rejected before dialing no longer counts
The task detail is clearer: a running task shows where to decide, a contact that needs review has a Needs review badge, phone numbers look the same as elsewhere and actions are confirmed right at the contact. The task list and the Overview show contacts waiting for review even for a running task, and links to parts of Settings now jump to the right place even when opened from an email. An attempt that volai rejected before anything was dialed (a blocked, your own or an invalid number, the do-not-call list) no longer counts toward attempts from this version on. When you lift the block, retry and the number still cannot be dialed, the contact does not show "Attempts 2 / 1", because nobody called. Contacts that went through such a rejection earlier keep their previous attempt count.
Tasks: a busy number only waits a moment and a number that cannot be called no longer stops the whole task
When another call to the same number is running right now, the task no longer sends the contact to review: it waits and tries again on its own a little later, and the other contacts keep being dialed in the meantime. If the number stays busy repeatedly, the contact finally waits for your decision. A number that cannot be called (do-not-call list, automatic block, invalid, premium-rate, your own) now stops only its own contact, not the whole task; you decide what to do with it at the end, once the task has finished. For an automatically blocked number the portal has a Lift the block and retry button, and for a contact another attempt cannot help it offers only Skip. The list of contacts waiting for review is easier to understand and the link goes straight to Settings.
Tasks: an unanswered contact is no longer dialed over and over, and a stuck task can be started again
In tasks with more than one attempt, a contact that did not answer the first time could be dialed more often than the task allowed - the calls only stopped once the number was automatically blocked. If you then skipped that contact, the task could not be started again and reported an unresolved reservation even though nothing in it needed attention. Both are fixed: every contact is dialed at most as many times as the task allows, and the affected tasks can be started again. For a contact that cannot be called because of the automatic block or the do-not-call list, the portal now says why and what to do.
Manual suspension of an agent or account by the operator
In justified cases (for example while investigating misuse), the volai operator can manually suspend a single agent or a whole account. A suspended agent can't receive or make calls or send missed-call SMS; on a suspended account, calls through agents, SMS, the API and MCP stop working. Nothing is deleted - settings, history and numbers stay in place, and everything resumes where it left off once restored. A suspended account only sees an explanation page in the portal, with its tax documents to download and a support contact.
The suspicious wording check recognizes more phrasings
The check for suspicious wording in an agent's configuration, draft, tool description, variables and tasks now recognizes more ways of impersonating an authority or another institution and more requests for sensitive information. It is still just a warning you can disregard if this is a legitimate use.
An outbound task waits when the account's lines are full, and the backup sync finds calls with an uncertain dial
An outbound task that hit the account's maximum of concurrent agent calls used to stop with Needs attention and wait for you, even though a line freed up on its own moments later. It now waits a minute and continues by itself; the attempt does not count against the contact. An agent call whose confirmation from the voice engine got lost is now also found by the backup sync with the engine, so it is closed and billed correctly even when the post-call report never arrives either.
An agent call whose confirmation got lost is no longer dropped
When volai's own voice engine placed an agent call but its answer did not reach us in time, the call used to be marked as failed and went unbilled even though it happened. It now stays in the history as started, and we fill in its real outcome and price; a call that never happened is closed as failed at no charge after two hours. The same number stays locked for about 15 minutes in the meantime, so the person does not get two calls.
A flag for suspicious wording in an agent's configuration
When an agent's configuration, draft, tool description, call variables, a task's name or variables, or a trial call prompt contains wording that may come across as impersonating an authority or another institution, or as a request for sensitive information, the portal, REST and MCP now flag it. Nothing is blocked - it's just a warning you can disregard if this is a legitimate use.
Daily outbound call limit raised to 1000 per account
An account can now dial up to 1000 outbound calls a day instead of 200, so campaigns run over the API or as outbound tasks no longer stop in the middle of a working day. The 10 calls per minute limit, at most 2 concurrent agent calls and the in-house voice engine's outbound-minute limit stay the same.
An outbound task no longer gets stuck on a call price and just waits at a limit
An outbound task no longer stays in Needs review forever because of a call that was never dialed: such a call is never billed, so it settles at 0 right away and the task moves on. Skipping a contact whose price is still being verified lets the task continue when it has work left. When a task hits the outbound call limit, it no longer pauses; it waits and continues on its own once the limit frees up. A call by an agent on volai's own engine that was never dialed now shows a price of 0 in the history (for tasks as well as API and MCP calls), and a task that pauses itself after an error now says in the portal why and what to fix.
An exhausted outbound call limit returns 429 with Retry-After
When an account uses up the in-house voice engine's outbound call limit, POST /v1/calls and MCP make_call now return 429 rate_limited with a Retry-After header saying how many seconds to wait. Previously a misleading 502 engine_unavailable made it look like the engine was down, and scripts retried right away. The limit is also counted from the minutes actually called instead of a fixed estimate per call, so short calls use it up much later. An outbound task no longer counts such a rejection as an attempt and pauses until you resume it.
Customer webhooks got an event_id and keep retrying after an outage
The call.completed/call.failed/call.no_answer/call.missed webhook now carries a new event_id field, and a failed delivery no longer gives up after three attempts - it stays queued and retries over the following minutes, up to 5 rounds. Use event_id to filter out a duplicate, in the rare case one arrives more than once.
A warning for variables an inbound call cannot supply
When a connected agent's instructions use a variable an inbound call does not supply (say, one from an outbound campaign), the portal and API now flag it - the same as when the first line is made up only of variables and is empty once they're removed. The warning never blocks saving, publishing or rolling back a draft.
The agent also watches your other calendars
Commitments often live in more than one calendar - rehearsals in one, performances in another. The agent can now take those into account: it still writes only into the one calendar you picked, but it will not offer a time when any of the selected calendars is busy. Pick them in the agent's Calendar tab, up to four. Read-only calendars work too.
The agent no longer asks for a date when you name a day
When a caller says "Tuesday morning", the agent takes the nearest Tuesday and checks the calendar right away. It used to ask for the exact date, an extra step in the conversation.
Missed-call SMS also after voicemail
When an agent's outbound call is answered by voicemail, it counts as a missed call: the other party gets the SMS asking them to call back, the same as when nobody answers. Most people never listen to voicemail, but they do read the SMS.
Calendar: exact time zone offset and alternatives on the right day
When an agreed time gets taken in the meantime, the agent offers free times on the day you agreed on, not the next free time overall.
Calendar in calls: the agent only writes where it can
The Calendar tab in the agent editor now preselects your primary calendar. Read-only calendars, such as public holidays or a colleague's shared calendar, are shown but cannot be selected - the agent could not write an appointment into them. We also fixed the calendar picker that stayed empty after turning the calendar on.
Call rating, day-7 check-in, connecting your own number and more from the paying-customer review
After every call you can rate it good or bad with one click - from the portal, from the call-summary email, and over REST and MCP; "Bad" asks for the reason and saves it as a flagged issue. The test call in the agent editor walks you through it as a real customer and afterwards shows whether the agent met its goal and what it recorded, with a direct step to connect your business number. On day 7 after signup, an account with no outside caller yet gets an email asking whether the agent is picking up calls, with a guide to forwarding your number if not. Your existing number can be connected with a single carrier code, verified with a test call. Both the new-agent wizard and the agent editor know your company name and can load it, along with key facts, from your website. The agent can text the other party after a missed call asking them to call back - turn it on in the editor (after your first top-up) or over REST and MCP, and see the exact text that goes out. A new weekly summary email. Credit shows the VAT-inclusive amount up top with no friction, and auto top-up is only offered after the first payment.
Calendar in the call: the agent finds a free slot and books it on the spot
A voice agent on volai's own engine can check a connected Google or Apple calendar during the call, tell the caller whether a time is free, offer the nearest open slots and book the appointment right there. Availability rules (windows per weekday, appointment length, a buffer between appointments, minimum notice, search horizon) are configured on the agent. The same free-slot search and booking also work outside a call over REST and MCP - handy for your own booking form, for example.
Done for you: extra revision rounds, setup refunds and a landing page
Second wave of Done for you. The revision rounds included in the package (Business 2, Company 3) stay free; any round beyond that costs 490 CZK, deducted from credit once the founder finishes it. When the founder refunds the setup fee (a missed deadline, or the agent not matching the brief), the portal now issues a correction tax document against the original invoice by itself - find it on /credit next to the other documents. The date on a regular credit top-up's tax document now matches the actual moment of payment, not when the Stripe session was created. Done for you now has its own ad landing page at /receptionist-done-for-you.
Turn your agent's laughter on or off, per agent
An agent on volai's own voice engine can laugh back when you or the caller laugh or joke - until now only on the demo line, now available to every agent with a Czech Cartesia voice. In the agent's settings (Voice tab) you choose Automatic (leaves the decision to sensitive-topic detection, like debt collection or healthcare), On or Off. The change takes effect from the next call.
Done for you: volai's founder builds your agent by hand
A new way to start when you don't want to build the agent yourself: describe your business and what the agent should do, and within 24 business hours of payment (weekends don't count, and the Express add-on shortens this to 4 hours) volai's founder builds the finished agent, with a phone number, by hand. The price comes from a fixed catalog (the Business or Company package plus add-ons like calendar booking or a second language) - no haggling over hours. One payment covers the setup fee and a first credit top-up; you're notified once the agent is ready, try a call yourself, and only then launch it - a setup-fee guarantee applies until you do. A small single-person business with light call volume and no integrations gets a simpler Lorela recommendation instead. Start at /done-for-you, the guide is at /docs/done-for-you.
Pick any of your numbers in the agent editor, including forwarded ones
The agent editor used to offer only free numbers, so a number you had temporarily forwarded to your mobile or connected to your own PBX could not be picked there. Now it shows all your numbers along with who answers them right now, and before you publish it tells you what will happen - for example that forwarding is cancelled or saved PBX credentials are deleted.
Publishing a draft no longer touches a number it never decided on
Publishing an agent's draft used to silently disconnect a phone number you had just attached on the Numbers page - hitting Publish was enough to stop the phone ringing, even though the draft never made a decision about the number at all. Now the agent's number only changes when the draft explicitly decides to, and the editor shows upfront exactly what publishing will do. Attaching a number no longer stops a running outbound campaign either.
Technical engine call failure - honestly labeled, never billed
A call on volai's own voice engine that connected but then ended due to a technical error on our side (not the callee's fault) is now honestly labeled "Call ended with a technical error" instead of "Completed by agent". Such a call is never billed. The call summary no longer blames the caller for silence caused by our own failure. An outbound campaign task call in this situation retries automatically, the same as a no-answer - our error must not stop a campaign or block the dialed number.
Silence reminder - configurable in the portal, API and MCP
An agent on volai's own voice engine can now ask once, after a set number of seconds of silence, whether the caller is still on the line. Turn it on and set it from the agent detail - new agents are protected by a default of 10 seconds from now on. The field for an agent on the standard platform (ElevenLabs) is visible, but not editable in the portal - you can set it there via the API or MCP, and it takes effect once the agent switches to volai's own engine.
A simpler portal built around your work
The overview offers direct paths to incoming calls, outbound calls and SMS. Unfinished setup has a clear next step. Prepare and test your agent first, then connect a phone number when needed. During outbound preparation, you can create an agent and return to your draft in the same tab.
SMS after your first credit top-up
Only an account that has topped up its credit at least once can now send SMS from the shared sender "volai". The welcome credit does not cover SMS, not even with a number of your own - you can still try calls and the agent with it. On the SMS page, the portal explains why and links to top-up instead of showing the form.
A deleted tool in a call phase has its own warning
When a call phase references a tool that is no longer on the account, the response says so directly: the tool was deleted and the phase has to be saved without it. It used to advise adding the tool to the agent, which is impossible once the tool is gone.
Clear recovery after revoking an assistant connection
After access is revoked, setup offers the appropriate way to reconnect. Connections using volai sign-in do not ask you to replace an API key.
Katty has working studio and phone previews
The voice picker for ElevenLabs agents now plays Katty in both studio and phone quality. Missing recordings no longer lead to a preview-unavailable message.
Connect your assistant and stay in control of the work
Start by connecting Claude Code or Codex, or choose Continue in the web app. After connection, the overview shows results, work in progress and decisions that need attention. AI assistant is directly in the mobile navigation; manual controls and developer tools remain available.
Language-aware default engine for new agents
The engine default can be enabled for selected languages, Czech and Slovak by default. This rule applies only when the engine default is enabled and available; otherwise new agents start on ElevenLabs. The portal form adapts to the actual provider selection. Existing agents are unaffected.
Split a call into phases with their own instructions
An agent can now have multiple call phases, each with its own instructions, knowledge, tools and opening line. The agent decides when to move to the next phase based on what the caller said. The agent editor has a new Scenarios tab.
The default voice for ElevenLabs agents is Katty
After listening to the candidates we picked Katty as the voice for new ElevenLabs agents - an energetic, trustworthy female voice with clear articulation. It replaces Jana, which was the default for only a few hours; agents created with Jana in the meantime were switched to Katty. Agents with Anet keep speaking as before.
Assistant setup now has a clear finish
Setup is complete after the connection is verified. Example prompts are optional and can be closed. An existing API key does not require another sign-in or creating a task.
Clearer call results and connection guidance
Call filters explain goals versus call status and which filters apply to statistics. A zero count of unachieved goals no longer asks for review. Unavailable integrations do not request credentials. Public MCP guides now lead to the agent-prompt wizard first.
Connect your AI assistant with one prompt and see real outcomes
Copy one prompt into your assistant’s chat. Confirm sign-in on volai.cz; the guide verifies a successful account read. Manual configuration remains available. The overview distinguishes successful, failed and unevaluated call goals. Connecting a source explains where to continue; returning preserves your task draft and refreshes available connections.
New ElevenLabs agents use the Jana voice, softphone registration to a line works
Creating an agent on ElevenLabs works again: ElevenLabs stopped assigning the Anet voice to new agents (its author turned on live moderation), so new ElevenLabs agents get the Jana voice - a warm female voice with clear articulation. Agents that already have Anet keep speaking with it. Registering a softphone to a line (credentials from the number detail) used to be rejected by the carrier; lines are now provisioned correctly and newly bought lines are provisioned automatically.
Connect AI apps by signing in to volai
AI apps can connect to volai through sign-in and explicit consent without copying an API key. View connected apps under API and MCP in the portal and revoke access immediately. Existing API keys continue to work. The plugin includes Codex and Claude manifests; listing in their official directories requires separate approval.
Outbound trunk address is sip.volai.cz, TCP is the recommended transport
Your own agent on ElevenLabs, Vapi or a third-party PBX now sends outbound calls to sip.volai.cz - the same address as the server field. The outbound trunk authenticates with the username and password from the number detail. We recommend TCP for the trunk and registration: a large INVITE may not fit the UDP packet size limit and the platform then refuses to send it at all. Existing setups keep working; switch whenever you like.
SIP details without technical footnotes, a truthful caller number and more reliable call matching
The number detail, the guides and the Advisor now describe connecting your own agent (ElevenLabs, Vapi, a PBX) without technical notes about the network - copy the values from the number detail, the outbound trunk address is the outboundTrunkAddress field. Calls answered on volai's own voice engine show the real caller number; an anonymous caller is marked as anonymous, never as your own number. Inbound calls are matched more reliably, so they no longer show up twice in the history.
Warning when an agent's greeting is too long
Both the agent editor and the new-agent setup now show an estimated spoken length next to the first line (including the call-recording notice) and warn you when it goes over 7 seconds - along with a recommended shape (name, company, a short AI notice and a question) and a button that shortens it to that form, with a confirmation step and an undo. A long greeting raises the risk that a caller hangs up before the agent finishes.
Guides use the same connection name as the portal
Documentation, integration guides and error actions point to AI assistant for access management. MCP makes clear that the voice engine is required to start an outbound task; a task can also be created with an ElevenLabs agent.
Documentation matches assistant onboarding and the actual API capabilities
Start by verifying the connection without a call, then choose a first task. Search finds API and MCP functions beyond the current page; guides align limits, access, calendars and task billing settlement. Examples for Claude Code, Python and other clients are corrected.
An auto-blocked destination can now be unblocked, calls sort by time
An automatic block on a destination, which kicks in after three failed attempts in a day (no answer, busy or rejected), can now be lifted in Settings or via the API and MCP, instead of waiting out the 30 days. The call list now sorts by time, newest first, instead of alphabetically by conversation id. The test call panel now tells an unanswered call apart from an actual failure, and a name written in ALL CAPS gets the correct vocative form (RADEK -> RADKU).
Voicemail detection on outbound calls - the engine recognises it and marks, hangs up, or leaves a message
An agent on volai's own voice engine can now recognise within a few seconds of pickup that a voicemail answered instead of a person. In the agent's settings you choose what happens next - just note it and keep the call going, hang up right away, or wait for the beep and read a message you write. The call list then shows "Voicemail answered" for such an outbound call instead of the usual outcome.
Calls that never connect close right away, answeredBy documented in the schema
When the callee does not pick up or rejects the call, volai's own engine now ends the call itself, reports it, and the call in the portal closes within a minute as No answer instead of waiting for the periodic check. This includes the test call from the agent detail. The machine-readable API schema also states that answeredBy is only sent for outbound calls. Czech e-mails now address you in the vocative case.
Tasks: up to 1000 contacts per task
A single task now takes up to 1000 contacts instead of 100, in the portal, over REST and MCP. The whole task including its variables must fit in 2 MB, otherwise creation fails with a clear error. The task detail lists contacts a hundred at a time and refreshes large tasks less often.
Calls from a SIP client are now billed automatically, fixed duplicate billing
A call dialed directly from a registered SIP client or your own PBX (outside our API) is now billed back automatically from the operator's call log - usually ten to thirty minutes after the call ends, so it won't show up on your credit right away. Our documentation used to promise this without actually doing it; now it does. We also fixed a bug where an outbound call from an ElevenLabs agent to another volai number produced a second, foreign record for the recipient with a foreign transcript and a duplicate charge - the affected record was removed and the credit corrected.
Tasks: a contact under review can be retried or skipped, and a campaign no longer stalls after a couple of calls
A contact that ended up under review (a call without a result, a dial that was not placed, an expired lock) now has Retry and Skip buttons on the task detail. Once no contact is left under review, a task in Needs review moves to Paused and Resume task continues it. Before, there was no way out of that state. Two causes of a campaign stalling after two calls are fixed as well: a call whose result the engine never delivered is closed from the engine's own log instead of waiting two hours, and every finished call frees its place in the limit of two concurrent calls per account. A full concurrency limit no longer sends the contact under review, it is simply retried on the next run.
Tasks: a pasted list of numbers works with a Phone: header, and the task detail shows what the agent still needs before a start
A pasted contact list now goes through even when the phone column is labelled differently from an exact phone - for example Phone:, Telefon or tel. číslo - and a bare list of numbers without a header, one per line, works too. CSV errors are grouped into one line per kind of problem instead of dozens of identical rows, and the preview says how many contacts are ready to call. The task detail also lists what the agent still needs before a start (a published version, a text test) with a link to the place where it is done; a refused start describes the same steps.
answeredBy on outbound calls only, SMS cap without your own number
The answeredBy field (human / voicemail) only makes sense for outbound calls - we used to return it for inbound calls too, where a brief caller reply looked like a voicemail. From this version inbound calls omit the field. An account without its own number and without a top-up can send at most 3 SMS from the shared volai sender; this applies in the portal and over the API alike.
One changelog source for the website, the docs and the API
News on the website, the changelog on the API docs, and the machine-readable changelog now all read from the same source - nothing is written twice, so they cannot drift apart. The RSS feed can now also be requested per area.
Outbound tasks (campaigns) over REST and MCP
Creating, updating, starting, pausing, reconciling, previewing a CSV and deleting an outbound task now also works over the API with the same limits and errors as the portal; MCP has everything except the CSV preview and delete (irreversible actions stay REST and portal only). The portal also got a Delete task button that requires typing the task's name to confirm.
Product news in the portal and by email
The News item in the Developer tools group now shows a count of unseen entries and links to the News page; anyone who does not want to wait for their next portal visit gets a daily email digest of news in their account's language. Sending it can be turned off in Settings.
Your agent in the editor can see your Google Calendar
Connect a Google account in the portal under Connections and the same API key can list calendars and events over REST and MCP and change the title, start or end of an existing event. The interface never creates or deletes events, and every change needs explicit confirmation (confirm: true) after the user approves it - the agent shows the original values and the proposal first. Five GET/PATCH /v1/integrations endpoints and six MCP tools were added (list_integrations, list_calendars, list_calendar_events, get_calendar_event, propose_calendar_update, confirm_calendar_update). Google has not yet verified the sensitive events scope, so connecting shows Google's unverified-app warning; the connection still completes.
API errors now say whose problem they are
Every REST API and MCP error carries a new cause field - request (fix the request), account (change the account state: credit, limits, ownership, verification, or check the id), busy (another operation is still running, wait and repeat the same request) or service (a problem on our or a provider's side, retry shortly) - and an action field with one sentence on what to do. validation messages name the field, the actual value and the accepted maximum instead of the raw validator text. An AI agent in the editor can therefore tell the customer whether to fix the code, the account, wait, or whether the problem is on our side - and no longer reports an input error as a volai outage. The change is additive, no status or code changed; the interface version is 1.3.0.
Your agent in the editor can do the whole account setup
The Overview has a new card, Onboarding through your agent: one click creates an API key and you copy a single sentence into Claude Code, Cursor or another agent. Through the volai MCP server it asks what your voice agent should do, calls you for a test from a demo number and, once you approve, buys a number and puts the agent on it. If you set the account up in the portal instead, the same prompt appears as the last step of the What's left to set up card. The procedure for agents is described in SKILL.md, in the Onboarding section.
Agent drafts in the public API, OpenAPI and a webhook test event
A saved agent draft - save it, optionally try it with a text simulation, then publish it with a single call - is now a full part of the public API and MCP: GET/PUT /v1/agents/{id}/draft, POST .../draft/publish, GET/POST .../draft/operation, POST .../simulate, and four matching MCP tools (get_agent_draft, save_agent_draft, publish_agent_draft, simulate_agent_draft). Simulation is free, optional, and capped at 20 per hour. Added POST /v1/webhook/test (checks delivery regardless of your event subscription) and GET /v1/webhook/deliveries with the last 20 deliveries. GET /v1/calls and GET /v1/messages now return hasMore/nextBefore for pagination with no manual offset math. The whole API also has a machine-readable description at GET /openapi.json. Every error body carries requestId and docsUrl, and every response carries RateLimit-* headers. The public interface version is now 1.2.0 - agent drafts were already public from 5 Sep 2026, but without a stable contract, so they are excluded from the versioning guarantee up to and including 1.2.0 (details in the Versioning section of the REST API docs).
Transfer to a human on volai's own engine keeps the call with volai
The agent on volai's own voice engine now transfers by bridging: it tells the caller it's connecting them, dials your number, and goes silent once you pick up - the call continues between the two of you over volai until one of you hangs up. If you don't answer, the agent apologizes and offers to take a message. The call detail page gained a Transfer card with the outcome and a link to the second leg. On the standard platform, transfer doesn't work, so an agent you turn transfer on for is switched to volai's own engine automatically.
Reason for an unsent SMS, SIP PBX status and GET tools
When the phone network rejects an SMS, the messages list and the API (failReason) now tell you why - most often an emoji the network cannot deliver, or a virtual number that does not receive SMS. Emojis are stopped before sending and we tell you which character is the problem; nothing is charged in that case. A number in the Own SIP PBX mode shows right in its card where inbound calls go (to your PBX, or to devices registered on the volai line) and how the last inbound call went; the phone registration status is shown for a number routed back to the volai line. When the last inbound call to your PBX does not connect, we send you an email - at most once every 24 hours; for a volai line without a registered phone we send a notice at most three times a week. An agent tool using the GET method can be saved again (the voice platform rejected the shape of the query parameters), and a call that came right after a missed attempt by the same caller no longer stays stuck as in progress in the call list.
Five languages, transfer and tools on volai's own engine, agent goal in the API
The voice agent on volai's own engine now also speaks Slovak, English, German and Polish - each language has its own pair of voices, available only for agents on volai's own engine (an agent on ElevenLabs speaks the chosen language with the Anet voice). The engine also now supports transferring to a human, outbound calls and test calls - an agent without its own number makes its test call over the volai line, the callee sees the volai number on their display, and the call is billed like any other outbound call. An agent on the engine can now call your webhook tools too, just like an agent on the original platform always could. The REST API and MCP now accept and return the call goal (goal), the agent's knowledge (knowledge) and the post-call email toggle (notifyEmail) - previously these could only be set in the portal.
Agent templates, a call goal, statistics and the after-call email
You now create an agent in two steps - pick a template for your industry and adjust the text; you can also set a call goal, which is evaluated after the call as met, not met, or unclear. For agents running on volai's own voice engine, an email with the summary arrives after every call - you can turn it off per agent or in Settings, which has a new "When we email you" card. The overview page has a "Needs attention" strip and a sentence on how the last 7 days of calls went, Calls gained filters, search and CSV export, a note and an error flag per call, and the portal gained a whole Statistics page. Forms now carry help right next to the fields, pages have a short intro, and the feedback widget became an Advisor that answers how-to questions about the portal first. The privacy policy now also lists the processors behind volai's own voice engine. At the time of release the agent on volai's own engine did not yet transfer to a human, call out or make test calls, use tools, and spoke Czech only - all of that arrived in the entry above, the same day.
A blog, integrations and an AI receptionist by industry
The website gained a blog with guides and comparisons, an overview of integrations into developer tools, AI receptionist pages for individual industries, and a Twilio migration guide.
Email support actually gets through now
Write to podpora@volai.cz and your message goes straight to the team - we will reply to it by email.
The website and portal, bilingually
The whole public website and the portal now run bilingually - Czech with no prefix, English under /en/. The REST API and MCP server always speak English, regardless of the account's language.
A trial call without a number or an agent
A single API request calls your phone from a shared volai demo line with your own system prompt. No need to buy a number or create an agent first, just hear how it sounds.
The agent can transfer a call to a human
The voice agent can now hand a call off to your own number when a caller asks for a human or hits something the agent can't resolve. The transfer is billed like a regular outbound call, with no agent surcharge.
Call recordings for the voice agent
Every call handled by the voice agent now comes with an audio recording alongside the transcript - play it back in the call detail in the portal. Recording can be switched off per agent, and recordings are deleted after 90 days.
EU businesses pay without Czech VAT
A business registered for VAT in another EU country can add its VAT number in account settings. Once it's confirmed by the VIES register, we invoice without Czech VAT, under the reverse-charge regime.
The agent can call your own endpoint
You can attach a webhook tool to the voice agent - an address it calls during the conversation, using the response to keep talking. Handy for checking an order or an available appointment slot.
Your own voice agent on a volai number
A volai number can now connect to your own voice agent outside volai (ElevenLabs, for example) through a short-lived SIP relay connection, not just to our built-in agent.
A list of numbers not to call
Add a number to your account's do-not-call list and no outbound call will reach it anymore - not from the API, a test call, or relay. SMS is not affected.
Automatic credit top-up
Set a threshold and an amount, and your credit tops itself up from a saved card before it runs out. It has a monthly cap and switches itself off after repeated card declines.
A webhook to your own address
Set an address and volai sends a signed request whenever a call finishes, goes unanswered, or an SMS is sent - five event types in total.
SIP login details for your own client
For a purchased number you can now pull its SIP login details (server, username, password) and register it directly in your own PBX or softphone, not just through the volai portal.
Try volai
Signing up takes a minute, and your first 50 CZK in credit is on us.