For Agents
Send single and bulk SMS through Exotel, look up SMS message status, and fetch the details of an Exotel voice call by its CallSid.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Exotel API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fexotel.com%2Fexotel" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fexotel.com%2Fexotel" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Exotel API.
Send a single SMS to a destination number from an Exotel virtual number
Send a bulk SMS campaign with per-recipient dynamic message content
Retrieve the delivery status and metadata of a specific SMS by SmsSid
GET STARTED
Use for: Send an SMS notification to a customer's mobile number via Exotel, Send a bulk SMS campaign with personalised content to a list of recipients, Check the delivery status of an SMS I sent earlier, Get the call duration and status for a specific Exotel call
Not supported: Does not handle outbound voice campaigns, IVR flow design, email, or push notifications - use for sending SMS, retrieving SMS status, and fetching voice call details only.
Jentic publishes the only available OpenAPI specification for Exotel API, keeping it validated and agent-ready. Exotel is a cloud communications platform widely used in India and South-East Asia for cloud telephony, voice calls, and SMS. This subset covers core SMS send and call-status operations: sending single and bulk SMS, retrieving SMS message details, and fetching call details by CallSid. Authentication is HTTP Basic using your Exotel API key and token.
Fetch the call details, duration, and status of a voice call by CallSid
Use account-scoped paths so multi-tenant agents can target the right Exotel account
Authenticate per-account with API key and token over HTTPS
Patterns agents use Exotel API for, with concrete tasks.
★ Transactional SMS Notifications
Use POST /Sms/send to dispatch transactional SMS such as OTPs, order confirmations, or appointment reminders to Indian and South-East Asian numbers from an Exotel virtual number. Status can be confirmed with GET /SMS/Messages/{SmsSid}. Suitable for fintech, logistics, and healthcare flows where Exotel's regional regulatory compliance and DLT registration matter.
Call POST /Sms/send with To=+919876543210, From=<virtual_number>, and Body='Your OTP is 123456', then poll GET /SMS/Messages/{SmsSid} until Status is delivered.
Bulk SMS Campaigns with Dynamic Content
POST /Sms/bulksend accepts a list of recipients with per-recipient dynamic content, letting a marketing or operations agent send a campaign in a single API call. This is more efficient than looping POST /Sms/send and matches Exotel's billing model for bulk sends.
Call POST /Sms/bulksend with a list of {To, Body} pairs derived from a customer segment and capture the returned per-recipient SmsSids.
Call Outcome Reconciliation
After an Exotel voice call completes, an agent can call GET /Calls/{CallSid} to retrieve duration, status, recording URL, and from/to numbers. This is used to reconcile call outcomes into a CRM, score sales calls, or trigger downstream workflows when a customer was not reached.
Call GET /Calls/{CallSid} for a recently completed call, parse Duration and Status, and write both into the linked CRM contact.
AI Notification Agent via Jentic
An AI agent that sends customer notifications loads Exotel's send and lookup operations through Jentic. The agent searches by intent ("send an sms via exotel"), loads the operation schema, and executes with vault-held basic-auth credentials so the API key and token never enter agent context.
Through Jentic, search 'send sms via exotel', load the POST /Sms/send operation, and execute it with the recipient's number and message body.
4 endpoints — jentic publishes the only available openapi specification for exotel api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/Sms/send
Send a single SMS
/Sms/bulksend
Send a bulk SMS with dynamic content per recipient
/SMS/Messages/{SmsSid}
Get details of an SMS by SmsSid
/Calls/{CallSid}
Get details of a call by CallSid
/Sms/send
Send a single SMS
/Sms/bulksend
Send a bulk SMS with dynamic content per recipient
/SMS/Messages/{SmsSid}
Get details of an SMS by SmsSid
/Calls/{CallSid}
Get details of a call by CallSid
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Exotel API by hand means encoding HTTP Basic auth, pointing at the right regional host under api or api.in, and tracking the SMS and call endpoints yourself. Through Jentic you install once, import Exotel from the API Directory, store the key and token once, and your agent calls it.
Permission scoping
Exotel puts the account SID in the base path (/v1/Accounts/{account_sid}), so a rule can pin your agent to one account, and the message and call ids in paths like /SMS/Messages/{SmsSid} keep reads to a single record. You choose the operations it may call, so bulk send is not included unless you add it.
Credential isolation
Your Exotel key and token are stored once, encrypted, by your own Jentic One instance and injected as HTTP Basic auth at execution time. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'send an sms via exotel' or 'get call details', and Jentic returns the matching Exotel operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Exotel API through Jentic.
Why is there no official OpenAPI spec for Exotel API?
Exotel does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Exotel API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.
What authentication does the Exotel API use?
The Exotel API uses HTTP Basic authentication with your account's API key as the username and API token as the password, both available from the Exotel dashboard. Through Jentic these credentials live in the encrypted vault and are injected per call so they never appear in agent prompts or logs.
How do I send a bulk SMS with different content per recipient?
Use POST /Sms/bulksend and supply a list of recipients each with their own message body. Exotel returns a per-recipient SmsSid array so you can correlate delivery status. This is preferred over looping POST /Sms/send for campaigns.
How do I check whether an SMS was delivered?
Call GET /SMS/Messages/{SmsSid} with the SmsSid returned at send time. The response includes Status (queued, sending, sent, delivered, failed) and any error code. Poll until Status is terminal or rely on Exotel status callbacks if you have those configured.
How do I send a transactional SMS through Jentic?
Run pip install jentic, then search 'send sms via exotel', load the POST /Sms/send operation, and execute it with To, From (your Exotel virtual number), and Body. Jentic injects basic-auth credentials at execution time.
What region does this API serve best?
Exotel is primarily a cloud communications provider for India and South-East Asia, with DLT-registered SMS routing for Indian numbers. For global SMS coverage compare against Twilio or Plivo.
Can I limit what my agent is allowed to do with the Exotel API?
Yes. Because you run Jentic One yourself, your own rules decide which Exotel operations the agent may call, so you can grant read-only access with GET /SMS/Messages/{SmsSid} and GET /Calls/{CallSid} while withholding sending, or allow POST /Sms/send but not the higher-volume POST /Sms/bulksend. Since the account SID sits in the base path (/v1/Accounts/{account_sid}), a rule can pin the agent to a single Exotel account, and the SmsSid and CallSid in the read paths keep each lookup to one record. The API key and token you store are injected only for the operations you have permitted, so the agent cannot reach beyond the access you define.