Sume agent run webhook: one event per turn, not per clip

A Sume agent run sends one agent.run.terminal webhook per agent turn, never one per generated artifact. Key your handler on the run id.

5 min readSume
All posts

A Sume agent run sends one agent.run.terminal webhook per agent turn, never one per artifact. If the agent makes five clips in a turn, you get one event after the turn ends, so a handler that counts events to count clips will be wrong. Key your handler on the run id, then read the artifacts from the payload or from the poll endpoint.

This follows Sume's Run webhooks and Agent Completions pages, read 2026-10-06.

What fires, and what does not?

The table below lists each item as documented.

Webhook behavior from Run webhooks on docs.sume.com, read 2026-10-06.
CaseWebhook sentNote
Agent turn endsOne agent.run.terminalNot one per artifact
Run canceledNonePoll the run instead
Run skippedNoneRead the create response
Other run kindsformat.run.terminal, action.run.terminalSame signing scheme

What should the handler do?

Because the webhook payload matches the poll response, one parser serves both paths.

  • Verify the signature before parsing.
  • Deduplicate on the run id, since a delivery can repeat.
  • Read outcome: ok, degraded or error.
  • Take artifacts from payload, which is byte-identical to the data object of GET /v1/agent-runs/{id}.

What if the payload is too large?

Over 1 MiB, the delivery carries payload: null and a payload_too_large marker. Poll /v1/agent-runs/{id} for the full object in that case.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume