CaliDiary is coming soon: a free booking plugin for WordPress, with Solo and Pro plans for payments and teams. See the plans
Product Your data stays on your websiteOnline payments and depositsInvoices and credit notes, built inWorks with the tools you already useBooking forms that ask the right questionsTeam sign-in, no dashboard accessAccessible to every customerSafe, signed updates All features
Booking kinds AppointmentsGroup bookingsRequests you approveFree bookingsSeveral services in one visitClasses and coursesEvents with ticketsRooms, desks and equipmentWaiting list
Industries Professional servicesClinics and healthSalons and beautyTraining, classes and coursesPet careHome and autoPublic sector and educationCreative and eventsCommunity, charities and volunteering All 51 industries
Compare CaliDiary vs AmeliaCaliDiary vs BooklyCaliDiary vs LatePointCaliDiary vs BookneticCaliDiary vs BookingPressCaliDiary vs Simply Schedule Appointments All comparisons
Pricing
Start free
API keys, webhooks, Zapier and Make

Use API keys and webhooks

Webhooks tell other services when a booking is made, moved or cancelled. API keys let your own tools, Zapier or Make read and change bookings and customers.

Plans
Plans: Pro
In the plugin
CaliDiary → Settings → Integrations → API keys and webhooks

Pro plan. On the Free and Solo plans you see a preview of this in the plugin, with Start free Pro trial and See plans. Compare the plans.

When you need it

  • Your practice-management system or spreadsheet should hear about every new booking straight away.
  • A developer is building something that reads your free times or makes bookings.
  • You are connecting Zapier or Make.

Step by step

  1. Open CaliDiary → Settings → Integrations and choose API keys and webhooks.

    [Screenshot to come] It will show: The Integrations tab with its sub-tabs (API keys and webhooks chosen), the Webhooks card with one webhook “Zapier: new bookings to Sheets” (pill On, its buttons), and the API keys card with one key “Accounts spreadsheet” (Can only read, Working).
    The API keys and webhooks tab with one webhook and one API key (Settings → Integrations → API keys and webhooks)
  2. To send bookings to another service, press Add webhook in the Webhooks card:

    • Address: the address the other service gave you; it must start with https://;
    • Name (optional), such as “Zapier: new bookings to Sheets”;
    • Send when: tick the events, such as A booking is made, A booking moves to a new time or person, A booking is cancelled, or a request is declined or A payment is received.

    Press Add webhook.

    [Screenshot to come] It will show: The Add webhook window: Address filled with a https:// test address, Name “Zapier: new bookings to Sheets”, and the Send when list with “A booking is made” ticked.
    The Add webhook window with an address, a name and the events to send (Settings → Integrations → API keys and webhooks → Add webhook)
  3. Copy the Signing secret shown next (it starts cd_whsec_) if the other service checks signatures, then press Done. It can't be shown again; Zapier doesn't need it.

  4. Press Send a test event on the webhook. You see Test event delivered to … when it arrived. Delivery log lists everything sent in the last 30 days, with each answer and Send again.

    [Screenshot to come] It will show: The Delivery log window for the webhook with one entry: “A booking is made” with the Test tag, its date and time, “Delivered (200)” and Send again.
    A webhook’s delivery log showing a delivered test event (Settings → Integrations → API keys and webhooks → Delivery log)
  5. To let your own tools in, press Make API key in the API keys card. Give it a Name and choose What it can do:

    • Read only: see bookings, customers, services and free times;
    • Read and change: also make, move and cancel bookings, and add or change customers.

    Press Make API key.

  6. Copy the key straight away (it starts cd_live_): it is shown only once. Keep it as safe as a password.

  7. Press Revoke on a key you no longer need. Anything using it stops working at once.

Tips

  • A webhook that fails is tried again up to 6 times over about a day, then paused. Fix the cause and press Switch on.
  • Your API's address is shown in the Use with Zapier card: your website followed by /wp-json/calidiary/v1/. For developers lists every address, the Authorization: Bearer header and the limit of 120 requests a minute.
  • An API key works as the person who made it, and only for bookings, customers, services, people, locations and free times: never for settings or the rest of WordPress.
  • Webhook messages go straight from your website to the address you choose: they never pass through CaliDiary's servers.
  • On Free and Solo this tab is a preview with a Pro badge.

Common problems

“The address must start with https://, so booking details are encrypted on the way.”
Use the secure (https) address the other service gives you.
“This address is on this server or a private network, which isn't allowed.”
Webhooks can only go to public addresses. Use the address the other service gave you, not a local one.
“Paused: it kept failing for about a day.”
Open Delivery log to see the answer the other service gave, fix it there, then press Switch on and Send again.
“This API key can only read…”
Make a new key with Read and change, and revoke the read-only one if you no longer need it.
“Too many requests with this API key (the limit is 120 a minute)…”
Slow your tool down, or spread its requests out.

New to CaliDiary?

Start on the free plan, with no booking limit. Upgrade only when you need to.