What are Webhooks?

Webhooks are HTTP callbacks which can be used to pull information from Appointedd. Appointedd's webhook integration allows you to send data about an event when that event is triggered e.g. when a new booking is created, updated or deleted.

Webhooks are processed on the following events:

  • Booking created
  • Booking updated
  • Booking cancelled
  • Customer created
  • Customer updated
  • Customer deleted

Note: Bookings can also trigger customer webhooks, as customers can be updated and created while creating a booking.

Creating a Webhook

You can create a Webhook from your Appointedd settings:

  • Hover over the integrations tab
  • Select Webhooks 
  • Give your Webhook a comprehensive name
  • Select a Webhook trigger (the trigger is the action which will prompt the webhook to send information to the URL)
  • Enter the URL of the endpoint to which data should be sent
  • If you wish, you can choose to authenticate your webhooks using basic authentication or a custom header:
  • Click save webhook

This article explains how you can use Zapier to catch your webhook and send the information to your other tools.

What data is sent with a webhook?

Bookings

{
  "event_type": "booking_created",
  "event_data": {
    "organisation": {
      "id": "579..................57f",
      "name": "Scott Hutcheson"
    },
    "booking": {
      "id": "597..................963",
      "start_time": "2017-07-26T11:30:00.000Z",
      "end_time": "2017-07-26T12:30:00.000Z",
      "price": 0,
      "created": "2017-07-25T16:15:11.000Z",
      "status": "Confirmed",
      "type": "Hourly",
      "timezone": "Europe/London",
      "updated": "2017-07-25T16:15:11.000Z"
    },
    "participants": [{
      "id": "597..................962",
      "firstname": "Hannah",
      "lastname": "Martin",
      "timezone": "Europe/London",
      "email": "hannah@email.com",
      "spaces": 1,
      "marketing_opt_in": true,
      "booking_status": "No Status",
      "notes": "These are some booking notes",
      "questions": [
         {
           "label": "What is your shoe size?",
            "value": "10"
         },
         {
           "label": "Would you like a coffee?",
            "value": "Yes"
         }
      ],
    }],
    "bookables": [{
      "id": "579..................5aa"
    }],
    "service": {
      "id": "580..................5e0",
      "name": "Meeting",
      "type": "Hourly"
    }
  },
  "event_timestamp": 1500999311
}

Customers

{
  "event_type": "customer_created",
  "event_data": {
    "organisation": {
      "id": "579..................57f",
      "name": "ACME Corp"
    },
    "customer": {
      "id": "597..................962",
      "firstname": "Hannah",
      "lastname": "Martin",
      "email": "hannah@email.com",
      "marketing_opt_in": true
    }
  },
  "event_timestamp": 1500999311,
}
Did this answer your question?