Webhook Events Reference¶
Complete reference for all webhook events delivered by the Contio Partner API.
Download AsyncAPI Specification
Quick Reference¶
| Event | Since | Description |
|---|---|---|
| Action Button | ||
action_button.triggered | 1.5 | Sent when a partner's action button is triggered |
| Action Item | ||
action_item.completed | 1.3 | Sent when an action item is marked as completed |
action_item.created | 1.0 | Sent when a new action item is created |
action_item.updated | 1.0 | Sent when an action item's status or details change |
| Agenda Item | ||
agenda_item.created | 1.4 | Sent when an agenda item is created |
agenda_item.deleted | 1.4 | Sent when an agenda item is deleted |
agenda_item.updated | 1.4 | Sent when an agenda item is updated |
| Automation | ||
automation.assignment.created | 1.0 | Sent when an action item is assigned to your automation |
| Calendar Event | ||
calendar_event.created | 1.4 | Sent when a calendar event is synced from an external cal... |
calendar_event.deleted | 1.4 | Sent when a calendar event is cancelled/deleted from an e... |
calendar_event.updated | 1.4 | Sent when a calendar event is updated in an external cale... |
| Canvas | ||
canvas.access_changed | 1.13 | Sent when a canvas's sharing roles change |
canvas.content_updated | 1.13 | Sent when a canvas's content changes |
canvas.created | 1.13 | Sent when a canvas is created |
canvas.deleted | 1.13 | Sent when a canvas is deleted |
canvas.updated | 1.13 | Sent when a canvas's metadata is updated |
| Canvas Template | ||
canvas_template.applied | 1.5 | Sent when a canvas template is applied to a canvas |
| Meeting | ||
meeting.completed | 1.3 | Sent when a meeting ends and notes/summary are available |
meeting.created | 1.3 | Sent when a new meeting is created |
meeting.updated | 1.4 | Sent when a meeting's properties are updated |
| Meeting › Context | ||
meeting.context.created | 1.4 | Sent when a partner uploads context data to a meeting |
meeting.context.deleted | 1.4 | Sent when context data is removed from a meeting |
meeting.context.processed | 1.4 | Sent when uploaded context data has been preprocessed |
| Meeting Template | ||
meeting_template.applied | 1.5 | Sent when a meeting template is applied to a meeting |
| Next Step | ||
next_step.completed | 1.5 | Sent when a Next Step execution completes |
| Participant | ||
participant.added | 1.3 | Sent when one or more participants are added to a meeting |
participant.removed | 1.3 | Sent when a participant is removed from a meeting |
| Partner | ||
partner.idp.domain_revoked | 1.9.1 | Sent when a previously verified partner SSO domain is rev... |
partner.idp.domain_verification_failed | 1.9.1 | Sent when a partner SSO domain's verification fails |
partner.idp.domain_verified | 1.9.1 | Sent when a partner SSO domain's ownership is verified |
| Session | ||
session.expired | 1.4 | Sent when a chat session expires due to inactivity |
session.turn.completed | 1.4 | Sent when the agent finishes processing a turn in a chat ... |
session.turn.failed | 1.4 | Sent when the agent fails to process a turn in a chat ses... |
| User | ||
user.connection.revoked | 1.0 | Sent when a user revokes their connection to your partner... |
Event Payload Structure¶
All webhook events follow a consistent envelope structure:
{
"event_type": "string",
"event_id": "uuid",
"timestamp": "ISO 8601 datetime",
"partner_app_id": "uuid",
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"for_user": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "user@example.com"
},
"data": { /* event-specific payload */ }
}
| Field | Type | Description |
|---|---|---|
event_type | string | Event type identifier (e.g., automation.assignment.created) |
event_id | string | Unique event ID for idempotency |
timestamp | string | ISO 8601 timestamp of when the event occurred |
partner_app_id | string | Your partner application ID |
actor_user_id | string | ID of the user who triggered the event. Omitted for headless/system-triggered events. |
for_user | object | User context (id and email). Present only for user-scoped events; omitted for partner-app-scoped events (e.g. the partner.idp.* domain lifecycle events) |
data | object | Event-specific payload data |
action_button.triggered¶
Since 1.5 · Sent when a partner's action button is triggered
Note
For webhook/redirect delivery mechanisms, the action button fires in addition to the primary delivery. Use result_id with the Partner User API to fetch generated content.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"action_button_id": "ab-550e8400-e29b-41d4-a716-446655440000",
"action_button_name": "Send to CRM",
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440001",
"context_type": "MEETING",
"context_id": "mtg-550e8400-e29b-41d4-a716-446655440001",
"next_step_id": "ns-550e8400-e29b-41d4-a716-446655440002",
"result_id": "nsr-550e8400-e29b-41d4-a716-446655440003",
"triggered_by": "user-550e8400-e29b-41d4-a716-446655440004",
"triggered_at": "2025-01-15T10:30:00Z",
"trigger_mode": "manual"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "action_button.triggered",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
action_button_id | string | ✓ | Unique action button identifier |
action_button_name | string | ✓ | Action button name |
meeting_id | string | Meeting the action button was triggered on (omitted for canvas triggers) | |
context_type | string | Kind of entity the trigger fired from: MEETING or CANVAS | |
context_id | string | UUID of the context entity named by context_type | |
next_step_id | string | Associated Next Step ID (if triggered from a Next Step) | |
result_id | string | Execution result ID (if Next Step generated a result) | |
triggered_by | string | ✓ | User who triggered the action button |
triggered_at | string | ✓ | ISO 8601 timestamp of trigger |
trigger_mode | string | ✓ | How the action button was triggered: 'manual' or 'autopilot' |
invocation_id | string | Persisted action_button_invocation row ID |
action_item.completed¶
Since 1.3 · Sent when an action item is marked as completed
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"action_item_id": "ai-550e8400-e29b-41d4-a716-446655440000",
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440001",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440003",
"title": "Follow up with customer",
"completed_at": "2025-01-15T10:30:00Z",
"completed_by_user_id": "user-550e8400-e29b-41d4-a716-446655440002",
"assignee_id": "user-550e8400-e29b-41d4-a716-446655440003"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "action_item.completed",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
action_item_id | string | ✓ | Unique action item identifier |
meeting_id | string | ✓ | Source meeting ID |
workspace_id | string | ✓ | Workspace ID |
title | string | ✓ | Action item title |
completed_at | string | ✓ | ISO 8601 timestamp of completion |
completed_by_user_id | string | ✓ | User who completed the action item |
assignee_id | string | User assigned to the action item | |
assigned_to_email | string | Email of the external (non-workspace) assignee; set only when the item is assigned to an external person | |
assigned_to_name | string | Display name of the external assignee; set only alongside assigned_to_email |
action_item.created¶
Since 1.0 · Sent when a new action item is created
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"action_item_id": "ai-550e8400-e29b-41d4-a716-446655440000",
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440001",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440003",
"title": "Follow up with customer",
"assignee_id": "user-550e8400-e29b-41d4-a716-446655440002",
"created_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "action_item.created",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
action_item_id | string | ✓ | Unique action item identifier |
meeting_id | string | ✓ | Source meeting ID |
workspace_id | string | ✓ | Workspace ID |
title | string | ✓ | Action item title |
assignee_id | string | User assigned to the action item | |
assigned_to_email | string | Email of the external (non-workspace) assignee; set only when the item is assigned to an external person | |
assigned_to_name | string | Display name of the external assignee; set only alongside assigned_to_email | |
created_at | string | ✓ | ISO 8601 timestamp of creation |
action_item.updated¶
Since 1.0 · Sent when an action item's status or details change
Note
This payload is intentionally minimal. Use the Partner User API to fetch full action item details.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"action_item_id": "ai-550e8400-e29b-41d4-a716-446655440000",
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440001",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440002",
"status": "in_progress",
"is_completed": false,
"updated_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "action_item.updated",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
action_item_id | string | ✓ | Unique action item identifier |
meeting_id | string | ✓ | ID of the meeting this action item belongs to |
workspace_id | string | ✓ | Workspace ID |
status | string | ✓ | Status: needs_review, accepted, in_progress, completed, cancelled, blocked, delegated |
is_completed | boolean | ✓ | Current completion status |
assignee_id | string | User assigned to the action item | |
assigned_to_email | string | Email of the external (non-workspace) assignee; set only when the item is assigned to an external person | |
assigned_to_name | string | Display name of the external assignee; set only alongside assigned_to_email | |
updated_at | string | ✓ | ISO 8601 timestamp of the update |
agenda_item.created¶
Since 1.4 · Sent when an agenda item is created
Note
For items in a meeting, this event is delivered to all meeting participants. For backlog items, it is delivered only to the creator.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"agenda_item_id": "ai-550e8400-e29b-41d4-a716-446655440000",
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440001",
"title": "Q4 Planning Discussion",
"item_type": "DISCUSSION",
"created_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "agenda_item.created",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
agenda_item_id | string | ✓ | Unique agenda item identifier |
meeting_id | string | Meeting ID (null for backlog items) | |
title | string | ✓ | Agenda item title |
item_type | string | ✓ | Item type (e.g., DISCUSSION, ACTION_ITEM_RECAP) |
created_at | string | ✓ | Creation timestamp (RFC3339) |
agenda_item.deleted¶
Since 1.4 · Sent when an agenda item is deleted
Note
For items in a meeting, this event is delivered to all meeting participants. For backlog items, it is delivered only to the deleter.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"agenda_item_id": "ai-550e8400-e29b-41d4-a716-446655440000",
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440001",
"deleted_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "agenda_item.deleted",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
agenda_item_id | string | ✓ | Unique agenda item identifier |
meeting_id | string | Meeting ID (null for backlog items) | |
deleted_at | string | ✓ | Deletion timestamp (RFC3339) |
agenda_item.updated¶
Since 1.4 · Sent when an agenda item is updated
Note
For items in a meeting, this event is delivered to all meeting participants. For backlog items, it is delivered only to the updater.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"agenda_item_id": "ai-550e8400-e29b-41d4-a716-446655440000",
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440001",
"title": "Updated Q4 Planning Discussion",
"item_type": "DISCUSSION",
"status": "ACTIVE",
"updated_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "agenda_item.updated",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
agenda_item_id | string | ✓ | Unique agenda item identifier |
meeting_id | string | Meeting ID (null for backlog items) | |
title | string | ✓ | Agenda item title |
item_type | string | ✓ | Item type (e.g., DISCUSSION, ACTION_ITEM_RECAP) |
status | string | ✓ | Agenda item status |
updated_at | string | ✓ | Update timestamp (RFC3339) |
automation.assignment.created¶
Since 1.0 · Sent when an action item is assigned to your automation
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"assignment_id": "asgn-550e8400-e29b-41d4-a716-446655440000",
"action_item_id": "ai-550e8400-e29b-41d4-a716-446655440001",
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440002",
"automation_id": "wf-550e8400-e29b-41d4-a716-446655440003",
"automation_name": "CRM Integration",
"confidence_score": 0.95,
"automation_data_payload": {
"custom_field": "value"
},
"status": "pending",
"created_at": "2025-01-15T10:30:00Z",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440004"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "automation.assignment.created",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
assignment_id | string | ✓ | Unique assignment identifier |
action_item_id | string | ✓ | ID of the assigned action item |
meeting_id | string | ✓ | ID of the meeting containing the action item |
automation_id | string | ✓ | ID of the automation that matched |
automation_name | string | ✓ | Human-readable automation name |
confidence_score | number | Match confidence score (0-1) | |
automation_data_payload | object | Custom data from automation configuration | |
status | string | ✓ | Assignment status (pending, processed, failed) |
created_at | string | ✓ | ISO 8601 timestamp |
workspace_id | string | ✓ | Workspace ID where assignment was created |
calendar_event.created¶
Since 1.4 · Sent when a calendar event is synced from an external calendar
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"calendar_event_id": "ce-550e8400-e29b-41d4-a716-446655440000",
"title": "Product Planning Meeting",
"start_time": "2025-01-15T10:30:00Z",
"end_time": "2025-01-15T11:30:00Z",
"is_all_day": false,
"attendee_count": 5
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "calendar_event.created",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
calendar_event_id | string | ✓ | Unique calendar event identifier |
title | string | ✓ | Calendar event title |
start_time | string | ✓ | Event start time (RFC3339) |
end_time | string | ✓ | Event end time (RFC3339) |
is_all_day | boolean | ✓ | Whether this is an all-day event |
attendee_count | integer | ✓ | Number of attendees for the event |
calendar_event.deleted¶
Since 1.4 · Sent when a calendar event is cancelled/deleted from an external calendar
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"calendar_event_id": "ce-550e8400-e29b-41d4-a716-446655440000"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "calendar_event.deleted",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
calendar_event_id | string | ✓ | Unique calendar event identifier |
calendar_event.updated¶
Since 1.4 · Sent when a calendar event is updated in an external calendar
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"calendar_event_id": "ce-550e8400-e29b-41d4-a716-446655440000",
"title": "Updated Product Planning Meeting",
"start_time": "2025-01-15T10:30:00Z",
"end_time": "2025-01-15T11:30:00Z",
"is_all_day": false,
"attendee_count": 6
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "calendar_event.updated",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
calendar_event_id | string | ✓ | Unique calendar event identifier |
title | string | ✓ | Calendar event title |
start_time | string | ✓ | Event start time (RFC3339) |
end_time | string | ✓ | Event end time (RFC3339) |
is_all_day | boolean | ✓ | Whether this is an all-day event |
attendee_count | integer | ✓ | Number of attendees for the event |
canvas.access_changed¶
Since 1.13 · Sent when a canvas's sharing roles change
Note
At least one of workspace_canvas_role and canvas_link_role is present; an absent axis did not change.
Note
Delivered to the canvas owner and explicit user collaborators whose connection holds the canvases:read scope.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"canvas_id": "cnv-550e8400-e29b-41d4-a716-446655440001",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440002",
"workspace_canvas_role": {
"old_role": "NOACCESS",
"new_role": "VIEWER"
},
"changed_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "canvas.access_changed",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
canvas_id | string | ✓ | Unique canvas identifier |
workspace_id | string | ✓ | Workspace the canvas belongs to |
workspace_canvas_role | object | Change to the workspace-wide sharing role, when it changed | |
canvas_link_role | object | Change to the link-sharing role, when it changed | |
changed_at | string | ✓ | ISO 8601 timestamp of the access change |
canvas.content_updated¶
Since 1.13 · Sent when a canvas's content changes
Note
The body is never included. Fetch it with GET /v1/partner/user/canvases/{id}/content; content_etag matches the ETag that endpoint returns and can be used as If-Match on PUT.
Note
Delivered to the canvas owner and explicit user collaborators whose connection holds the canvases:read scope.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"canvas_id": "cnv-550e8400-e29b-41d4-a716-446655440001",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440002",
"owned_by_user_id": "user-550e8400-e29b-41d4-a716-446655440004",
"content_version": 7,
"content_etag": "\"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08\"",
"last_edited_by": "user-550e8400-e29b-41d4-a716-446655440005",
"updated_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "canvas.content_updated",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
canvas_id | string | ✓ | Unique canvas identifier |
workspace_id | string | ✓ | Workspace the canvas belongs to |
owned_by_user_id | string | ✓ | User who owns the canvas |
content_version | integer | ✓ | Monotonic content version after the edit |
content_etag | string | ✓ | ETag of the content after the edit, for If-Match on PUT |
last_edited_by | string | User who made the edit, when attributable | |
updated_at | string | ✓ | ISO 8601 timestamp of the edit |
canvas.created¶
Since 1.13 · Sent when a canvas is created
Note
The payload carries canvas metadata only. Use the Partner User API (GET /v1/partner/user/canvases/{id}/content) to fetch the body.
Note
Delivered to the canvas owner and explicit user collaborators whose connection holds the canvases:read scope.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"canvas_id": "cnv-550e8400-e29b-41d4-a716-446655440001",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440002",
"title": "Q3 Planning",
"owned_by_user_id": "user-550e8400-e29b-41d4-a716-446655440004",
"created_by_user_id": "user-550e8400-e29b-41d4-a716-446655440004",
"template_id": "ctpl-550e8400-e29b-41d4-a716-446655440000",
"created_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "canvas.created",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
canvas_id | string | ✓ | Unique canvas identifier |
workspace_id | string | ✓ | Workspace the canvas belongs to |
title | string | ✓ | Canvas title |
owned_by_user_id | string | ✓ | User who owns the canvas |
created_by_user_id | string | ✓ | User who created the canvas |
template_id | string | Canvas template the canvas was instantiated from | |
created_at | string | ✓ | ISO 8601 timestamp when the canvas was created |
canvas.deleted¶
Since 1.13 · Sent when a canvas is deleted
Note
Delivered to the canvas owner and explicit user collaborators whose connection holds the canvases:read scope.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"canvas_id": "cnv-550e8400-e29b-41d4-a716-446655440001",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440002",
"owned_by_user_id": "user-550e8400-e29b-41d4-a716-446655440004",
"deleted_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "canvas.deleted",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
canvas_id | string | ✓ | Unique canvas identifier |
workspace_id | string | ✓ | Workspace the canvas belonged to |
owned_by_user_id | string | ✓ | User who owned the canvas |
deleted_at | string | ✓ | ISO 8601 timestamp of the deletion |
canvas.updated¶
Since 1.13 · Sent when a canvas's metadata is updated
Note
Delivered to the canvas owner and explicit user collaborators whose connection holds the canvases:read scope.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"canvas_id": "cnv-550e8400-e29b-41d4-a716-446655440001",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440002",
"title": "Q3 Planning (final)",
"owned_by_user_id": "user-550e8400-e29b-41d4-a716-446655440004",
"updated_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "canvas.updated",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
canvas_id | string | ✓ | Unique canvas identifier |
workspace_id | string | ✓ | Workspace the canvas belongs to |
title | string | ✓ | Canvas title after the update |
owned_by_user_id | string | ✓ | User who owns the canvas after the update |
template_id | string | Canvas template the canvas was instantiated from | |
updated_at | string | ✓ | ISO 8601 timestamp of the update |
canvas_template.applied¶
Since 1.5 · Sent when a canvas template is applied to a canvas
Note
This event contains a count of collaborators added. Use the Partner User API to fetch the complete canvas details.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"template_id": "ctpl-550e8400-e29b-41d4-a716-446655440000",
"template_name": "Kickoff Canvas",
"canvas_id": "cnv-550e8400-e29b-41d4-a716-446655440001",
"applied_by_user_id": "user-550e8400-e29b-41d4-a716-446655440004",
"applied_at": "2025-01-15T10:30:00Z",
"applied_items": {
"collaborators": 3
}
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "canvas_template.applied",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
template_id | string | ✓ | Unique template identifier |
template_name | string | ✓ | Template name |
canvas_id | string | ✓ | Canvas the template was applied to |
applied_by_user_id | string | ✓ | User who applied the template |
applied_at | string | ✓ | ISO 8601 timestamp of application |
applied_items | object | ✓ | Counts of applied items |
meeting.completed¶
Since 1.3 · Sent when a meeting ends and notes/summary are available
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440000",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440001",
"title": "Weekly Team Sync",
"completed_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "meeting.completed",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
meeting_id | string | ✓ | Unique meeting identifier |
workspace_id | string | ✓ | Workspace ID |
title | string | ✓ | Meeting title |
completed_at | string | ✓ | ISO 8601 timestamp when notes became available |
meeting.context.created¶
Since 1.4 · Sent when a partner uploads context data to a meeting
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"context_id": "ctx-550e8400-e29b-41d4-a716-446655440000",
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440001",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440002",
"title": "Q4 Financial Summary",
"created_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "meeting.context.created",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
context_id | string | ✓ | Unique context document identifier |
meeting_id | string | ✓ | Meeting ID |
workspace_id | string | ✓ | Workspace ID |
title | string | Document title | |
created_at | string | ✓ | ISO 8601 timestamp of creation |
meeting.context.deleted¶
Since 1.4 · Sent when context data is removed from a meeting
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"context_id": "ctx-550e8400-e29b-41d4-a716-446655440000",
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440001",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440002",
"deleted_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "meeting.context.deleted",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
context_id | string | ✓ | Unique context document identifier |
meeting_id | string | ✓ | Meeting ID |
workspace_id | string | ✓ | Workspace ID |
deleted_at | string | ✓ | ISO 8601 timestamp of deletion |
meeting.context.processed¶
Since 1.4 · Sent when uploaded context data has been preprocessed
Note
The sanitization_report contains detection flags and redaction counts. Use the Partner User API to fetch the processed document content.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"context_id": "ctx-550e8400-e29b-41d4-a716-446655440000",
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440001",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440002",
"sanitization_report": {
"pii_detected": true,
"secrets_detected": false,
"formula_escaped": true,
"redactions": [
{
"type": "email",
"count": 3
},
{
"type": "credit_card",
"count": 1
}
]
},
"processed_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "meeting.context.processed",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
context_id | string | ✓ | Unique context document identifier |
meeting_id | string | ✓ | Meeting ID |
workspace_id | string | ✓ | Workspace ID |
sanitization_report | object | ✓ | Results of PII/secret scanning |
processed_at | string | ✓ | ISO 8601 timestamp of processing completion |
meeting.created¶
Since 1.3 · Sent when a new meeting is created
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440000",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440001",
"title": "Product Planning Session",
"created_by_user_id": "user-550e8400-e29b-41d4-a716-446655440002",
"created_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "meeting.created",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
meeting_id | string | ✓ | Unique meeting identifier |
workspace_id | string | ✓ | Workspace ID |
title | string | ✓ | Meeting title |
created_by_user_id | string | ✓ | User who created the meeting |
created_at | string | ✓ | ISO 8601 timestamp of creation |
meeting.updated¶
Since 1.4 · Sent when a meeting's properties are updated
Note
The scheduled_start field is only present for timed meetings (not for untimed/all-day meetings).
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440000",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440001",
"title": "Updated Product Planning Session",
"scheduled_start": "2025-01-15T10:30:00Z",
"updated_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "meeting.updated",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
meeting_id | string | ✓ | Unique meeting identifier |
workspace_id | string | ✓ | Workspace ID |
title | string | ✓ | Meeting title (current value after update) |
scheduled_start | string | Scheduled start time (nil if untimed) | |
updated_at | string | ✓ | ISO 8601 timestamp of update |
meeting_template.applied¶
Since 1.5 · Sent when a meeting template is applied to a meeting
Note
This event contains counts of items applied. Use the Partner User API to fetch the complete meeting details.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"template_id": "tpl-550e8400-e29b-41d4-a716-446655440000",
"template_name": "Weekly Team Sync",
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440001",
"applied_by_user_id": "user-550e8400-e29b-41d4-a716-446655440004",
"applied_at": "2025-01-15T10:30:00Z",
"applied_items": {
"agenda_items": 5,
"participants": 3,
"documents": 2
}
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "meeting_template.applied",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
template_id | string | ✓ | Unique template identifier |
template_name | string | ✓ | Template name |
meeting_id | string | ✓ | Meeting the template was applied to |
applied_by_user_id | string | ✓ | User who applied the template |
applied_at | string | ✓ | ISO 8601 timestamp of application |
applied_items | object | ✓ | Counts of applied items |
next_step.completed¶
Since 1.5 · Sent when a Next Step execution completes
Note
For AI Next Steps, the result content is available via the Partner User API. For REDIRECT Next Steps, the user was redirected to the configured URL.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"next_step_id": "ns-550e8400-e29b-41d4-a716-446655440000",
"next_step_name": "Generate Meeting Summary",
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440001",
"context_type": "",
"context_id": "",
"result_id": "nsr-550e8400-e29b-41d4-a716-446655440003",
"executed_by": "user-550e8400-e29b-41d4-a716-446655440004",
"executed_at": "2025-01-15T10:30:00Z",
"execution_mode": "autopilot"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "next_step.completed",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
next_step_id | string | ✓ | Unique Next Step identifier |
next_step_name | string | ✓ | Next Step name |
meeting_id | string | Meeting the Next Step was executed on (empty for non-meeting contexts) | |
context_type | string | ✓ | Entity the Next Step was executed on: 'MEETING' or 'CANVAS' |
context_id | string | ✓ | Unique identifier of the context entity (meeting or canvas) |
result_id | string | Unique execution result ID (empty for REDIRECT-type next steps) | |
executed_by | string | ✓ | User who executed the Next Step |
executed_at | string | ✓ | ISO 8601 timestamp of execution |
execution_mode | string | ✓ | How the Next Step was triggered: 'manual' or 'autopilot' |
participant.added¶
Since 1.3 · Sent when one or more participants are added to a meeting
Note
This event is delivered to all partner apps connected to users who are participants in the meeting.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440000",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440003",
"participants": [
{
"participant_id": "part-550e8400-e29b-41d4-a716-446655440001",
"user_id": "user-550e8400-e29b-41d4-a716-446655440002",
"role": "EDITOR"
},
{
"participant_id": "part-550e8400-e29b-41d4-a716-446655440003",
"guest_email": "guest@example.com",
"role": "VIEWER"
}
],
"added_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "participant.added",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
meeting_id | string | ✓ | Meeting ID |
workspace_id | string | ✓ | Workspace ID |
participants | array | ✓ | List of added participants |
participants[].participant_id | string | ✓ | Unique participant record ID |
participants[].user_id | string | User ID (if registered user) | |
participants[].guest_email | string | Guest email (if guest participant) | |
participants[].role | string | ✓ | Participant role (OWNER, EDITOR, VIEWER) |
added_at | string | ✓ | ISO 8601 timestamp |
participant.removed¶
Since 1.3 · Sent when a participant is removed from a meeting
Note
This event is delivered to all partner apps connected to users who are participants in the meeting.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440000",
"workspace_id": "ws-550e8400-e29b-41d4-a716-446655440003",
"participant_id": "part-550e8400-e29b-41d4-a716-446655440001",
"user_id": "user-550e8400-e29b-41d4-a716-446655440002",
"removed_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "participant.removed",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
meeting_id | string | ✓ | Meeting ID |
workspace_id | string | ✓ | Workspace ID |
participant_id | string | ✓ | Removed participant ID |
user_id | string | User ID (if registered user) | |
guest_email | string | Guest email (if guest participant) | |
removed_at | string | ✓ | ISO 8601 timestamp |
partner.idp.domain_revoked¶
Since 1.9.1 · Sent when a previously verified partner SSO domain is revoked
Note
The challenge token is never included in this payload. Re-initiate verification to restore a revoked domain.
Note
This event is scoped to the partner app, not a connected user, so the delivered webhook envelope omits for_user.
Payload¶
{
"data": {
"domain": "sso.example.com",
"status": "expired",
"revoked_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "partner.idp.domain_revoked",
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
domain | string | ✓ | The domain whose verification was revoked |
status | string | ✓ | The verification status after revocation (always "expired") |
revoked_at | string | ✓ | ISO 8601 timestamp when the domain was revoked |
partner.idp.domain_verification_failed¶
Since 1.9.1 · Sent when a partner SSO domain's verification fails
Note
The challenge token is never included in this payload. Use the reason field to distinguish token_mismatch from token_expired.
Note
This event is scoped to the partner app, not a connected user, so the delivered webhook envelope omits for_user.
Payload¶
{
"data": {
"domain": "sso.example.com",
"status": "expired",
"reason": "token_expired",
"failed_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "partner.idp.domain_verification_failed",
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
domain | string | ✓ | The domain whose verification failed |
status | string | ✓ | The verification status after the failure ("pending" or "expired") |
reason | string | ✓ | Why verification failed ("token_mismatch" or "token_expired") |
failed_at | string | ✓ | ISO 8601 timestamp when the failure was recorded |
partner.idp.domain_verified¶
Since 1.9.1 · Sent when a partner SSO domain's ownership is verified
Note
The challenge token is never included in this payload. The owning partner app is identified by partner_app_id at the envelope level.
Note
This event is scoped to the partner app, not a connected user, so the delivered webhook envelope omits for_user.
Payload¶
{
"data": {
"domain": "sso.example.com",
"status": "verified",
"verified_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "partner.idp.domain_verified",
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
domain | string | ✓ | The domain whose ownership was verified |
status | string | ✓ | The verification status (always "verified") |
verified_at | string | ✓ | ISO 8601 timestamp when the domain was verified |
session.expired¶
Since 1.4 · Sent when a chat session expires due to inactivity
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"session_id": "sess-550e8400-e29b-41d4-a716-446655440000",
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440002",
"expired_at": "2025-01-15T10:30:00Z",
"turn_count": 5,
"last_activity_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "session.expired",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
session_id | string | ✓ | Expired session identifier |
meeting_id | string | Associated meeting identifier | |
expired_at | string | ✓ | ISO 8601 timestamp when session expired |
turn_count | integer | ✓ | Total turns in session at expiry |
last_activity_at | string | ✓ | Timestamp of last turn in session |
session.turn.completed¶
Since 1.4 · Sent when the agent finishes processing a turn in a chat session
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"session_id": "sess-550e8400-e29b-41d4-a716-446655440000",
"turn_id": "turn-550e8400-e29b-41d4-a716-446655440001",
"sequence_number": 2,
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440002",
"completed_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "session.turn.completed",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
session_id | string | ✓ | Chat session identifier |
turn_id | string | ✓ | Assistant turn identifier |
sequence_number | integer | ✓ | Turn sequence number within the session |
meeting_id | string | Associated meeting identifier | |
completed_at | string | ✓ | ISO 8601 timestamp when turn completed |
session.turn.failed¶
Since 1.4 · Sent when the agent fails to process a turn in a chat session
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"session_id": "sess-550e8400-e29b-41d4-a716-446655440000",
"turn_id": "turn-550e8400-e29b-41d4-a716-446655440001",
"sequence_number": 2,
"meeting_id": "mtg-550e8400-e29b-41d4-a716-446655440002",
"failed_at": "2025-01-15T10:30:00Z",
"error_code": "agent_error",
"error_message": "The agent encountered an internal error while processing this turn."
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "session.turn.failed",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
session_id | string | ✓ | Chat session identifier |
turn_id | string | ✓ | Failed turn identifier |
sequence_number | integer | ✓ | Turn sequence number within the session |
meeting_id | string | Associated meeting identifier | |
failed_at | string | ✓ | ISO 8601 timestamp when turn failed |
error_code | string | ✓ | Machine-readable error classification |
error_message | string | ✓ | Human-readable error description |
user.connection.revoked¶
Since 1.0 · Sent when a user revokes their connection to your partner app
Note
User identification (user_id, user_email) is provided in the for_user envelope field, not in the data payload.
Payload¶
{
"actor_user_id": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"connection_id": "conn-550e8400-e29b-41d4-a716-446655440000",
"revoked_at": "2025-01-15T10:30:00Z"
},
"event_id": "evt-550e8400-e29b-41d4-a716-446655440000",
"event_type": "user.connection.revoked",
"for_user": {
"email": "user@example.com",
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"partner_app_id": "app-550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-01-15T10:30:00Z"
}
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
connection_id | string | ✓ | Unique connection identifier |
revoked_at | string | ✓ | ISO 8601 timestamp of revocation |