Tata Smartflo Setup
This guide walks you through connecting your Tata Smartflo account to Vocobase for BYOP WebSocket calling.Configure Tata Smartflo with the V2 API (
PUT /api/v2/config/telephony/tata-smartflo) for the default connection. To create multiple named Tata Smartflo connections, use POST /api/v2/telephony/connections. Once Tata Smartflo is configured, start calls programmatically using POST /calls/start with "provider": "tata_smartflo".Prerequisites
- A Tata Smartflo account with panel email and password credentials
- API access enabled by Tata Smartflo for your account
- At least one Smartflo DID returned by
GET /v1/my_number - An approved Vocobase account with
"tata_smartflo"present inallowed_telephony_providers(checkGET /config) - A public HTTPS backend URL where Smartflo can reach the Vocobase resolver and lifecycle webhook
Get your Tata Smartflo credentials
1
Find your Smartflo panel credentials
Use the same email and password you use to sign in to the Smartflo panel. Vocobase uses these credentials server-side to mint short-lived Tata Smartflo API tokens when it calls Smartflo on your behalf.
2
Enable API and Voice-Bot streaming access
Ask Tata Smartflo to enable API access and Dynamic Voice-Bot streaming for your account. The Smartflo panel must be able to call your Vocobase backend at the Dynamic Voice-Bot endpoint and lifecycle webhook URL.
3
Identify the DID you will use
Smartflo DIDs come from
GET /v1/my_number. Copy the number you plan to use as the caller ID or inbound DID.The number should be stored in E.164 format in Vocobase (e.g., +918011223344).Configure Tata Smartflo in Vocobase
Send the credentials through the V2 API.email, password, and from_number are required; base_url is optional and defaults to the Tata Smartflo API host.
This endpoint updates your default Tata Smartflo connection. To create multiple named Tata Smartflo connections, use
POST /api/v2/telephony/connections and store the returned connection_id.Create a named connection
For new BYOP builds, prefer named connections so each Smartflo account or DID set has a stableconnection_id.
agent_number wiring for outbound click_to_call is pending Tata confirmation. Do not pass agent_number unless Vocobase has confirmed the value to use for your Smartflo account.connection_id — PATCH /api/v2/telephony/connections/{connection_id} only renames a connection. Do not re-send the create request above: it adds a second connection rather than updating the first. To rotate the default connection instead, re-send the PUT /api/v2/config/telephony/tata-smartflo request at the top of this page with the new values; that endpoint replaces the stored credential set rather than patching it, so every field is required on each call.
Confirm it is configured
GET /api/v2/config reports Tata Smartflo under allowed_telephony_providers and shows telephony.tata_smartflo.configured: true once your credentials are saved. See Check provider access.
Make a test call
Start an outbound call with"provider": "tata_smartflo".
"provider": "tata_smartflo" when starting calls.
If your account has more than one active Tata Smartflo connection, also pass connection_id — omitting it returns CONNECTION_AMBIGUOUS. See Bring Your Own Phone for the full request and response shape.
Provisioning checklist
Complete these items with Tata Smartflo before live traffic:Troubleshooting
”Tata Smartflo not configured” or 403 on /calls/start
- Confirm
"tata_smartflo"is inallowed_telephony_providersfromGET /config. If it is not, contact your Vocobase account manager. - Confirm
email,password, andfrom_numberwere saved (telephony.tata_smartflo.configured: true).
Smartflo rejects credentials
- Re-check the email and password against the Smartflo panel sign-in.
- Confirm Tata has enabled API access for the Smartflo account.
- If you recently changed the panel password, re-send
PUT /api/v2/config/telephony/tata-smartflowith the new password.
Inbound calls do not reach the agent
- Confirm the DID appears in
GET /v1/my_numberfor your Smartflo account. - Confirm the DID is routed in the Smartflo panel to the Voice-Bot streaming app, not only to a regular queue or SIP endpoint.
- Confirm the Dynamic Voice-Bot endpoint URL includes
secret=<TATA_RESOLVE_SECRET>and maps$callId,$fromNumber,$toNumber, and$status.
Calls answer but do not update status in Vocobase
- Confirm the lifecycle webhook URL is
https://<backend>/api/tata/lifecycle. - Confirm Smartflo is sending the answer and hangup triggers with
Content-Type: application/json. - Check whether Tata Smartflo is sending an equivalent inbound trigger for inbound calls.
Next steps
Telephony Connections
Create and manage multiple named connections.
Inbound Calls
Sync and assign inbound Smartflo DIDs.
Bring Your Own Phone
Overview of all supported BYOP providers.
Quick Start
Create an agent and make your first call.