What are Webhooks?
Webhooks are a way to automatically notify your other business tools whenever something happens in Easy Appointment Booking. Think of it as setting up an automatic alert system that tells your other software "Hey, something important just happened!"
Benefits
Real-Time Updates: Get instant notifications when bookings are made, changed, or cancelled
Automation: Automatically trigger actions in your other business tools
Data Synchronization: Keep your systems in sync without manual work
Flexibility: Works with popular platforms like Zapier, Make.com, or your custom systems
Common Use Cases
1. CRM Integration: Add new bookings to HubSpot or Salesforce to update customer records automatically
2. Team Communication: Send booking notifications to Slack or create tasks in Asana or Trello
3. Customer Communication: Trigger custom email workflows.
4. Data Management: Log bookings in Google Sheets or update your custom database
Requirements
Ultimate Plan: You need to be on an Ultimate Plan to setup webhooks.
A destination URL where you want to receive the notifications (from Zapier, Make.com, or your own system).
Setting Up Webhooks
Go to Settings > Integrations & Webhooks
Enter your Webhook URL in the provided field
Click Save to activate the webhook
Popular Integration Platforms
You can get your webhook URL from these platforms:
Zapier: Create a new Zap and choose "Webhook" as your trigger
Make.com: Add a "Webhook" module to your scenario
Workato: Use the "HTTP Webhook" trigger in your recipe
Here is a sample Zapier flow that automatically sends a WhatsApp notification when a booking is placed. Then, it adds the booking to your own custom Google sheet.
What Data You'll Receive
When a booking event occurs, we'll send a JSON payload to your webhook URL with the following structure:
{
event: "booking.created",
data: {
booking_id: "ABC",
start_date: "2026-12-11",
... (other fields, read below)
}
}
Each web hook will have a primary event
field which could be one of:
booking.created
: A booking was created.booking.rescheduled
: A booking was rescheduled.booking.cancelled
: A booking was cancelled.
(More fields are coming soon, including packages and bundles).
Additionally, the booking will have a data
field, which will contain all the following fields:
Customer Information
first_name
: Customer's first name (Example: "John")last_name
: Customer's last name (Example: "Doe")customer_email
: Customer's email address (Example: "john@example.com")customer_phone
: Customer's phone number (Example: "(123) 456-7890")customer_language
: Customer's preferred language (Example: "en")
Booking Details
booking_id
: Unique identifier for the booking (Example: "BOK123")order_id
: Associated Shopify order ID (Example: "12345")number_of_attendees
: Number of people booked (Example: 2)variant_title
: Product variant title (Example: "60 Minute Session")booking_created_at
: Booking creation timestamp (Example: "2024-03-20T10:00:00Z")booking_line_items
: Additional booking properties (Example: [{"name": "Special Requests", "value": "None"}])reschedule_booking_link
: Link to reschedule the booking (if available)bundle_booking_link
: Link to redeem other bookings from this bundle (if applicable)start_date
: Event start date in YYYY-MM-DD format.end_date
: Event end date in YYYY-MM-DD formatstart_time
: Event start time (Example: "10:00 AM")end_time
: Event end time (Example: "11:00 AM")timezone
: Event timezone (Example: "America/New_York")
Event Information
event_id
: Unique identifier for the event (Example: "EVT123")event_name
: Name of the event/service (Example: "Consultation Call")event_description
: Event description (Example: "Initial consultation...")event_location
: Physical or virtual location (Example: "123 Main St")event_link
: Meeting link if virtual (Example: "https://zoom.us/...")event_notes
: Additional event notes (Example: "Please arrive 5 minutes early")
Staff/Availability Information
availability_name
: Employee name (Example: "Jane Smith")availability_email
: Employee email (Example: "jane@business.com")availability_contact_link
: Employee contact link (Example: "https://calendly.com/jane"
Shop Information
shop_name
: Your store name (Example: "My Business")shop_website
: Your store URL (Example: "https://mystore.com")shop_email
: Store contact email (Example: "contact@mystore.com")logo_url
: Store logo URL (Example: "https://mystore.com/logo.png")
Package Information (if applicable)
is_package_booking
: Whether this is a package booking (Example: true/false)package_code
: Package identifier (Example: "PKG123")package_booking_link
: Link to book package sessions (Example: "https://...")
Testing Your Webhook
To test your webhook:
Set up the webhook URL in your settings
Create a test booking (or reschedule an existing booking)
Check your integration platform (Zapier, Make.com, etc.) to confirm you received the data
Best Practices
1. Reliability: Our system will retry sending webhooks if the first attempt fails
2. Security: Keep your webhook URL private and secure
3. Monitoring: Check your integration platform's logs to ensure everything is working
Remember: Webhooks are a Pro feature designed to help you automate your business. While the technical details might seem complex, platforms like Zapier make it easy to use this powerful feature without any coding knowledge! 😊