Give an AI agent a phone number
Attach an agent to your own number over one REST API. It answers and places calls, and every call fires events to your server — call.started, call.in_progress, call.ended — the last with the full transcript and analysis. No polling.
your-server.com/webhooks{
"transcript": "…",
"summary": "Rescheduled to Thu 2pm",
"sentiment": "positive"
}Events come to you
The hard part of a phone agent is not making a phone ring — it is streaming audio with low latency, handling interruptions, and keeping transcripts tied to your systems. Nixflex runs all of that and hands you a clean, event-driven interface. You register a webhook, and the platform pushes each event the moment it happens, so your code stays reactive instead of looping to ask whether a call is finished.
The events you receive
call.startedA call has begun — inbound or outbound — with the number and agent involved.
call.in_progressLive updates as the conversation runs, so you can react while the call is active.
call.endedThe call is over — payload carries the full transcript, a summary, sentiment and any extracted data.
Prefer to pull instead of receive? Every call is also available from GET /v1/calls with the same transcript and analysis.
The endpoints you build with
POST /v1/agentsCreate the agent — its prompt, voice, language and behaviour.
POST /v1/phone-numbersImport your own number and attach it to an agent to answer inbound calls.
POST /v1/calls/outboundPlace an outbound call, or a whole batch, from that agent and number.
GET /v1/callsPull any call with its transcript, summary, sentiment and extracted fields.
Let the agent reach into your systems
A phone agent is only as useful as the data it can act on. With custom functions, the agent makes an HTTP request to your API in the middle of a call — to look up an order, check an account, or trigger an action — and uses the JSON you return to keep talking. The engine supplies the exact facts that must be right, like a date or a callback number, rather than leaving the model to guess.
Why build your phone agent on Nixflex
Push events for every call — no polling, no reconciling state by hand.
One agent answers and places calls, with the same events and records for both.
Attach your own Twilio or Telnyx numbers; costs and routing stay on your account.
The agent calls your APIs mid-conversation and acts on the result.
One agent behind many numbers — a number per customer, from one API key.
Premium model included; no platform fee to start.
Comparing phone APIs? Nixflex is a modern alternative to Retell, Vapi and Bland. Compare them →
Frequently asked questions
What is a phone agent API?
A phone agent API lets you give an AI agent a phone number and control it from your own code. You attach a number to an agent, the agent answers and places calls, and your server receives events — when a call starts, while it runs, and when it ends with the transcript and analysis attached. It is the bridge between the phone network and your application.
How do I receive events from a call?
Register a webhook URL and Nixflex posts events to it as they happen — call.started when a call begins, updates while it runs, and call.ended with the full transcript, a summary, a sentiment score and any extracted data. It is push-based, so you never poll asking whether a call is done.
Can I handle both inbound and outbound?
Yes. Point a number at an agent to answer inbound calls, and place outbound calls — single or as a batch — from POST /v1/calls/outbound. Both run through the same agent and both deliver the same events and call records back to you.
How do I attach a number to an agent?
Import your own Twilio or Telnyx number through /v1/phone-numbers and attach it to an agent. One agent is a template that can sit behind many numbers, so you can give every one of your own customers their own number backed by the same agent.
Can the agent call my own systems during a call?
Yes. Custom functions let the agent make an HTTP request to your API mid-call — to look up an order, check an account, or trigger an action — and use the JSON you return to continue the conversation. That is how the agent works with live data instead of only what is in its prompt.
How do I authenticate requests?
Each request carries a bearer token of two halves joined by a colon: Authorization: Bearer nxf_xxx:nxfs_xxx. Keys are created and rotated through the API, so you can revoke access without changing anything about your agents or numbers.
What does the phone agent API cost?
A flat $0.08 per minute of voice, pay-as-you-go, with the premium model included. You bring your own carrier, so number and call charges stay on your account, and there is no monthly platform fee to start.
Give your first agent a number
Grab an API key, attach a number, and start receiving call events.