Note: The Schedulista webhook API is in alpha testing at the moment. Functionality could change during testing.

You can automatically share select appointment information with other software using Schedulista's webhook API.

Contents in this article:

  • What is a webhook API?
  • About Schedulista's webhook API
  • Entering your webhook URL

What is a webhook API?

An application programming interface (API) allows two pieces of software to communicate with each other. APIs typically require a request from one software to initiate a response from the second software.

A webhook API makes information from one software available without requiring a request from another software.

About Schedulista's webhook API

Our webhook API has not been publicly released. You can request access by emailing us at support@schedulista.com.

The API is an alpha release and is subject to change.

Zapier

The webhook API is compatible with Zapier, a service that allows you to connect other web services and apps you use to create automated workflows they call "zaps."  You can read more on setting up the webhook as a trigger for a zap here.

Current limitations

  • The webhook API is a one-way share; information cannot be imported into Schedulista from other software via the webhook API.
  • Only a single webhook URL can be set on a Schedulista account
  • The only event currently is appointment scheduled. If you want to hook other events (e.g. client added or appointment rescheduled), please let us know.
  • HTTP POST only
  • No data validation signature

Webhook payload

Some information for you technical folks.  We perform an HTTP POST with the following JSON payload each time an appointment is scheduled.

Note, if an appointment is scheduled via the calendar, there is a 1-minute delay for the webhook.

{
  "occurred_at": "2017-10-16T16:13:54-0700",
  "event_type": "appointment:scheduled",
  "appointment": {
    "id": "a1079318069@schedulista.com",
    "time": "2017-10-16T04:30:00-0700",
    "duration": 120,
    "service": {
      "name": "Women's Haircut & Style"
    },
    "client": {
      "first_name": "Felix",
      "last_name": "Livni",
      "email": "support@schedulista.com",
      "phone": "+18004191672"
   },
    "provider": {
      "first_name": "Casey",
      "last_name": "Roberts",
      "email": "casey.roberts@gmail.com"
   },
    "actor": {
      "first_name": "Stephen",
      "last_name": "Anderson",
      "email": "stephen.anderson@gmail.com"
    }
  }
}

  • All times are ISO 8601 format with a time offset that matches the time zone offset of the business (at that time). 
  • appointment.id is a unique identifier for the appointment
  • appointment.time is the date & time of the appointment
  • appointment.duration is the length of the appointment in minutes
  • appointment.service is the name of the service booked
  • appointment.client is the most recently added / updated client for this appointment. This includes the client's name, the client's email address, and the client's phone number. In the future we plan to list all attendees for appointments that are classes.
  • appointment.provider is the calendar that the appointment was booked on. This includes the provider's name and the provider's email address (only if the provider has an email address on their user account).
  • appointment.actor is the user or provider who performed the action. This section is only included if the actor differs from the provider. (e.g., another provider on the account sets an appointment on your calendar) This includes the actor's name and the actor's email address (only if the actor has an email address on their user account).

Entering your webhook URL

You will get a webhook URL from another software you would like to connect with Schedulista or from a connection service like Zapier.

You can enter your webhook URL on the Business Details page in your account settings.


keywords: webhooks, Zapier, integration, API

Did this answer your question?