4 min read
Feb 11, 2026

Webhook Event Reference

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.

Common Envelope

Every webhook event shares this structure:

FieldTypeDescription
eventTypestringThe event type identifier
organizationIdstringThe organization this event belongs to
spaceIdstringThe space containing the subject
subjectobject{ type, id } — the entity that triggered
timestampstringISO 8601 timestamp of when the event fired
dataobjectEvent-specific payload (see below)

MESSAGE_SENT

Triggered when a message is sent in a subscribed room.

Data fields:

FieldTypeDescription
messageIdstringThe unique identifier of the message.
roomIdstringThe room the message was sent in.
userIdstringThe user who sent the message.
statusstringThe message status (e.g. “SENT”).
createdAtstringWhen 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"
}
}

MESSAGE_DELETED

Triggered when a message is deleted in a subscribed room.

Data fields:

FieldTypeDescription
messageIdstringThe unique identifier of the deleted message.
roomIdstringThe room the message was in.
userIdstringThe user who deleted the message.
statusstringThe message status (e.g. “DELETED”).
deletedAtstringWhen 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"
}
}

MESSAGE_EDITED

Triggered when a message is edited in a subscribed room.

Data fields:

FieldTypeDescription
messageIdstringThe unique identifier of the edited message.
roomIdstringThe room the message is in.
userIdstringThe user who edited the message.
statusstringThe message status (e.g. “SENT”).
updatedAtstringWhen 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"
}
}

ROOM_RECORDING_TRANSCRIPT_PUBLISHED

Triggered when a room recording transcript is ready.

Data fields:

FieldTypeDescription
recordingIdstringThe unique identifier of the recording.
roomIdstringThe room the recording belongs to.
createdAtstringWhen 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"
}
}

ROOM_RECORDING_PUBLISHED

Triggered when a room recording video is ready.

Data fields:

FieldTypeDescription
recordingIdstringThe unique identifier of the recording.
roomIdstringThe room the recording belongs to.
createdAtstringWhen 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"
}
}

BLOCK_RESPONSE_SENT

Triggered when a block response is sent on a subscribed block.

Data fields:

FieldTypeDescription
blockResponseIdstringThe unique identifier of the block response.
blockIdstringThe block the response was submitted on.
parentBlockResponseIdstringThe parent response ID when this is a threaded reply.
userIdstringThe user who sent the response.
statusstringThe response status (e.g. “BLOCK_RESPONSE_STATUS_SENT”).
createdAtstringWhen the response was created (ISO 8601).
updatedAtstringWhen the response was last updated (ISO 8601).
richContentgoogle.protobuf.StructStructured rich text content for the response.
attachmentsBlockResponseAttachmentData[]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?