TriggerZap icon

Trigger a Zapier Zap

Trigger a Zapier Zap from Kestra via a Catch Hook webhook. Send event payloads with execution context to automate cross-platform SaaS workflows.

Categories
Business

Trigger a Zapier Zap directly from a Kestra workflow by posting a JSON event payload to a Zapier Catch Hook URL. This blueprint bridges Kestra orchestration with Zapier's ecosystem of thousands of SaaS apps (Gmail, Slack, HubSpot, Notion, Airtable, Google Sheets, and more), so backend pipelines, data jobs, and scheduled flows can fan out into business automations without writing custom integrations for every destination.

How it works

The flow exposes two inputs: event_name (defaults to workflow_completed) and message (defaults to Hello from Kestra!). A single task trigger_zap of type io.kestra.plugin.zapier.TriggerZap issues a POST request to the Catch Hook URL stored in the ZAPIER_WEBHOOK_URL secret. The request body carries the event name, the custom message, a fixed source: kestra, plus the current flow.namespace, flow.id, and execution.id, giving Zapier full context about which Kestra execution fired the Zap.

What you get

  • One declarative task to invoke any Zap from any flow.
  • Built-in execution metadata (namespace, flow, execution id) in every payload.
  • Outputs you can chain downstream:
    • {{ outputs.trigger_zap.status }}: HTTP status code (200 on success).
    • {{ outputs.trigger_zap.body }}: response body from Zapier.
    • {{ outputs.trigger_zap.attemptId }}: Zapier attempt tracking id.

Who it's for

  • Data and platform engineers who want orchestration-driven notifications and SaaS automations without standing up bespoke webhook services.
  • Ops and RevOps teams wiring Kestra pipelines into CRM, marketing, and productivity tools through Zaps.
  • Solution architects who need a thin glue layer between durable backend orchestration and no-code business workflows.

Why orchestrate this with Kestra

Zapier on its own reacts to events from individual apps, but it has no view of your data pipelines, batch jobs, or multi-step backend workflows. Kestra fills that gap: event-driven triggers, schedules, retries, error handlers, and full execution lineage decide exactly when (and with what payload) a Zap should fire. The flow is declarative YAML, version-controlled, and reusable across environments, while secrets keep the Catch Hook URL out of code.

Prerequisites

  • A Zapier account with a Zap whose trigger is "Webhooks by Zapier" (Catch Hook).
  • The Catch Hook URL produced by that trigger.

Secrets

  • ZAPIER_WEBHOOK_URL: the Zapier Catch Hook URL for the target Zap.

Quick start

  1. In Zapier, create a Zap with a "Webhooks by Zapier" Catch Hook trigger and copy its URL.
  2. Add ZAPIER_WEBHOOK_URL as a Kestra secret in your tenant or namespace.
  3. Import this blueprint into a namespace (default company.team).
  4. Execute the flow, optionally overriding event_name and message.
  5. Confirm the Zap fires in Zapier's task history and inspect outputs.trigger_zap in Kestra.

How to extend

  • Add fields to the content map (order ids, customer emails, S3 paths, dbt model names) to drive richer Zap actions.
  • Replace the manual run with a Schedule or Webhook trigger to fire Zaps on a cadence or in response to upstream systems.
  • Chain the task after a data pipeline so a successful load notifies stakeholders via Slack, Gmail, or HubSpot through Zapier.
  • Wrap the task with retry and errors blocks to handle transient Zapier outages cleanly.
  • Branch on outputs.trigger_zap.status to escalate failures to PagerDuty or Opsgenie.

Links

Share this Blueprint
See How

New to Kestra?

Use blueprints to kickstart your first workflows.