Product
Live MonitorAppointment BookingSMS AgentWeb AgentOutbound & BatchCall TransferPost-Call AnalysisCustom FunctionsWebhooks & AutomationsBring Your Own Carrier
Compare
OverviewNixflex vs RetellNixflex vs VapiNixflex vs BlandNixflex vs Synthflow
Developers
DocumentationQuickstartAPI ReferenceTwilio & TelnyxCal.comGoogle CalendarGoHighLevelSlackZapier & Make
More
PricingSecurityContact usGet started free
Custom Functions

Your API, mid-conversation.

Most platforms hand you data after the call ends. Nixflex calls your API while the caller is still on the line - looks up the order, checks the stock, fetches the record - and speaks the answer seconds later.

YOUR SIDE - THE CODE
get_order
“Use when the caller asks about delivery, order status, or where their order is.”
POST https://api.yourapp.com/orders
↓ REQUEST ARRIVES ON YOUR SERVER
{ "name": "get_order",
"args": { "order_ref": "1184" },
"variables": { "caller_phone": "+44...",
"caller_history": "PREVIOUS CALLS...", +12 more } }
← you return: { "result": { "status": "out for delivery, arrives 4pm" } }
THE CALLER'S SIDE - THE CALL
Caller: Where's my order? Reference 1184.
“One moment while I check that for you.” (speaks while your API runs)
Agent: Good news - it's out for delivery and should reach you by 4 PM.
Your API answered a live phone call - mid-conversation, not in a report afterwards.
14 variables, every request
Caller number, timezone-correct dates, call direction - and caller_history: summaries of this caller’s past calls, so your endpoint recognises returning customers automatically.
Failure never breaks the call
Timeout, 500, network error - the agent is told the function failed and apologises or transfers naturally. Your API being down never strands a caller in silence.
Built for real APIs
HTTPS with your auth headers, {{variable}} substitution in URLs for REST endpoints, per-function timeouts from 1 to 45 seconds, and a one-click test button before you go live.
THE ONE FIELD THAT MATTERS MOST
The agent decides when to fire your function from its description - which it re-reads every turn. Write it as instructions, starting with “Use when…”: “Use when the caller asks about delivery, order status, or where their order is.” Vague descriptions mean the function never fires - precise ones fire every time.
Your API, on the phone
Get started freeCustom functions docs