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 windows of the third and fourth retry of a task can be widened
For an outbound task with the Lorela Enterprise retry schedule you can now choose when the third and fourth attempt may be placed. The default narrow windows stay the morning 08:00-09:00 and the afternoon 17:00-19:00; the new wide ones are the morning 08:00-13:00 and the afternoon 13:00-20:00. The choice is in the calling rules of the task and can be set through the API and MCP as well. If you change it on a paused task, the times of waiting contacts are recomputed to the new windows.
Round top-up amounts in your own currency
Credit top-ups and automatic top-up now offer round amounts directly in the currency of your account, whether that is the euro, the zloty, the pound, the Swedish krona or another market currency. You choose, for example, 10 or 50 units and the credit is added exactly at the currency rate, with no remainders or conversions to work out. The amounts, the automatic top-up thresholds and the custom amount follow a table per currency, and the pricing page on the web shows the top-up amounts in the currency of each country. The amount charged to the card is the round base plus tax for your market, and you see the same price in the portal and on the tax document. A Czech account stays unchanged. Automatic top-up that is already saved and older links keep working.
A voice message from your own number and in your language
You can now send a voice message from your own calls and SMS number or number in another country: the callee sees your number and a call back follows that number's routing. You can have the text read in the recipient's language; from your own number the language of the country you are calling is used if you do not set one, and from the shared number the text is read in Czech unless you set a language. A message from your own number is billed for at least 60 s, for some destinations 90 s, longer ones per second. Existing messages from the shared number work unchanged and are still billed per second. We also fixed outbound calls from numbers outside Czechia, which the engine used to reject.
Numbers in the United States with a choice of city
You can now choose the United States when ordering a number, also on the map. You pick the city and area code from 67 cities, from New York and Los Angeles to every state except Alaska and Hawaii. The number receives calls and calls the United States and Czechia. The country selector shows the price before you order, and it is the same in every city. Customers do not need to provide a local address for the number. SMS is not available on it.
Accounts from Canada and Iceland
Customers in Canada and Iceland can now sign up on volai.eu in English and top up credit in Canadian dollars or Icelandic krónur. Credit works the same as in the other countries, and invoices carry no Czech VAT. SMS to these countries is not available yet.
Numbers in Iceland, Canada and Mexico
You can now choose Iceland, Canada and Mexico when ordering a number, all three also on the map. These numbers receive calls and call their own country and Czechia. The country selector shows the price before you order. Customers do not need to provide a local address for these numbers. SMS is not available on them. The voice agent now also speaks Spanish and Icelandic.
An account outside Czechia works like a Czech one
Emails from us arrive in your account's language, with amounts in your account's currency and links to your language version. Dates and times in the portal and in emails follow the time zone of your account's country. You can enter a phone number without the country code, in the national format of your account's country. The text message after a missed call now goes to the countries on the SMS price list, not only to Czechia and Slovakia. The receipt for a credit top-up prints the country you choose in your billing details.
A number in another country calls its own country too
The agent calling out from a number in another country can now call not only Czechia but also the number's own country: from a Polish number to a Polish phone, from a Dutch number to a Dutch one, and so on. This applies to every country where we offer numbers. A call is charged by its actual destination, and the number card shows the price per minute to the number's own country. Text messages are still not sent from a number in another country.
A Polish number now calls Poland too
From a Polish number the agent now calls Polish landlines and mobiles as well, not only Czechia. Tasks and campaigns can do it too: enter recipients with the +48 prefix and the calling window runs in Polish time. The number card shows the price per minute to each country.
SMS to other European countries
You can now send SMS to mobile numbers in Austria, Switzerland, the Netherlands, Portugal, Slovenia, Romania, Denmark, Estonia, Latvia, Bulgaria, Poland and the United Kingdom. The price is per message segment and differs by country; find it on the pricing page. The recipient cannot reply. SMS to Czechia and Slovakia do not change.
Website and portal in Swedish, Croatian and Greek
The website, the portal and emails are now also in Swedish, Croatian and Greek. An account from Sweden pays for credit in Swedish kronor, an account from Croatia or Greece in euros. The voice agent now also speaks Croatian and has two Croatian voices.
A number for calls in Poland
The map of Europe on the Buy a number page now includes Poland: a Warsaw landline (+48 22) answered by your agent. The number is for calls only, it has no SMS, and for now the agent calls out from it only to Czechia. The map and the number card show the price per 30 days.
A new account cannot enter the portal, the API or MCP until its email is verified
An account created on or after 5 November 2026 must first enter the six-digit code from its email. After signing in with a password it lands on the verification page; if the code from sign-up is no longer valid, a new one arrives. Once the code is entered it continues to the portal. Accounts created earlier are unchanged. A new code can be requested on the verification page at any time.
Buy a number on the map of Europe
You can now buy a number on a single page. Pick a country on the map of Europe (the country of your account is preselected), see the kinds of number with their price and icons showing what each one does, find the details in the hints and order with one button. For countries we are preparing there is a "Let me know" button: we sign you up and learn which country people want.
volai is getting ready for more EU countries
The groundwork for more European countries is done. Credit will be bought in the currency of the account's market and prices will be shown in it, a number in another country can be connected to an ElevenLabs agent, and the voice agent speaks 20 languages with voices for each. The website, the portal and e-mails are available in 13 languages (Czech on volai.cz, the others on volai.eu). SMS abroad through SMS Manager is coming soon and is not switched on yet; the offer of numbers in more countries grows step by step. Nothing changes for accounts in Czechia: credit stays in crowns and the website on volai.cz.
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.
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 support@volai.eu, 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.
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.
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.
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.
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.
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 support@volai.eu 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 support@volai.eu.
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 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.
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 support@volai.eu 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 //. 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 $4 in credit is on us.