Client-provided operation ID
Server's task ID
Agent ID
Task type/tool name
Task status (completed, failed, needs_input, working, etc)
Optionalcontext_Server's context ID
OptionalmessageHuman-readable context about the status change
Timestamp
Optionalrawraw HTTP payload
OptionalprotocolWire protocol that delivered this webhook. Useful for handler code
that needs to treat MCP and A2A transports differently (e.g.,
idempotency_key is only present on MCP payloads).
Optionalidempotency_Sender-generated key stable across retries of the same webhook event
(MCP envelope only — A2A webhooks do not carry this field). Use this
as the canonical dedup key; see AsyncHandlerConfig.webhookDedup.
Notification type
Optionalsequence_Sequence number of this notification
Optionalnext_When next notification is expected (not present for 'final')
Metadata for agent-initiated notifications Same as WebhookMetadata but includes notification-specific fields