---
title: "A saved workflow finished running successfully"
method: POST
path: "workflow.completed"
tags: ["Webhooks"]
---

# A saved workflow finished running successfully

`POST workflow.completed` (webhook)

## Payload

- object: Common envelope every webhook delivery uses. `data` is the per-event payload — branch on `type` to know its shape. Signature header: `X-JE-Signature: t=<unix>,v1=<hex>` computed as HMAC-SHA256 over `t + "." + raw_body`. Reject deliveries whose `t` is more than 5 minutes from your server clock.
  - `api_version` string
  - `created` integer, required: Unix seconds.
  - `data` object, required: Event-specific payload (see schemas below).
    - `outputs` object
    - `run_id` string, uuid
    - `steps` integer
    - `success` boolean
    - `workflow_id` string, uuid
  - `id` string, uuid, required
  - `type` 'workflow.completed', required

## Acknowledgement `200`

Acknowledged.

---

[API](https://skmtc.dev/johnsessentials/apis/john-s-essentials-api.md) · [All operations](https://skmtc.dev/johnsessentials/apis/john-s-essentials-api/llms.txt) · [OpenAPI document](https://skmtc.dev/johnsessentials/apis/john-s-essentials-api/revisions/56586ff78e6d?raw)
