> For the complete documentation index, see [llms.txt](https://docs.voiceb.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.voiceb.ai/product-updates/july-2026-voiceb.ai-product-release.md).

# July 2026 — VoiceB.ai Product Release

***

July moved VoiceB **from conversation to execution**.

Where June put the agent lifecycle in the operator's hands, July changes what the agent can *do* while it talks. **Tools are now a platform capability**: any agent can query, validate, and write data against your systems in real time — coverage checks, customer lookups, CRM writes — configured once at the organization level and reused across every agent, with no custom engineering per client.

July also opens **a second channel**: the VoiceB widget now supports **text chat as a first-class agent type**, with seamless escalation from chat to a live voice call in the same session — and full parity in the Campaign Dashboard.

And because execution starts with reaching the lead at all, July hardens the contact loop too: a warm-up SMS before every outbound call.

The objective: **agents that don't just talk — they act on your systems, on every channel.**

***

**🚀 Key Highlights**

* **Tools (Beta)** — real-time HTTP actions during live calls, built once at org level, attached to any agent, and auto-published to the voice provider
* **Chat channel in the widget** — a new "Chat" agent type across voice providers, with chat-to-voice escalation in the same session and full Campaign Dashboard parity
* **Warm-up SMS for outbound calls** — leads get a text before the agent calls, so they recognize the number and pick up
* **Agent Studio hardening** — a CS-editable configuration layer and system prompt versioning with draft, test, publish, and rollback
* **Two-Step Verification (2FA)** — an additional authentication layer for every platform account

***

**✨ Tools (Beta) — Your Agent, Connected to Your Systems**

A Tool is an HTTP action the agent can call autonomously during a conversation. The AI decides when to trigger it based on the tool's description and the context of the call — checking if the caller is an existing customer, verifying coverage by ZIP code, pushing a qualified lead to the CRM mid-call, booking an appointment, or retrieving live order status.

What ships in July:

* **Org-level reusable tools** — build a tool once (e.g. "Check coverage by ZIP code") and attach it to as many agents as you need. Edit it in one place; every agent gets the change.
* **Auto-publish to the provider** — any change to a tool is automatically published to the agent's voice provider. No manual sync, no drift between systems.
* **Import from provider** — migrating an existing agent? Pull its tool definitions into VoiceB in one click — name, description, method, URL, headers, and parameters. From that moment, VoiceB is the source of truth.
* **Typed, structured parameters** — every parameter has a location (Body / Query / Path), a type (string, number, boolean, object, array), a fill mode (AI-filled from the conversation, injected from a Variable, or Fixed), allowed values for enums, and a Required flag. The agent can't fire a tool with incomplete or malformed data.
* **Variables** — inject data you already have (`{{lead_id}}`, `{{name}}`, `{{phone}}`) from Click to Call or earlier in the conversation, so the agent never asks the caller for information it already knows.

[Tools — Connect Your Agent to External Actions →](https://docs.voiceb.ai/tools-connect-your-agent-to-external-actions-beta)

<div data-with-frame="true"><figure><img src="https://2950912279-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FggIr2RvhGm49D4vbjurT%2Fuploads%2FOlBbubJXPCx3MNYpFQbp%2Fimage%20(4).png?alt=media&amp;token=b13eb4b6-0699-49bc-b21c-9d19ee8e49eb" alt=""><figcaption></figcaption></figure></div>

*Image: Tools (Beta) section on the agent*

**Execution modes: Immediate vs Async**

Not every action deserves a pause in the conversation. Each tool now runs in one of two modes:

| Mode                    | What it does                                                                     |
| ----------------------- | -------------------------------------------------------------------------------- |
| **Immediate** (default) | The agent waits for the tool's response before continuing the conversation.      |
| **Async**               | The agent triggers the action and keeps talking, without waiting for a response. |

Use Immediate when the agent needs the result to continue — an order status or an availability check it has to read back to the lead. Use Async for actions whose result never needs to be spoken — registering an event in the CRM, triggering an internal notification. Running these in the background removes the awkward silences that external systems otherwise create.

Async mode is currently available for agents running on ElevenLabs.

[Tool execution modes →](https://docs.voiceb.ai/tools-connect-your-agent-to-external-actions-beta/tool-execution-modes)

**Why this matters**

Until now, connecting an agent to a client's systems was custom engineering — per client, per endpoint, per agent. With Tools, it's configuration: an admin defines the action, types the parameters, attaches it to the agents that need it, and validates it with a test call. Combined with June's Agent Studio release, the full loop — create the agent, connect it to your systems, publish, monitor — now lives in the console.

| Before July                                 | With Tools (Beta)                                                    |
| ------------------------------------------- | -------------------------------------------------------------------- |
| System integration = custom engineering     | System integration = a tool configured in the console                |
| One-off webhooks duplicated per agent       | Org-level tools reused across every agent                            |
| Tool definitions drift between systems      | VoiceB is the source of truth — changes auto-publish to the provider |
| Every external call pauses the conversation | Async mode keeps the conversation flowing while actions run          |

***

**✨ Chat — A New Channel in the VoiceB Widget**

The VoiceB widget is no longer voice-only. **Chat is now a first-class agent type**, running on the same platform architecture as voice agents — same scripts, same Outcome Engine, same reporting.

* **New "Chat" agent type** — available across voice providers through a provider-agnostic chat abstraction, so the channel doesn't lock you into a single vendor
* **Chat-to-voice escalation** — a visitor can start in text and switch to a live voice call in the same session, with the conversation context carried over (linked sessions)
* **Full configuration parity** — chat appearance, copy, and behavior are configured in the same widget settings as voice, per campaign and per language
* **Full dashboard parity** — chat conversations appear in the Campaign Dashboard exactly like calls: same outcomes, same tags, same filters. Only the channel type differs.

Why it matters: some visitors won't talk — in an open office, on public transport, or simply by preference. Until now, that demand bounced. Now the same autonomous agent captures it in text, qualifies it, and escalates to voice the moment the conversation is ready to close. One agent, one outcome taxonomy, two channels.

<div data-with-frame="true"><figure><img src="https://2950912279-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FggIr2RvhGm49D4vbjurT%2Fuploads%2FzVqR52YQ6MnhX353ZO2v%2FScreenshot%202026-08-25%20at%2012.03.00.png?alt=media&amp;token=62ac076b-1230-405f-a369-be99238d371d" alt=""><figcaption></figcaption></figure></div>

*Image: widget with chat panel open + "Voice instead" escalation*

***

**✨ Warm-up SMS — Get the Call Answered**

Pickup rates on unknown numbers are declining across the industry. Warm-up SMS attacks the problem before the phone even rings: when a call is scheduled in a campaign with the feature enabled, the lead receives a text — from 1 minute up to 1 week before the call — telling them who is about to call and why.

* Configured per campaign: sender DDI, timing, and message with `{{token}}` placeholders automatically replaced with lead and call variables
* If the call is cancelled or rescheduled, the pending SMS is cancelled automatically — leads never get a "we'll call you shortly" message for a call that isn't going to happen
* Available for Click to Call agents

[Warm-up SMS for outbound calls →](https://docs.voiceb.ai/api-click-to-call/warm-up-sms-for-outbound-calls)

***

**🔧 Improvements & Fixes**

**Agent Studio**

* **CS-editable configuration layer** — prompt, best practices, guardrails, and defaults are now editable by the Customer Success team directly, with no engineering involvement
* **System prompt versioning** — a full draft → test → publish → rollback flow for the configuration layer, extending June's version-control philosophy to the system level
* **Layout redesign + brand refresh** — Agent Studio's layout was rebuilt and the brand color system rewired across the whole app

**Dashboard & data quality**

* **TEST-call filter** — exclude test calls from the Campaign Dashboard in one click, so production metrics stay clean
* **Valid / Not Valid status** — a clearer top-level validity signal on every lead, aligned with the outcome taxonomy
* **Outcome–tag classification compatibility** — tighter consistency between outcome classification and tag logic
* **Transcript timestamps** — transcript view now shows timestamps aligned with the actual call time

**Agents & calls**

* **Configurable post-call analysis LLM** — choose the model that runs post-call analysis on ElevenLabs agents, per agent
* **Phone numbers as dynamic variables** — `customer_phone_number` and `agent_phone_number` are now available as variables at call start, usable in scripts and tools
* **Retry classification** — the *Ilocalizable* (unreachable) tag can now trigger on the final retry attempt, so exhausted retry chains are classified correctly

**CRM sync fixes**

* HubSpot timestamps are now sent with the correct date (previously could arrive as 1970 or shifted)
* HubSpot From/To phone fields are now logged correctly on inbound callbacks (click-to-call)

**Security**

* **Two-Step Verification (2FA)** — every account can now enable a second authentication factor at login. Part of VoiceB's ongoing security hardening program. [How to enable 2FA →](https://docs.voiceb.ai/how-to-enable-two-step-verification-2fa)
* **Data Collection Schema** — updated documentation and refinements to schema creation, keeping structured, validated data capture aligned with the new Tools layer. [Create a Data Collection Schema →](https://docs.voiceb.ai/create-a-data-collection-schema)

***

**Final Takeaway**

July was about **execution**.

May made sure every lead gets contacted. June put the operation in the operator's hands. July gives the agent hands of its own: it reaches the lead (Warm-up SMS), acts on your systems in real time (Tools), and meets the visitor on whichever channel they prefer (Chat, with voice one tap away) — all configured in the console, not engineered per client.

The distance between "the agent said it" and "the system did it" is now zero. What remains is what has always mattered: making every conversation convert.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.voiceb.ai/product-updates/july-2026-voiceb.ai-product-release.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
