{
  "specversion": "1.0",
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "source": "https://platform.happyrobot.ai",
  "type": "session.status_changed",
  "time": "2025-07-08T12:34:56Z",
  "datacontenttype": "application/json",
  "data": {
    "schema_version": "2025-07-08",
    "org_id": "d96943ed-16de-4c71-9d3a-5619f80735b3",
    "run_id": "d96943ed-16de-4c71-9d3a-5619f80735b3",
    "session_id": "4ba9dfa9-9514-4cdc-b523-d621e0b74f0e",
    "use_case_id": "0195d9a8-2a6d-7755-ad1d-9880f30422da",
    "version_id": "82f4e1d2-c7fa-4ed0-9078-879a52eedd86",
    "status": {
      "previous": "in-progress",
      "current": "completed",
      "updated_at": "2025-07-08T12:34:56Z"
    },
    "org": {
      "name": "Circle logistics"
    },
    "use_case": {
      "name": "Inbound carrier sales",
      "version": "47"
    }
  }
}
When the status of a call session changes (e.g. in-progress → completed), HappyRobot emits this CloudEvents-formatted payload to the webhook URL you configured in your workspace settings. The set of available statuses are: queued, in-progress, completed, busy, missed, canceled, failed, voicemail

Payload

specversion
string
required
CloudEvents spec version. Always 1.0.
id
string
required
Unique identifier for this event instance (UUID).
source
string
required
Event origin. Always https://platform.happyrobot.ai.
type
string
required
Event type. Always session.status_changed.
time
string
required
ISO 8601 timestamp when the event was emitted.
datacontenttype
string
required
Content type of the data payload. Always application/json.

data object

data.schema_version
string
required
Version of the data schema (YYYY-MM-DD).
data.org_id
string
required
Your organization’s UUID in HappyRobot.
data.run_id
string
required
Identifier of the overall run associated with this session.
data.session_id
string
required
Identifier of the call session whose status changed.
data.use_case_id
string
required
Identifier of the use-case definition triggering the session.
data.version_id
string
required
Identifier of the use-case version executed.
data.status sub-object
data.status.previous
string
required
Previous status.
data.status.current
string
required
Current status.
data.status.updated_at
string
required
ISO 8601 timestamp of the status change.
data.org sub-object
data.org.name
string
required
Human-readable organization name.
data.use_case sub-object
data.use_case.name
string
required
Name of the use case.
data.use_case.version
string
required
Version string of the use-case definition.
{
  "specversion": "1.0",
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "source": "https://platform.happyrobot.ai",
  "type": "session.status_changed",
  "time": "2025-07-08T12:34:56Z",
  "datacontenttype": "application/json",
  "data": {
    "schema_version": "2025-07-08",
    "org_id": "d96943ed-16de-4c71-9d3a-5619f80735b3",
    "run_id": "d96943ed-16de-4c71-9d3a-5619f80735b3",
    "session_id": "4ba9dfa9-9514-4cdc-b523-d621e0b74f0e",
    "use_case_id": "0195d9a8-2a6d-7755-ad1d-9880f30422da",
    "version_id": "82f4e1d2-c7fa-4ed0-9078-879a52eedd86",
    "status": {
      "previous": "in-progress",
      "current": "completed",
      "updated_at": "2025-07-08T12:34:56Z"
    },
    "org": {
      "name": "Circle logistics"
    },
    "use_case": {
      "name": "Inbound carrier sales",
      "version": "47"
    }
  }
}