Block 1 - Overview
- Type / Role
- n8n-nodes-base.stickyNote - stickyNote
- Config choices
- Version 1
Receive booking requests via webhook with automatic validation, duplicate detection, availability checking, confirmation emails, Google Calendar sync, and Slack notifications. WHAT IT DOES: Accepts...
n8n-nodes-base.stickynote, n8n-nodes-base.webhook, n8n-nodes-base.code, n8n-nodes-base.if, n8n-nodes-base.respondtowebhook, n8n-nodes-base.httprequest, n8n-nodes-base.gmail, n8n-nodes-base.googlecalendar
This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Manu.
Original n8n.io sourceReceive 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:
Each booking generates a unique ID (BOOK-timestamp-random) Captures customerName, customerEmail, customerPhone, serviceType, requestedDate, requestedTime Default duration 60 minutes, default partySize 1 Includes notes and source fields (default: website)
SETUP:
HTTP Header Auth credential with API key and base URL for your booking REST API Gmail credential for sending HTML confirmation emails to customers Google Calendar credential for creating staff scheduling events (uses primary calendar) Slack credential with access to #bookings and #errors channels Backend API with endpoints: POST /api/bookings, GET /api/bookings/check-duplicate, GET /api/bookings/availability, POST /api/bookings/audit
CUSTOMIZABLE:
Validation rules are adjustable in the Validate Booking code node (add or remove required fields, change email regex) Duplicate detection window can be modified in the API - Check Duplicates request parameters Confirmation email HTML template is fully editable in the Format Email code node (colors, layout, content) Calendar event format is configurable in the Prepare Calendar Event code node Slack notification format and channel are editable in the Slack - Notify Team node Party size, duration defaults, and service types can be adjusted in the Validate Booking code node
IDEAL FOR:
Restaurants, salons, clinics, hotels, and service businesses that need automated booking management with confirmation emails, calendar sync, and team notifications.
This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.
Showing the first 24 of 33 workflow blocks. Download the JSON for the full node graph.
| Workflow | Manage online bookings with webhook, Gmail, Google Calendar and Slack |
|---|---|
| Complexity | advanced |
| Nodes | 33 |
| Categories | Miscellaneous |
| Author | Manu |
| Published | 03 Feb 2026 |
Use the JSON export at /data/workflows/13196/13196.json as the source template for this automation.
Open n8n, import the downloaded JSON, and review each node before activating the workflow.
Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.
Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.
Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.
Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.
Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.
Receive booking requests via webhook with automatic validation, duplicate detection, availability checking, confirmation emails, Google Calendar sync, and Slack notifications. WHAT IT DOES: Accepts...
Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.
Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Miscellaneous use case.