Every voice interaction is built on two halves — or call legs. One leg connects the customer to the platform, and the other connects the platform to the agent, IVR, or AI assistant. Together, they form the foundation of programmable voice.
Exotel is introducing a new suite of APIs — the Legs APIs — that extend the capabilities of its existing Voice API framework.These APIs give developers granular control over every part of a call, allowing them to create, bridge, retry, or terminate individual legs programmatically. Whether you’re building a dialer, integrating with a voicebot, or embedding voice directly into your CRM, Legs APIs make your calls programmable at the most fundamental level.
What is a Call Leg?
A call leg represents one side of a call connection.
- Leg A (Customer Leg): The path between the caller and Exotel’s platform.
- Leg B (Agent/Bot Leg): The connection from Exotel’s platform to the answering party.
By treating each leg as an independent entity, developers can measure performance, apply logic, and modify call behavior dynamically — something traditional telephony systems can’t do.
Multiple legs can also be added as per your requirement, enabling far richer real-world scenarios than a simple two-party call.
Here are some examples of how multi‑leg setups can be used:
- FM Radio/Live Call‑In Format: Keep the RJ connected throughout as the primary leg, while adding multiple callers as separate legs that can be brought into the conversation one at a time or together. Each caller is treated as an independent leg that can be muted, dropped, or bridged dynamically.
- Agent as a Silent Supervisor/Knowledge Layer: In a 3‑way setup, the customer is Leg A, the primary agent is Leg B, and an agent or bot acting as a silent knowledge base or supervisor can join as Leg C. This third leg can remain on mute or be invoked selectively, enabling real‑time assistance without interrupting the conversation flow.
These examples illustrate how Exotel’s programmable legs can be combined to build complex, intelligent voice experiences tailored to your use case.
How Call Instructions Work in Exotel
Legs is a set of instructions you can use to tell Exotel what to do when you make a call.
When someone makes a call to one of your Exotel numbers, Exotel looks up the gRPC endpoint associated with that number and sends it a request. Exotel then reads the instructions hosted at that gRPC endpoint to determine what to do — whether it’s recording the call, playing a message for the caller, or prompting them to press digits on their keypad.
Legs uses a structured XML-based instruction set that tells Exotel how to handle each step of the call.
You can think of it as an instruction layer between your application and Exotel’s telephony infrastructure. When a call hits the platform, Exotel executes the sequence of actions you’ve defined — from playing audio to connecting legs, recording, or invoking external APIs — in real time.
This design makes Exotel’s Voice APIs — including the new Legs APIs — ideal for CRM-embedded dialers, voicebot-to-agent transitions, DTMF-based consent capture, and programmable retries, all handled directly through APIs.
Under the Hood: How the Legs API Orchestrates Calls
Every call on Exotel’s network is broken into two programmable halves — each independently created, managed, and monitored. Here’s what happens under the hood:
- Call Initiation – A call is triggered, either inbound from a customer or outbound from your application.
- Leg Creation – Exotel sets up two separate connections (Leg1 and Leg2). Each leg can be controlled individually — dialed, paused, or terminated on demand.
- Instruction Retrieval – The platform then calls your registered gRPC or API endpoint to fetch real-time instructions on what to do next. These instructions could include actions like play an audio clip, record the leg, or connect to another endpoint.
- Bridging – Once both legs are ready, Exotel bridges them. You can choose between a nailed-up connection (persistent for ongoing sessions) or a dynamic bridge (created and torn down per interaction).
- Execution & Control – As the call progresses, Exotel continues to act on your logic — executing new instructions through APIs — play, record, or bridge dynamically on one leg while keeping the other active.
This architecture gives you full, live control over every call in motion. You can reroute an active conversation or drop a single leg — all without interrupting other ongoing calls. It’s voice orchestration that’s completely programmable, event-driven, and built for real-time control.
Conclusion
Every great customer experience begins with control — over how a call is handled, who it connects, and what happens next. With Exotel’s new Legs APIs, developers can move beyond static call behavior to programmatic, event-driven voice control.
It’s not just about connecting calls — it’s about engineering the voice experience, one leg at a time.
👉 Explore the Exotel Developer Portal to learn more about the new Legs APIs or request sandbox access to start building today.





