improved

All Plans

Automations & Integrations

Webhook Trigger: Optional and Required Fields

Whats New page - Webhook TriggersThe Webhook Received automation trigger picks up per-field Required controls and a distinct Rejected run-history status. All fields in the webhook structure are non-required by default; toggle Required on the fields that truly matter, and requests that arrive without one of those fields return HTTP 400 to the caller (naming the offending field) plus a Rejected run in history — separate from Failed and Error. Non-required fields no longer break the whole run when missing. Incoming webhook payloads are now captured in Run History as an expandable tree (parsed and raw) for every run, including rejected ones.
Key Highlights
  • Fields Are Optional by Default: Every field in the configured webhook structure is now non-required by default. A missing or empty field on a non-required field no longer rejects the incoming request or fails the automation.
  • Per-Field Required Toggle: Each field in the structure gets a Required toggle. Toggle it on for the fields that truly matter — a payment webhook's amount, a signup webhook's email — and only those fields gate the request.
  • Rejected Run-History Status: Requests that fail the Required-field gateway land in Run History with a distinct Rejected status, visually separated from Failed / Error. No action steps execute for a rejected request.
  • HTTP 400 Response to Callers: Rejected requests return HTTP 400 with the offending field name(s) in the response body —
    {"error": "Missing or empty required field(s): status"}
    — so the calling system can react cleanly.
  • Payload Capture in Run History: The incoming webhook payload is now recorded on every run — successful, rejected, and failed. Rendered as a collapsed-by-default expandable key:value tree, with a View Raw toggle for the raw request body.
  • Deterministic Handling of Empty vs. Absent: Present-and-empty and null both write empty to the target field. Absent-from-payload also writes empty (per the latest team decision). Present-with-value uses the value.
  • Extra Fields Ignored: Payload fields not in the configured structure are accepted and ignored — no error, no surface. Delete unneeded fields from the generated structure without consequence.
  • Migration: All existing webhook automations move to the new behavior automatically.
How It Works
  • Open a Webhook Received trigger in an automation. Every field in the configured structure now shows a Required toggle in field settings, off by default.
  • Toggle Required on for the fields that truly need to be present for the automation to make sense. Leave the rest off.
  • When a webhook arrives, the trigger checks Required fields first. If any Required field is absent, null, or empty, the trigger returns HTTP 400 with the offending field(s) named, records the run as Rejected, and does not execute action steps.
  • If all Required fields pass, action steps run. Each step maps values from the payload independently — empty and null both write empty, absent also writes empty, values are used as-is.
  • Open Run History to see the incoming payload on any run (successful, rejected, or failed) as an expandable tree, with View Raw for the raw body.
Available on all plans. All existing webhook automations migrate to the new behavior — no reconfiguration required.