Docs

Reference

Answer an incoming call

Answer a ringing incoming call. The first person (or agent) to answer wins; later ones get already_answered. An agent's answer plays in the user's ready tab. Never answer without a reason the user agreed to.

View MarkdownThis page is generated from the source code on every release.

Answer a ringing incoming call. The first person (or agent) to answer wins; later ones get already_answered. An agent's answer plays in the user's ready tab. Never answer without a reason the user agreed to.

Overview

Name Value
Code calls.answer
Scope needed calls
Risk Write
May need confirmation No
Runs as Queues work for a node
Needs Idempotency-Key Yes
Member roles allowed owner, manager, agent
Needs a worker from version 1.0.44
In the app Incoming call notice → Answer

Input fields

Field Type Required Description
callId uuid Yes

Example request

curl -X POST https://tlg.builera.app/api/public/v2/ops/calls.answer \
  -H "Authorization: Bearer $TELEGRAM_AUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: <unique key per operation>" \
  -d '{"callId":"00000000-0000-0000-0000-000000000000"}'

Output fields (data)

Field Type Required
ok true Yes
callId text Yes
state "active" | "ended" | "preparing" | "requesting" | "ringing" | "exchanging_keys" | "connecting" Yes
jobId text Yes

Example answer

{
  "data": {
    "ok": true,
    "callId": "00000000-0000-4000-8000-000000000000",
    "state": "active",
    "jobId": "00000000-0000-4000-8000-000000000000"
  }
}

Using it over MCP

Not listed on any profile: call tools_describe then tools_run with code: "calls.answer". Tool name when listed: calls_answer.

Was this page helpful?

Last checked: 10/24/2026 · build 2.0