Webhooks & forwarders

Forward every task run result to a webhook or an email inbox.

A task forwarder delivers a task’s run result to somewhere outside Rightbrain automatically, every time the task runs. Two types exist: webhook (an HTTP POST to a URL you control) and email (a templated message to one or more recipients).

A forwarder is a project-level resource. You create it once, then attach it to a task by setting the task revision’s task_forwarder_id. From then on, each run of that task fires the forwarder.

All requests use bearer authentication — see Authentication.

List forwarder types

Fetch the available types and their config schemas. This endpoint returns a plain array, not a paginated result set.

cURL
$curl https://app.rightbrain.ai/api/v1/org/{org_id}/project/{project_id}/task_forwarder_type \
> -H "Authorization: Bearer YOUR_TOKEN"

Create a forwarder

Delivers the run result as an HTTP POST to destination_url, which must be an HTTPS URL. Optionally set a signing_key under config_sensitive — Rightbrain uses it to sign the forwarded payload so your receiver can verify authenticity. The signing key is encrypted at rest.

cURL
$curl -X POST https://app.rightbrain.ai/api/v1/org/{org_id}/project/{project_id}/task_forwarder \
> -H "Authorization: Bearer YOUR_TOKEN" \
> -H "Content-Type: application/json" \
> -d '{
> "forwarder_type": "webhook",
> "name": "Post results to our ingest endpoint",
> "config": {
> "destination_url": "https://api.example.com/rightbrain/ingest"
> },
> "config_sensitive": {
> "signing_key": "your-shared-secret"
> }
> }'

Attach a forwarder to a task

Set the forwarder’s ID as task_forwarder_id on the task revision when you create or update the task. Every run served by that revision then delivers its result through the forwarder.

cURL
$curl -X POST https://app.rightbrain.ai/api/v1/org/{org_id}/project/{project_id}/task/{task_id} \
> -H "Authorization: Bearer YOUR_TOKEN" \
> -H "Content-Type: application/json" \
> -d '{"task_forwarder_id": "0190a234-8dc6-6d08-aea9-928fcecad8f1"}'

Updating a task creates a new revision, and new revisions start inactive — the forwarder takes effect once that revision is active. The attachment is versioned like any other task change. See Versioning & revisions.

Manage forwarders

Forwarder endpoints
GET .../task_forwarder list forwarders (paginated)
POST .../task_forwarder create a forwarder
GET .../task_forwarder/{id} fetch a forwarder
POST .../task_forwarder/{id} update a forwarder

Common patterns

  • Notify a channel. Point a webhook forwarder at an automation platform (Zapier, Make, n8n) that relays into Slack, Teams, or a database.
  • Human-readable digest. Use an email forwarder with a body_template that renders the fields your task outputs.
  • Verified delivery. Set a signing_key on a webhook forwarder and verify the signature at your endpoint before trusting the payload.