Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.nixflex.com/llms.txt

Use this file to discover all available pages before exploring further.

An inbound call is a call placed to one of your imported Twilio numbers. The flow is automatic — once a number is imported, the agent answers.

What happens on an inbound call

1

Caller dials your Twilio number

A real person picks up the phone and dials.
2

Twilio routes the call to Nixflex

Because the number’s voice webhook points at our engine, Twilio opens a WebSocket and starts streaming audio.
3

Engine looks up the agent

The phone number record tells the engine which agent owns this call.
4

Agent says welcome message

The agent’s welcome_message is spoken first.
5

Conversation runs

STT transcribes the caller, Claude reasons, TTS speaks the reply. Interruptions, silence, and language changes are handled automatically.
6

Call ends

Either the caller hangs up, Claude says [END_CALL], the silence timeout fires, or max_call_duration_seconds is hit.
7

Post-call processing

Recording is saved to Supabase storage. Post-call analysis runs (summary, sentiment, custom data extraction). Webhook fires if configured.

Behaviour you get out of the box

You don’t have to configure any of this — the engine handles it:
  • Barge-in / interruption — caller can speak over the agent and the agent will stop
  • Silence handling — if the caller goes quiet, the agent gently prompts after a few seconds
  • Language auto-detection — backchannels and filler words match the caller’s language
  • Voicemail detection — if the call somehow lands on a voicemail, the engine hangs up cleanly (rare on inbound, but possible)
  • Call recording — dual-channel recording, stored, deleted from Twilio afterwards
  • Post-call analysis — every call gets a summary and sentiment automatically

History-aware behaviour

When an inbound call arrives, Nixflex looks up the caller’s number in your past calls. If there are previous conversations, summaries are injected into the agent’s prompt as background context. The agent can naturally reference past interactions without you wiring up any database lookups:
Caller: “Hi, it’s Sarah.” Agent: “Hi Sarah, welcome back. Last time you booked a check-up — were you calling to follow up on that, or is this something new?”
This works because the engine fetched Sarah’s call history before Claude generated the first response.

Reading the call back

After the call:
# List recent calls
curl https://api.nixflex.com/v1/calls?limit=10 \
  -H "Authorization: Bearer KEY_ID:KEY_SECRET"

# Fetch one call with full transcript + recording URL
curl https://api.nixflex.com/v1/calls/CA1234567890 \
  -H "Authorization: Bearer KEY_ID:KEY_SECRET"
The call object includes:
  • transcript — full conversation, both sides
  • recording_url — link to the audio file (signed URL, time-limited)
  • call_summary — AI-written summary
  • caller_sentimenthappy, neutral, or frustrated
  • call_successful — boolean (did the agent achieve the goal)
  • extracted_data — any custom fields you defined in post-call analysis
See Get call for the full schema.