Build on Voicetta
Voicetta handles customer communication across voice, SMS, and WhatsApp.
You build the product around it.
Use the Voicetta API to power your own dashboard, CRM, white-label product, workflow, or customer experience.
You can receive events through webhooks, or read the same data through the REST API.
What Voicetta handles
Voicetta takes care of the communication layer.
That includes:
- voice calls
- SMS
- transcripts
- conversation analysis
- outcomes and intents
- evaluations
- recordings
- follow-ups
- conversation history
Your product decides what happens with that information.
Store it in your database. Show it in your own UI. Add it to a CRM. Trigger a workflow. Build reports. Or build an entirely new product around it.
What you can build
A white-label product
Voicetta runs the communication and AI agents.
Your customers use your product, your UI, and your branding.
They do not need to know that Voicetta is behind it.
Your own communication dashboard
Build your own inbox, conversation timeline, activity feed, reporting, or customer view across voice, SMS, and WhatsApp.
CRM or PMS integrations
Push calls, messages, transcripts, outcomes, and customer information into the systems your team already uses.
Workflow automation
Trigger actions based on what happened in a conversation.
For example:
- create a lead after an inbound call
- notify a sales rep
- update a booking
- escalate an unhappy customer
- send a follow-up
- mark a conversation as resolved
Your own AI product
Use Voicetta as the communication layer behind a product you are building.
You do not need to build the telephony, messaging, conversation storage, transcripts, recordings, or conversation evaluation yourself.
The API
There are three main resources.
| Resource | Event | API |
|---|---|---|
| Voice call | call.completed | /v1/calls |
| SMS or WhatsApp message | message.received, message.sent | /v1/messages |
| Completed text conversation | thread.completed | /v1/threads |
Messages and completed threads are linked through thread_id.
Messages tell you what is happening.
Threads tell you how the conversation ended and how it was evaluated.
Webhooks or REST API
You can use webhooks, the REST API, or both.
| Webhook | REST API | |
|---|---|---|
| Who starts it | Voicetta sends the event | You make the request |
| Best for | Keeping your product up to date | History, backfills, recovery |
| Authentication | Signed webhook | API key |
| Endpoint | Your HTTPS URL | https://api.voicetta.com/v1 |
For most integrations, start with webhooks.
Use the REST API when you need historical data or need to recover something your backend missed.
The same underlying objects are available through both, so you can use one data model.
Getting access
- Open Settings → Developers in Voicetta.
- Create an API key, a webhook endpoint, or both.
- Choose the events and data you want.
- Start building.
API keys and webhook secrets are shown once when created. If you lose one, rotate it and create a new one.
When events arrive
Events are sent when the relevant data is ready.
| Event | Fires | Typical delay |
|---|---|---|
call.completed | Post-call processing is finished | A few seconds after hang-up |
message.received | A customer message is received | 15–30 seconds |
message.sent | Voicetta sends a message | 15–30 seconds |
thread.completed | A text conversation is closed and graded | About 30 minutes after the last message |
A text conversation is different from a message.
The message event tells you what is happening now.
The thread event tells you how the conversation went after it is finished.
Version 1
All API paths use /v1.
Within version 1, we only add fields. We do not rename, remove, retype, or change the meaning of existing fields.
Breaking changes get a new API version.
Design your integration to:
- ignore fields it does not recognize
- treat missing fields as normal
- switch on
event - ignore events it does not recognize instead of failing
New events and fields should not break an existing integration.
For AI coding tools
Every developer page has a Markdown version.
- This page:
/developers/overview.md - All developer docs:
/developers.md - OpenAPI 3.1 spec:
/open-api
The OpenAPI spec is generated from the running API.
You can point a code generator at it or give /developers.md to your coding agent.