Skip to content
Get started

Webhook Deliveries

AgentService manages AI agents at the WORKSPACE level. Agents are workspace-scoped resources that define AI behavior and tool access. All operations are implicitly scoped to the workspace determined by the JWT token.

Authentication: Bearer token (JWT) Scope: Workspace-level operations

List webhook deliveries
client.agents.webhookDeliveries.list(stringagentID, WebhookDeliveryListParams { cursor, eventType, limit, objectiveId } query?, RequestOptionsoptions?): CursorPagination<WebhookDelivery { data, metadata } >
GET/v1/agents/{agentId}/webhook_deliveries
ModelsExpand Collapse
WebhookDelivery { data, metadata }
data: WebhookDeliveryData { agentId, attemptCount, eventType, 11 more }

Webhook delivery data

agentId: string

Related resources

attemptCount: number
eventType: "OBJECTIVE_EVENT_TYPE_UNSPECIFIED" | "OBJECTIVE_EVENT_TYPE_USER_MESSAGE" | "OBJECTIVE_EVENT_TYPE_TOOL_APPROVAL_REQUESTED" | 9 more

The type of objective event that triggered this webhook delivery

formatenum
One of the following:
"OBJECTIVE_EVENT_TYPE_UNSPECIFIED"
"OBJECTIVE_EVENT_TYPE_USER_MESSAGE"
"OBJECTIVE_EVENT_TYPE_TOOL_APPROVAL_REQUESTED"
"OBJECTIVE_EVENT_TYPE_TOOL_APPROVED"
"OBJECTIVE_EVENT_TYPE_TOOL_DENIED"
"OBJECTIVE_EVENT_TYPE_TOOL_CALLED"
"OBJECTIVE_EVENT_TYPE_SUB_OBJECTIVE_CREATED"
"OBJECTIVE_EVENT_TYPE_ERROR"
"OBJECTIVE_EVENT_TYPE_ASSISTANT_MESSAGE"
"OBJECTIVE_EVENT_TYPE_TOOL_RESULT"
"OBJECTIVE_EVENT_TYPE_TOOL_ERROR"
"OBJECTIVE_EVENT_TYPE_CONTEXT_WINDOW_COMPACTED"
httpStatusCode: number

Response details (no response_body to avoid storing large payloads)

formatint32
lastAttemptAt: string
latencyMs: number
objectiveEventId: string
objectiveId: string
responseContentLength: string

Content length of the response body in bytes

status: "WEBHOOK_DELIVERY_STATUS_UNSPECIFIED" | "WEBHOOK_DELIVERY_STATUS_PENDING" | "WEBHOOK_DELIVERY_STATUS_COMPLETED" | 2 more
formatenum
One of the following:
"WEBHOOK_DELIVERY_STATUS_UNSPECIFIED"
"WEBHOOK_DELIVERY_STATUS_PENDING"
"WEBHOOK_DELIVERY_STATUS_COMPLETED"
"WEBHOOK_DELIVERY_STATUS_FAILED"
"WEBHOOK_DELIVERY_STATUS_DISABLED"
webhookId: string
webhookUrl: string

Webhook delivery details

errorMessage?: string
responseHeaders?: Record<string, string>

Response headers received from the webhook endpoint

metadata: OperationMetadata { id, accountId, createdAt, 4 more }

Metadata for ephemeral operations and activities (e.g., objectives, executions, runs)

id: string

Unique identifier for the operation (prefixed ULID, e.g., "obj_01HXK...")

accountId: string

Account this operation belongs to for multi-tenant isolation (prefixed ULID)

createdAt: string

Timestamp when this operation was created ULID includes timestamp information, but this explicit field enables easier querying

formatdate-time
profileId: string

ID of the actor (user or service account) that created this operation

workspaceId: string

Workspace this operation belongs to for organizational grouping (prefixed ULID)

externalId?: string

External ID for the operation (e.g., a workflow ID from an external system)

labels?: Record<string, string>

Arbitrary key-value pairs for categorization and filtering Examples: {"priority": "high", "source": "api", "workflow": "onboarding"}

WebhookDeliveryData { agentId, attemptCount, eventType, 11 more }
agentId: string

Related resources

attemptCount: number
eventType: "OBJECTIVE_EVENT_TYPE_UNSPECIFIED" | "OBJECTIVE_EVENT_TYPE_USER_MESSAGE" | "OBJECTIVE_EVENT_TYPE_TOOL_APPROVAL_REQUESTED" | 9 more

The type of objective event that triggered this webhook delivery

formatenum
One of the following:
"OBJECTIVE_EVENT_TYPE_UNSPECIFIED"
"OBJECTIVE_EVENT_TYPE_USER_MESSAGE"
"OBJECTIVE_EVENT_TYPE_TOOL_APPROVAL_REQUESTED"
"OBJECTIVE_EVENT_TYPE_TOOL_APPROVED"
"OBJECTIVE_EVENT_TYPE_TOOL_DENIED"
"OBJECTIVE_EVENT_TYPE_TOOL_CALLED"
"OBJECTIVE_EVENT_TYPE_SUB_OBJECTIVE_CREATED"
"OBJECTIVE_EVENT_TYPE_ERROR"
"OBJECTIVE_EVENT_TYPE_ASSISTANT_MESSAGE"
"OBJECTIVE_EVENT_TYPE_TOOL_RESULT"
"OBJECTIVE_EVENT_TYPE_TOOL_ERROR"
"OBJECTIVE_EVENT_TYPE_CONTEXT_WINDOW_COMPACTED"
httpStatusCode: number

Response details (no response_body to avoid storing large payloads)

formatint32
lastAttemptAt: string
latencyMs: number
objectiveEventId: string
objectiveId: string
responseContentLength: string

Content length of the response body in bytes

status: "WEBHOOK_DELIVERY_STATUS_UNSPECIFIED" | "WEBHOOK_DELIVERY_STATUS_PENDING" | "WEBHOOK_DELIVERY_STATUS_COMPLETED" | 2 more
formatenum
One of the following:
"WEBHOOK_DELIVERY_STATUS_UNSPECIFIED"
"WEBHOOK_DELIVERY_STATUS_PENDING"
"WEBHOOK_DELIVERY_STATUS_COMPLETED"
"WEBHOOK_DELIVERY_STATUS_FAILED"
"WEBHOOK_DELIVERY_STATUS_DISABLED"
webhookId: string
webhookUrl: string

Webhook delivery details

errorMessage?: string
responseHeaders?: Record<string, string>

Response headers received from the webhook endpoint