Zcal

Zcal is a free scheduling platform for booking meetings via shareable scheduling links, meeting polls, and team pages (round-robin and collective). Zcal does not publish a general-purpose public REST API; programmatic integration is delivered through outbound webhooks (event.created, event.rescheduled, event.cancelled) and no-code connectors such as Zapier and Make, plus native integrations including Zoom, Stripe, Google Analytics, and Meta Pixel.

3 APIs 0 Features
SchedulingCalendarBookingMeetingsWebhooks

APIs

Zcal Scheduling Links

Unlimited shareable scheduling links, meeting polls, and customizable booking pages let invitees self-serve a time. This is a product surface managed through the Zcal web applic...

Zcal Bookings

Bookings (events) capture timing, hosts, attendees, location, and custom question responses. Booking data is surfaced to external systems through outbound webhooks rather than a...

Zcal Integrations and Webhooks

Outbound webhooks POST a JSON payload to a subscriber URL when a booking is created, rescheduled, or cancelled. Payloads can be verified with an optional HMAC SHA-256 signature ...

Collections

Zcal

OPEN

Pricing Plans

Zcal Plans Pricing

3 plans

PLANS

Rate Limits

Zcal Rate Limits

2 limits

RATE LIMITS

FinOps

Zcal Finops

FINOPS

Resources

🔗
TrustCenter
TrustCenter
🔗
DomainSecurity
DomainSecurity
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Zcal
  version: '1.0'
  description: 'Zcal does not publish a general-purpose public REST API. The only documented programmatic surface is outbound
    webhooks: Zcal POSTs a JSON payload to a subscriber URL you configure when a booking is created, rescheduled, or cancelled.
    The single item below is documentation-only and represents the shape of that outbound webhook payload for reference; it
    is NOT a Zcal-hosted endpoint you can call. Replace the URL with your own webhook receiver to test delivery.'
items:
- info:
    name: Webhooks (Outbound - Documentation Only)
    type: folder
  items:
  - info:
      name: Booking event webhook (event.created / event.rescheduled / event.cancelled)
      type: http
    http:
      method: POST
      url: '{{webhookReceiverUrl}}'
      headers:
      - name: Content-Type
        value: application/json
      - name: x-zcal-webhook-signature
        value: '{{hmacSha256Signature}}'
      body:
        type: json
        data: "{\n  \"type\": \"event.created\",\n  \"created_at\": \"2026-06-21T15:00:00Z\",\n  \"data\": {\n    \"id\":\
          \ \"evt_example\",\n    \"eventName\": \"Intro Call\",\n    \"startDate\": \"2026-06-22T17:00:00Z\",\n    \"duration\"\
          : 30,\n    \"cancelled\": false,\n    \"hosts\": [{ \"name\": \"Host Name\", \"email\": \"host@example.com\" }],\n\
          \    \"attendees\": [{ \"name\": \"Invitee Name\", \"email\": \"invitee@example.com\", \"timezone\": \"America/New_York\"\
          , \"type\": \"invitee\" }],\n    \"location\": { \"type\": \"online\", \"url\": \"https://zoom.us/j/123\", \"id\"\
          : \"123\", \"passcode\": \"456\" }\n  }\n}"
    docs: 'Outbound webhook Zcal sends to YOUR subscriber URL on booking lifecycle events. Event types: event.created, event.rescheduled,
      event.cancelled. The optional x-zcal-webhook-signature header is an HMAC SHA-256 hash of the payload signed with your
      secret key. This is not a callable Zcal API endpoint. See https://help.zcal.co/integrations/webhooks and https://help.zcal.co/integrations/webhooks/webhook-payload.'
bundled: true