Skip to content

Run outcomes to a webhook

POST a small JSON summary of each finished run to Slack, Zapier or your own backend — optionally signed so your receiver can prove it came from FlowArray.

In this article (4)

When the thing that should react to a finished run is a system rather than a person.

Setting it up

Settings → Preferences → "Run outcome webhook": paste a public https (or http) URL — a Slack incoming webhook, a Zapier/Make/n8n hook, your own endpoint. Leave it blank to turn it off.

When one of your runs finishes, FlowArray POSTs a small JSON summary: which run, the workflow name, the outcome (succeeded / failed / needs review), the estimated cost, and a link.

Proving it came from FlowArray

Press Generate signing secret below the URL. Every POST then carries an X-FlowArray-Signature header — an HMAC-SHA256 of the exact request body. Verify it in your receiver by recomputing the HMAC over the raw body with your secret and comparing.

You can reveal, rotate or remove the secret at any time; rotating invalidates the old one immediately.

If your endpoint needs an ordinary credential instead, set an Authorization header and it is sent with each delivery.

The guardrails

  • Public addresses only. Internal, loopback and private-network addresses are refused when you save the URL and again when a delivery is sent, and redirects are not followed.
  • Each outcome is delivered once — the send is recorded, so a worker restart cannot double-post.
  • A failing receiver is retried (unlike a run's Send to a URL card, a notification is safe to repeat), so a brief outage on your side does not lose the message.
  • No keys, no outputs — the same summary the bell shows.
  • The whole channel can be switched off installation-wide by an administrator if it is ever misbehaving.

Which webhook is which

You wantUse
"This run finished, outcome X"This — a run-outcome webhook
Each item's actual result, mid-flowThe Send to a URL card
To start a run from another systemA trigger
One roundup rather than a streamThe digest — it can go to the webhook too