Schedulista Webhook API

Sharing Schedulista appointment information with other software

Matt Tucker avatar
Written by Matt Tucker
Updated over a week ago

Schedulista allows your clients to schedule appointments on their own online when you want to be available to offer services. While scheduling, some basic information about the client is used to create a client record that you can reference for their appointment history.

You can automatically share select appointment information with other software using our one-way webhook API.

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

Contents:

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 (a "pull") from one software to initiate a response (a "push") from the second software.

A webhook API (or push API) makes information from one software available without requiring a request from another software. This is often referred to as "pushing" information.

About Schedulista's webhook API

The webhook API is a beta release and is subject to change.

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

It will automatically push select appointment information from Schedulista to another connected software in any of three events:

  • whenever an appointment is scheduled (booked) through the online scheduler or set by a provider directly on their calendar or another provider's calendar

  • whenever an appointment is cancelled

  • whenever an appointment is updated; updates include rescheduled date and/or time, change of provider, change of service, change of duration.

Connection to another software requires a webhook URL. This webhook address can be provided directly from the other software or can be provided through a third-party connection/integration service like Zapier (see more below).

You can set up multiple webhooks to connect to more than one software.

Webhook payload - what's included

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

{  
"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). 

  • occurred_at is the time the appointment was booked or set

  • event_type is the action taken in Schedulista. Three event types are available: "appointment:scheduled", "appointment:updated", "appointment:cancelled"

  • 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).

  • custom_fields includes all responses to any custom fields on the appointment

Current limitations

  • The webhook API is a one-way share; information cannot be imported into Schedulista from other software via the webhook API.

  • HTTP POST only

  • No data validation signature

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.

Entering your webhook URL

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

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

Note: Webhooks can currently only be set up on the web app.

(1) Go to Settings > Webhooks

(2) Click Add Webhook

(3) Enter a name or brief note for the webhook in the Description field

(4) Enter the webhook URL in the URL field

(5) Select which Event types you would like to support. You can select one or multiple types.

(6) Click Save

Repeat these steps to add additional webhooks for other software.

Information about a webhook

On the Webhooks page, you will see each of your webhooks listed. Each webhook will display the following information:

  • Description (name)

  • Webhook URL

  • Event type(s) selected

  • Date and time of the last successful webhook event push

  • Total number of events pushed to date

Disabling a webhook

You may want or need to temporarily disable a webhook from firing without permanently deleting the webhook setup.

(1) Go to Settings > Webhooks

(2) Scroll down to the webhook on the list you want to disable

(3) Click Edit

(4) On the webhook details page, check the Disabled box

(5) Click Save

When a webhook is disabled, a red Disabled tag will replace the event type(s) displayed on the webhook in the list on the Webhooks page.

Re-enable

To re-enable a webhook, edit the webhook, uncheck the Disabled box, and click Save.

Note: Schedulista may auto-disable a webhook if multiple failures are reported. You (or the main administrator on a multi-user business account) will be notified by email if the webhook is auto-disabled. Once you have resolved any issues with the webhook in the other software, you can re-enable the webhook in Schedulista.

Deleting a webhook

To permanently delete a webhook setup, edit the webhook. On the webhook details page, scroll down and click the Delete Webhook link.

keywords: webhooks, webhook, Zapier, connection, integration, share, API, push API, disable webhook, delete webhook

Did this answer your question?