Manage online bookings with webhook, Gmail, Google Calendar and Slack
Receive booking requests via webhook with automatic validation, duplicate detection, availability checking, confirmation emails, Google Calendar sync, and Slack notifications. WHAT IT DOES: Accepts booking requests (n...
Template notes
Receive booking requests via webhook with automatic validation, duplicate detection, availability checking, confirmation emails, Google Calendar sync, and Slack notifications.
WHAT IT DOES:
Accepts booking requests (name, email, date, time, service type, party size) via webhook Validates all required fields and email format Checks for duplicate bookings within 24 hours for the same customer Verifies slot availability against your database Generates unique confirmation code (BOOK-timestamp-random) for each booking Sends styled HTML confirmation email via Gmail Creates Google Calendar event for staff scheduling Notifies team via Slack bookings channel Logs audit trail entry for every booking attempt Returns alternative time suggestions when requested slot is unavailable
INCLUDED FLOWS:
Valid booking: Webhook receives POST → Validate fields and email → Check duplicates via API → Check availability via API → Create booking → Send confirmation email → Create Calendar event → Notify Slack → Log audit → Return 201 with confirmation Invalid request: Missing name, email, date, or time → Return 400 with specific validation errors Duplicate booking: Same email already has booking on requested date → Return 409 with existing booking ID Unavailable slot: Time slot already booked → Return 409 with list of alternative available slots Workflow error: Any node fails → Error trigger → Slack alert to errors channel
RESPONSE CODES:
201 Created: Booking confirmed with bookingId, customer details, date, time, duration, and confirmationSent flag 400 Bad Request: Validation failed with list of specific errors and received data 409 Conflict (duplicate): Booking already exists for this email on requested date with existingBookingId 409 Conflict (unavailable): Requested slot not available with array of alternative slots
BOOKING DATA: