When a call reaches a number whose readiness is live, Talqing starts a call with the assigned agent’s current published version in the number’s region, and the agent speaks its greeting. Nothing of yours is asked — unless the agent turns on the inbound webhook, which has Talqing ask your server for the call’s vars, secrets, overrides, labels and userdata while the caller hears ringing.

What the agent knows

These {{system_vars.*}} are set before the prompt and greeting are built: now, date and time are also available when the agent sets timezone. See variables. Without an inbound webhook, only declared variable defaults resolve on an inbound call — there is no request to supply vars. A variable required with no default is therefore refused when assigning the number, when publishing under an assigned number, and when rolling back to a version without the default. A value that differs per caller is not a variable: look it up in a tool at the start of the call, or keep it in the caller’s userdata.

Returning callers

A caller is one contact per pair of numbers — yours and theirs, phone:<your number>:<their number> — so a second call from the same person to the same number has the same contact record, as do their WhatsApp messages and calls when the number is also a WhatsApp sender. Whether the new call sees earlier ones is the answering agent’s conversation.context (none by default, summary or transcript). See conversation memory.

One agent for both directions

The same published agent can answer and place calls. Prompts have no conditional syntax, so branch by putting the value in front of the model:

Calls refused before the agent runs

Each leaves a call record with a close_reason and sends session.refused. None is charged the platform fee.
A workspace out of credit stops answering its phones while every number still reads live. Alert on insufficient_credits.

Testing a number

There is no inbound simulator: ring the number from a phone that does not withhold its caller ID. First check GET /v1/telephony/phone-numbers/{number_id} reads readiness: "live"; afterwards GET /v1/calls?type=SIP_INBOUND&limit=1 finds the call and GET /v1/calls/{session_id} shows its transcript, tool calls, latency and cost (calls). To try an unpublished edit without affecting live callers, use a web call with agent_version: "draft" — see per-call configuration.

Next

Recordings

Recording is on by default: what is kept and where.

Transfers

Handing a caller to a person.