Skip to main content
← Back to list
01Issue
FeatureShippedSwamp CLI
Assigneeskeeb

Relationships

#717 Pass webhook payload to triggered workflow as inputs (CEL or path-based extraction)

Opened by bixu · 6/20/2026· Shipped 6/20/2026

swamp serve --webhook today queues the workflow run with empty inputs — the JSON body is discarded after signature verification. This means any workflow that requires inputs cannot be triggered by a webhook.

Concrete example: a Linear webhook fires when a comment is posted. The payload contains the ticket identifier (e.g. data.issue.identifier = 'PLT-1057'). We want to trigger our issue-lifecycle workflow with identifier=PLT-1057 so it processes only the affected ticket — but the workflow can't see the payload, so we'd have to fall back to a full project sweep on every webhook.

Suggested approaches (pick one)

1. CEL extraction in the workflow definition — workflow inputs blocks already use CEL expressions. Expose the webhook payload as webhook.body, webhook.headers, webhook.route so workflows can self-extract:

inputs:
  identifier: '${{ webhook.body.data.issue.identifier ?? webhook.body.data.identifier }}'
  eventType: '${{ webhook.headers["x-linear-event"] }}'

2. Per-route input mappings in the CLI flag:

--webhook '/hooks/linear:my-workflow:$SECRET:linear' \
--webhook-input '/hooks/linear:identifier=$.data.issue.identifier'

3. Pass-through — always pass the full body as a single payload input; let the workflow's first step parse it.

Option 1 is the most flexible and matches how workflows already wire data between steps. Option 3 is the simplest to implement but pushes parsing into every workflow.

Without this, the webhook is effectively a 'ping any workflow' trigger and can't replace cron-driven sweeps that need to know which entity changed.

02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 6 MOREFINDINGS+ 3 MOREPR_MERGED+ 1 MORECONTRIBUTOR_NOTIFIED

Shipped

6/20/2026, 6:28:01 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
keeb assigned keeb6/20/2026, 4:45:42 PM
Editable. Press Enter to edit.

keeb commented 6/20/2026, 6:28:06 PM

Thanks @bixu for reporting this! The fix has been merged and a release is on its way. We appreciate your contribution to swamp.

Sign in to post a ripple.