Skip to main content
The inbound webhook fires when an inbound call or SMS arrives on your number — before the call connects. Use it to dynamically route calls, inject context, or reject unwanted callers.
This does not apply to dial-to-SIP calls — you can provide call-specific info directly when registering the phone call.

Use Cases

  • Filter and reject unwanted inbound calls or SMS
  • Add context (dynamic variables, metadata) to inbound calls
  • Override agent ID, version, or specific agent settings per call
  • Pause the call to pick it up with a delay
  • Log inbound calls in your internal systems

Webhook Spec

  • Method: POST to your endpoint
  • Timeout: 10 seconds. Retried up to 3 times if no 2xx response.
  • Verification: Use your UponAI API key. See Secure the Webhook.

Request Payload

The call is not yet connected when this fires — no call object or call ID exists yet. If you reject the call, no call object is created.
Fields present depend on your number config: agent_id and agent_version appear only if set on the number. from_number and to_number are always present.

Response

Return a 2xx JSON response. All fields are optional:
For inbound SMS, replace call_inbound with chat_inbound.

Agent Override Fields

If both override_agent_id/override_agent_version and agent_override are provided, UponAI first resolves the target agent by ID/version, then applies agent_override on top. Overrides do not persist to the saved agent.