API Keys and Webhooks

Connect Skidle to your own systems. API keys let them read and create tasks, and webhooks let them know when something happens in Skidle.

This section is for whoever manages your website or your other systems. If that's not you, you can skip it.

API keys and webhooks are in Account under Developers. Only owners and admins can see them.

API keys

An API key lets another system act on behalf of your account, and only your account. It can only do what you allow, area by area: read, write, or nothing. If it's for something temporary, give the key an expiration date.

Send the key as a bearer token. It's only shown once, so copy it when you create it. For the full reference, with every endpoint, see api.skidle.com/docs.

For example, a booking system could create a "Turn over room 12" task from a template as soon as a guest checks out.

Webhooks

A webhook is an address Skidle calls when something happens, like when a task is created or moved, someone comments, a shift is published, someone checks in or out, or a shift or time-off request is answered. Choose the events you want when you create the webhook.

Some events only happen when a feature is turned on, or when an integration brings them in. For everything that can start a workflow too, see Events You Can Act On.

EventWhen it’s sentAvailable
task.createdA task was createdAlways
task.updatedA task’s title, values, priority, due date, or assignee changedAlways
task.movedA task moved to another stage or boardAlways
task.deletedA task was deletedAlways
comment.createdSomeone commented on a taskAlways
event.occurredOne of your own events happened, like a deliveryAlways
person.createdSomeone was added to the accountAlways
person.updatedSomeone’s name, roles, status, or permissions changedAlways
person.removedSomeone was removed from the accountAlways
person.invitedAn invitation was sentAlways
shift.publishedA shift was published, or a published shift changedFor shifts made in Schedule, sent through the API, or brought in from Square.
shift.cancelledA published shift was canceledFor shifts made in Schedule, sent through the API, or brought in from Square.
presence.clocked_inSomeone checked inOnly when Checking in and out is turned on, or when people clock in with Square.
presence.clocked_outSomeone checked outOnly when Checking in and out is turned on, or when people clock in with Square.
presence.break_startedSomeone started a breakOnly when Checking in and out is turned on, or when people clock in with Square.
presence.break_endedSomeone ended a breakOnly when Checking in and out is turned on, or when people clock in with Square.
shift_request.createdSomeone asked for cover, a swap, or an open shiftOnly when Schedule is turned on.
shift_request.acceptedSomeone took a shift that someone else asked aboutOnly when Schedule is turned on.
shift_request.decidedA shift request was approved or deniedOnly when Schedule is turned on.
time_off.requestedSomeone asked for time offOnly when Schedule is turned on.
time_off.decidedA time-off request was approved or deniedOnly when Schedule is turned on.
pingA test, sent from Developers or the APIAlways

Every delivery is signed with the webhook's secret in the Skidle-Signature header, so your system can confirm it came from Skidle. If an address keeps failing, Skidle turns off the webhook and shows a note on the page.

Secrets for workflows

If a workflow needs a key for another system, like an API key for your CRM, save it in Account under Secrets. Then use it in a web request card as {{ secrets.NAME }}. A saved secret is never shown again. See Secrets.