Skip to content

call.queued ​

When: Waiting in a queue for an agent, or offered to every member of a RING_ALL queue

Extra data: offered to a RING_ALL queue: assignment_type (QUEUED), offered_agent_ids (may be [] when the call reaches the queue and no member is free); waiting with nobody to offer it to: —

Example ​

Headers: X-Calloop-Event: call.queued, X-Calloop-Event-Id, X-Calloop-Signature (verifying).

json
{
  "event_id": "7c0b1e0c-8a45-4c1b-9d4c-0f3a6a2f9b11",
  "event_type": "call.queued",
  "api_version": "2026-09-25",
  "occurred_at": "2026-09-25T10:05:12.000Z",
  "tenant_ref": "biz-123",
  "data": {
    "call": {
      "callId": 42,
      "callUuid": "00000000-0000-0000-0000-000000000042",
      "tenantId": 1,
      "tenantRef": "biz-123",
      "channel": "WHATSAPP",
      "channelId": 1,
      "channelAddress": "+442079460000",
      "channelRef": "support-line",
      "queueId": 1,
      "direction": "INBOUND",
      "status": "RINGING",
      "state": "QUEUE",
      "mediaTopology": "ROOM",
      "customer": {
        "address": "+447700900123",
        "addressType": "E164",
        "name": "Test Customer"
      },
      "agentId": null,
      "agentRef": null,
      "agentName": null,
      "externalRef": "crm-call-42",
      "providerCallId": "wacid.HBgL...",
      "ivrFlowId": null,
      "ringingAt": "2026-09-25T10:00:00.000Z",
      "answeredAt": null,
      "endedAt": null,
      "terminationReason": null,
      "terminatedBy": null,
      "durations": {
        "ringing": 0,
        "call": 0,
        "queue": 0
      },
      "failureDetails": null,
      "consumerMetadata": {
        "crm_contact_id": 991
      },
      "createdAt": "2026-09-25T10:00:00.000Z"
    },
    "assignment_type": "QUEUED",
    "offered_agent_ids": [
      7,
      8
    ]
  }
}

data.call is the full call at that moment — the same view GET /v1/calls/{callId} returns. Apply events by "latest occurred_at wins": they can arrive out of order.

Calloop — the call engine behind your product.