# Zapier | Waitlyze Docs

> Push Waitlyze events into Zaps via webhooks.

Canonical: https://waitlyze.com/docs/zapier


There is no native Waitlyze Zapier app. The supported path is a Waitlyze [webhook](/docs/webhooks) connected to Zapier's **Webhooks by Zapier** trigger. Treat this as a recipe built on signed event delivery, not a direct app connection.

## Recipe: new signup → your Zap [#recipe-new-signup--your-zap]

<Steps>
<Step>
### Add a webhook endpoint in Waitlyze [#add-a-webhook-endpoint-in-waitlyze]
In waitlist settings → **Webhooks**, add your Zapier webhook URL (new endpoints receive all four events: `signup.created`, `signup.verified`, `referral.completed`, `milestone.reached`). Enable **Include subscriber data** to map email, phone, custom fields, and referral details directly in later Zap steps; leave it off if you want ID-only events. Copy the signing secret.
</Step>
<Step>
### Catch the hook in Zapier [#catch-the-hook-in-zapier]
Create a Zap with a **Webhooks by Zapier → Catch Raw Hook** trigger and paste the URL back in Waitlyze. The raw variant preserves the exact request body and the `x-waitlyze-signature` header, both of which signature verification needs. Send a test from Waitlyze (`{ "test": true }` in `data`) and confirm the Zap fires.
</Step>
<Step>
### Verify the signature in a Code step (recommended) [#verify-the-signature-in-a-code-step-recommended]
Before any later Zap action runs, verify the event in a Code step: pass the Catch Raw Hook's request body, the `x-waitlyze-signature` header value, and your signing secret to the verifier from [Webhooks](/docs/webhooks), and stop the Zap if verification fails.
</Step>
<Step>
### Map the subscriber fields [#map-the-subscriber-fields]
With enrichment enabled, map fields from `data.subscriber` directly into Sheets, Slack, or your CRM; the test hook includes realistic sample values for setup. Without enrichment, use `signupId` in a follow-up lookup against your subscriber read path or the [Signup API](/docs/api). Always check for `data.test` before creating real contacts.
</Step>
</Steps>

Tips: dedupe on the event `id` (retries redeliver), return success only after your Zap's side effects are durable, and keep one Zap per event type so failures stay isolated. Pause the Waitlyze endpoint while editing the Zap to avoid queueing noise.

## Next [#next]

<Cards>
<Card title="Webhooks" href="/docs/webhooks" description="Events, payloads, and verification." />
<Card title="API Reference" href="/docs/api/reference" description="Look up a signup or award configured points." />
<Card title="Integrations" href="/docs/integrations/overview" description="Compare supported connections and recipes." />
</Cards>

## Related Links
- [API Reference](https://waitlyze.com/docs/api/reference) - REST API endpoints
- [Embed Widget](https://waitlyze.com/docs/embed) - Embed instructions
- [Waitlyze Home](https://waitlyze.com/) - Product overview
