Skip to main content

Call flow

When someone dials your agent’s phone number:
1

Call received

Telnyx receives the inbound call and sends a webhook to AssistPulse.
2

Agent lookup

The system identifies which agent is linked to the called number and loads its configuration (instructions, voice, tools, knowledge base).
3

Session created

A real-time session is established with OpenAI’s Realtime API using your agent’s settings.
4

Conversation begins

The agent greets the caller based on its instructions. Audio streams bidirectionally in real time.
5

Tools and knowledge

During the conversation, the agent may:
  • Search the knowledge base for relevant information
  • Invoke connected tools (APIs, Google Maps, etc.)
  • Follow the configured call flow for transfers
6

Call ends

When the call ends (caller hangs up, transfer, or timeout), the system:
  • Saves the call record with duration and metadata
  • Generates a transcript (if transcription is enabled)
  • Runs AI analysis for summary and sentiment
  • Logs token usage

Call transfers

If the agent determines a transfer is needed (based on instructions or the flow builder), it:
  1. Announces the transfer to the caller.
  2. Initiates a SIP transfer to the configured number.
  3. The call is handed off to the destination number.
Transfer numbers must be configured in the flow builder or as a fallback number in agent settings.

Recording

Call recording can be enabled per agent in the agent settings. When enabled:
  • The full audio of each call is recorded
  • Recordings are stored securely
  • Recordings are accessible from the call detail view
Ensure you comply with local laws regarding call recording. Many jurisdictions require informing the caller that the call is being recorded. Include this in your agent’s instructions.

Fallback behavior

If something goes wrong during a call (API error, timeout), the system falls back to:
  1. The agent’s fallback number (if configured) — transfers the call to a human
  2. A polite error message if no fallback is available