Inbound

One item of a verified webhook batch: a message, an approval decision, a control command, or something to ignore.

A union discriminated by kind.

message

kind"message"required

"message": user input that starts a run on the conversation's thread.

principalPrincipalrequired

A verified identity, normalized by the host.

addressstringrequired

Conversation key; the host maps it to a thread.

item_keystringrequired

Inbox dedup key, derived only from signed content.

contentInputrequired

What a run starts with: plain text or ordered input parts.

decision

kind"decision"required

"decision": an answer to an approval card.

principalPrincipalrequired

A verified identity, normalized by the host.

addressstringrequired

Conversation key; the host maps it to a thread.

item_keystringrequired

Inbox dedup key, derived only from signed content.

challenge_idUuidrequired

Lowercase UUID string.

decision"grant" | "deny"required

grant approves the challenged action; deny refuses it. It applies only if the sender may approve on that thread.

control

kind"control"required

"control": a command that stops the conversation's run.

principalPrincipalrequired

A verified identity, normalized by the host.

addressstringrequired

Conversation key; the host maps it to a thread.

item_keystringrequired

Inbox dedup key, derived only from signed content.

command"cancel" | "stop_when_idle"required

cancel stops the run and its children now; stop_when_idle stops it once the current work finishes. The TypeScript host consumes stop_when_idle without acting on it today.

ignore

kind"ignore"required

"ignore": delivered but not for the agent (the bot's own message, a reaction, a status update). The host drops it.

Edit on GitHub

On this page