Complete reference for all Pivot webhook event payloads.
This page documents the JSON payloads delivered to your webhook endpoints. All field names use camelCase. For setup instructions, see Webhooks.
Every webhook event shares this structure:
| Field | Type | Description |
|---|---|---|
eventType | string | The event type identifier |
organizationId | string | The organization this event belongs to |
spaceId | string | The space containing the subject |
subject | object | { type, id } — the entity that triggered |
timestamp | string | ISO 8601 timestamp of when the event fired |
data | object | Event-specific payload (see below) |
Triggered when a message is sent in a subscribed room.
Data fields:
| Field | Type | Description |
|---|---|---|
messageId | string | The unique identifier of the message. |
roomId | string | The room the message was sent in. |
userId | string | The user who sent the message. |
status | string | The message status (e.g. “SENT”). |
createdAt | string | When the message was created (ISO 8601). |
Payload example:
{ "eventType": "message_sent", "organizationId": "organization-uuid", "spaceId": "space-uuid", "subject": { "type": "room", "id": "example-id" }, "timestamp": "2026-01-01T12:00:00Z", "data": { "messageId": "message-uuid", "roomId": "room-uuid", "userId": "user-uuid", "status": "SENT", "createdAt": "2026-01-01T12:00:00Z" }}Triggered when a message is deleted in a subscribed room.
Data fields:
| Field | Type | Description |
|---|---|---|
messageId | string | The unique identifier of the deleted message. |
roomId | string | The room the message was in. |
userId | string | The user who deleted the message. |
status | string | The message status (e.g. “DELETED”). |
deletedAt | string | When the message was deleted (ISO 8601). |
Payload example:
{ "eventType": "message_deleted", "organizationId": "organization-uuid", "spaceId": "space-uuid", "subject": { "type": "room", "id": "example-id" }, "timestamp": "2026-01-01T12:00:00Z", "data": { "messageId": "message-uuid", "roomId": "room-uuid", "userId": "user-uuid", "status": "DELETED", "deletedAt": "2026-01-01T12:00:00Z" }}Triggered when a message is edited in a subscribed room.
Data fields:
| Field | Type | Description |
|---|---|---|
messageId | string | The unique identifier of the edited message. |
roomId | string | The room the message is in. |
userId | string | The user who edited the message. |
status | string | The message status (e.g. “SENT”). |
updatedAt | string | When the message was last updated (ISO 8601). |
Payload example:
{ "eventType": "message_edited", "organizationId": "organization-uuid", "spaceId": "space-uuid", "subject": { "type": "room", "id": "example-id" }, "timestamp": "2026-01-01T12:00:00Z", "data": { "messageId": "message-uuid", "roomId": "room-uuid", "userId": "user-uuid", "status": "SENT", "updatedAt": "2026-01-01T12:00:00Z" }}Triggered when a room recording transcript is ready.
Data fields:
| Field | Type | Description |
|---|---|---|
recordingId | string | The unique identifier of the recording. |
roomId | string | The room the recording belongs to. |
createdAt | string | When the recording was created (ISO 8601). |
Payload example:
{ "eventType": "room_recording_transcript_published", "organizationId": "organization-uuid", "spaceId": "space-uuid", "subject": { "type": "room", "id": "example-id" }, "timestamp": "2026-01-01T12:00:00Z", "data": { "recordingId": "recording-uuid", "roomId": "room-uuid", "createdAt": "2026-01-01T12:00:00Z" }}Triggered when a room recording video is ready.
Data fields:
| Field | Type | Description |
|---|---|---|
recordingId | string | The unique identifier of the recording. |
roomId | string | The room the recording belongs to. |
createdAt | string | When the recording was created (ISO 8601). |
Payload example:
{ "eventType": "room_recording_published", "organizationId": "organization-uuid", "spaceId": "space-uuid", "subject": { "type": "room", "id": "example-id" }, "timestamp": "2026-01-01T12:00:00Z", "data": { "recordingId": "recording-uuid", "roomId": "room-uuid", "createdAt": "2026-01-01T12:00:00Z" }}Triggered when a block response is sent on a subscribed block.
Data fields:
| Field | Type | Description |
|---|---|---|
blockResponseId | string | The unique identifier of the block response. |
blockId | string | The block the response was submitted on. |
parentBlockResponseId | string | The parent response ID when this is a threaded reply. |
userId | string | The user who sent the response. |
status | string | The response status (e.g. “BLOCK_RESPONSE_STATUS_SENT”). |
createdAt | string | When the response was created (ISO 8601). |
updatedAt | string | When the response was last updated (ISO 8601). |
richContent | google.protobuf.Struct | Structured rich text content for the response. |
attachments | BlockResponseAttachmentData[] | File attachment metadata for the response. |
Payload example:
{ "eventType": "block_response_sent", "organizationId": "organization-uuid", "spaceId": "space-uuid", "subject": { "type": "block", "id": "example-id" }, "timestamp": "2026-01-01T12:00:00Z", "data": { "blockResponseId": "block_response-uuid", "blockId": "block-uuid", "parentBlockResponseId": "parent_block_response-uuid", "userId": "user-uuid", "status": "BLOCK_RESPONSE_STATUS_SENT", "createdAt": "2026-01-01T12:00:00Z", "updatedAt": "2026-01-01T12:00:00Z", "richContent": { "key": "value" }, "attachments": [ { "id": "example-id", "fileId": "file-uuid", "fileUrl": "example-file_url", "displayName": "example-display_name", "type": "example-type", "createdAt": "2026-01-01T12:00:00Z" } ] }}Was this guide helpful?