Appointment Booking with Email Webhooks

Turn inbound emails into structured data for appointment booking. JsonHook parses every message and delivers JSON to your endpoint in real time.

Table of Contents
  1. The Problem
  2. How JsonHook Solves Appointment Booking
  3. Architecture Overview
  4. Implementation Guide
  5. ROI & Benefits

The Problem

Appointment confirmations, cancellations, and rescheduling notifications arrive via email from platforms like Calendly, Acuity, Square Appointments, and Google Calendar. Businesses that need to sync these events into their own systems — CRMs, staff scheduling tools, billing platforms — are stuck with either manual data entry or building custom integrations with every booking platform's API.

How JsonHook Solves Appointment Booking

JsonHook receives appointment notification emails and delivers them as structured JSON to your webhook handler. Your handler extracts the appointment date, time, attendee details, and event type (booked, cancelled, rescheduled), then updates your internal systems accordingly. One pipeline handles notifications from any booking platform that sends email confirmations.

Sync Appointments Automatically

Turn booking confirmation emails into calendar events and CRM records.

Get Free API Key

Architecture Overview

A production appointment booking pipeline built on JsonHook follows this architecture:

  • Inbound address: [email protected] — forward booking platform notifications to this address
  • JsonHook parsing: Extracts email body (containing appointment details), sender (booking platform), and subject (event type indicator)
  • Webhook handler: Parses appointment date, time, attendee name, email, and event type from the email body using platform-specific templates
  • Calendar/CRM sync: Creates, updates, or cancels events in your internal calendar or CRM via API based on the event type
  • Staff notification: Sends a formatted notification to the assigned staff member via SMS, Slack, or push notification

This architecture keeps each layer stateless and independently scalable. The inbound email address, the webhook handler, and the downstream data store can each be deployed, monitored, and scaled separately without affecting the others.

Implementation Guide

Follow these steps to set up appointment booking automation with JsonHook:

  1. Create a JsonHook inbound address for appointment notifications with your booking-handler webhook URL
  2. Configure forwarding from your booking platform notification email or set the JsonHook address as the notification recipient in your booking tool
  3. Build a handler that identifies the booking platform from the sender domain and applies the appropriate parsing template
  4. Extract appointment data — parse date, time, duration, attendee name, email, phone, and service type from the email body
  5. Sync to your systems — create or update calendar events, CRM records, and staff schedules via their respective APIs
  6. Handle cancellations and reschedules — detect the event type from the subject or body and update or remove the corresponding records

Once the pipeline is active, every qualifying email delivers structured JSON to your handler within seconds of arrival — no polling, no manual exports, no missed messages.

ROI & Benefits

Automating appointment booking via email webhooks delivers measurable improvements across multiple dimensions:

  • Platform-agnostic: Works with any booking tool that sends email notifications — no per-platform API integration required
  • Real-time sync: Your internal systems reflect appointment changes within seconds of the booking platform sending the notification
  • Staff awareness: Team members receive formatted, actionable notifications with all appointment details — no inbox scanning required
  • Cancellation handling: Cancelled and rescheduled appointments are detected and propagated to all connected systems automatically
  • Simple setup: Forward booking notification emails to a JsonHook address — no OAuth tokens, API keys, or webhook configuration in each booking platform

Teams that adopt email-to-webhook automation for appointment booking consistently report faster response times, lower error rates, and significant labour savings within the first month of deployment.

Frequently Asked Questions

Can I handle appointments from multiple booking platforms?

Yes. Forward notifications from Calendly, Acuity, Square, and any other platform to the same JsonHook address. Your handler identifies the source by sender domain and applies the correct parsing template for each platform's email format.

How do I detect cancellations vs. new bookings?

Most booking platforms include the event type in the email subject ("Booking Confirmed", "Booking Cancelled", "Rescheduled"). Your handler checks the subject line and routes accordingly. Some platforms also include a status field in the email body.

Can I add appointment data to Google Calendar?

Yes. Your webhook handler can create Google Calendar events via the Google Calendar API using the extracted appointment date, time, duration, and attendee details. Include a calendar event link in the staff notification for easy access.

What if the booking platform changes their email template?

Monitor your extraction success rate. If parsing starts failing for a specific platform, log the raw email body for analysis and update your parsing template. Multiple extraction strategies (regex primary, LLM fallback) add resilience to template changes.