New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceCore BlocksTriggers
Block

Webhook Block

Receive webhooks from any service

The Webhook block is a trigger that starts a workflow whenever an external service sends an HTTP request to its generated endpoint. Reach for it when you need to react to events from any platform that can send an HTTP webhook and there is no dedicated integration trigger block available.

Overview

PropertyValue
Typegeneric_webhook
Categorytriggers
Color#10B981

When to Use

  • Start a workflow from any third-party service that can send HTTP webhooks
  • Handle events from platforms that lack a dedicated trigger block
  • Capture full request payloads, headers, query parameters, and metadata from inbound HTTP requests
  • Build event-driven automations triggered by external systems (deploys, alerts, form submissions, IoT signals)
  • Extract common fields such as event, id, and data that many services include in their webhook bodies
  • Accept any HTTP method (GET, POST, PUT, DELETE, PATCH) without additional configuration

Configuration

Webhook Configuration (triggerConfig)

Type: trigger-config — layout: full

This sub-block generates and manages the webhook endpoint using the generic trigger provider. Once the block is placed in a workflow, Zelaxy provides a unique URL. Copy that URL and paste it into the sending service's webhook settings. No additional fields need to be filled in; the endpoint accepts any payload format and any HTTP method automatically.

Available trigger: generic_webhook

Inputs & Outputs

  • Inputs: none — the webhook receives data externally via inbound HTTP; no upstream block connections are required

  • Outputs:

    • payload (json) — Complete webhook payload received
    • headers (json) — HTTP request headers
    • method (string) — HTTP method used (GET, POST, PUT, DELETE, etc.)
    • url (string) — Request URL path
    • query (json) — URL query parameters
    • timestamp (string) — Webhook received timestamp
    • event (string) — Event type extracted from payload.event, payload.type, or payload.event_type
    • id (string) — Event ID extracted from payload.id, payload.event_id, or payload.uuid
    • data (json) — Event data extracted from payload.data or the full payload when no nested data key is present

Tools

This block is a trigger and requires no external tool calls. tools.access is empty — the block starts the workflow by receiving an inbound HTTP request; all further tool use happens in downstream blocks.

YAML Example

This block is a trigger; it has no incoming connections and no configurable inputs.

webhook_trigger:
  type: generic_webhook
  name: "Webhook"
  connections:
    outgoing:
      - target: next-block-id

To reference outputs in a downstream block use double-brace syntax:

process_event:
  type: function
  name: "Handle Event"
  inputs:
    code: "return { event: '{{webhook_trigger.event}}', data: {{webhook_trigger.data}} }"