Zapier Integration
Zapier connects Reservly to 6,000+ apps with zero code. This guide walks you through setting up a Zap that triggers whenever a booking is created, cancelled, or updated in Reservly.
What You'll Build
A Zap (automated workflow) where Reservly booking events are the trigger, and any Zapier-supported app is the action. Common examples:
- New booking → Slack notification
- New booking → Google Calendar event
- Payment received → follow-up email
- Booking cancelled → update an Airtable row
Prerequisites
- A Reservly account with webhook access enabled.
- A Zapier account (free tier supports single-step Zaps).
Step 1: Create a New Zap
Log in to Zapier and click Create Zap. You'll set up a trigger (Reservly webhook) and an action (your destination app).
Step 2: Set Up the Webhook Trigger
- For the trigger app, search for Webhooks by Zapier.
- Choose Catch Hook as the trigger event. This tells Zapier to listen for incoming webhook data.
- Click Continue. Zapier generates a unique webhook URL:
https://hooks.zapier.com/hooks/catch/12345/abcdef/text
- Copy this URL.
- In your Reservly dashboard, go to Settings → Integrations → Webhooks.
- Click Add Webhook, paste the Zapier URL, and select the events you want to trigger on (e.g.,
booking.created,booking.cancelled). - Save the webhook in Reservly.
Step 3: Test the Trigger
- In Reservly, click Send Test next to your webhook. This sends a sample booking payload to Zapier.
- Back in Zapier, click Test trigger. You should see the sample data:
{
"event": "booking.created",
"booking": {
"id": "b_abc123",
"service_name": "Haircut & Style",
"date": "2026-04-15",
"time": "10:00",
"customer_name": "Jane Smith",
"customer_email": "jane@example.com",
"status": "confirmed"
},
"business_slug": "luxe-salon",
"timestamp": "2026-04-14T18:30:00Z"
}jsonIf the test succeeds, you'll see all the booking fields available for mapping in the next step.
Step 4: Add an Action
Click +to add an action step. Search for and select your destination app. Map Reservly fields from the trigger to the action's input fields.
Available fields from the webhook:
| Field | Zapier Path | Description |
|---|---|---|
| Event type | event | booking.created, booking.cancelled, etc. |
| Booking ID | booking__id | Unique booking identifier |
| Service name | booking__service_name | Name of the booked service |
| Date | booking__date | Booking date (YYYY-MM-DD) |
| Time | booking__time | Booking time (HH:MM) |
| Customer name | booking__customer_name | Customer's full name |
| Customer email | booking__customer_email | Customer's email address |
| Status | booking__status | confirmed, cancelled, etc. |
Example Zaps
Zap 1: New Booking → Slack Message
Trigger: Webhooks by Zapier (Catch Hook) → Action: Slack (Send Channel Message). Set the channel to #bookings and compose the message:
New booking: {{booking__customer_name}} booked {{booking__service_name}} on {{booking__date}} at {{booking__time}}.textZap 2: New Booking → Google Calendar Event
Trigger: Webhooks by Zapier → Action: Google Calendar (Create Detailed Event). Map the date and time to the event start, use the service duration for the end time, and put the customer name in the event title.
Zap 3: Payment Received → Follow-Up Email
Trigger: Webhooks by Zapier (filter for event = payment.received) → Action: Gmail (Send Email). Use the customer email as the recipient and include a thank-you message with their booking details.
Zap 4: Booking Cancelled → Update Airtable
Trigger: Webhooks by Zapier (filter for event = booking.cancelled) → Action: Airtable (Update Record). Use the booking ID to find the matching row and update the status column to "Cancelled".
Using Filters
Zapier receives all the webhook events you selected in Reservly. To limit a Zap to a specific event type, add a Filter by Zapier step between the trigger and action:
Field: event Condition: (Text) Exactly matches Value: booking.createdtext
This ensures the Zap only runs for new bookings, ignoring cancellations and updates.
Tips
- Use Zapier's Paths feature to handle different event types in a single Zap (e.g., one path for created, another for cancelled).
- Test your Zap end-to-end by creating a real booking on your Reservly public page and checking that the action fires.
- For advanced use cases, add an HTTP Request by Zapieraction step to call Reservly's API directly (e.g., fetch full service details).
Next Steps
- Webhooks Reference— full list of events and payload formats
- REST API Reference— all available endpoints
- All Integration Guides— connect with other platforms