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.
| Event | When it’s sent | Available |
|---|---|---|
task.created | A task was created | Always |
task.updated | A task’s title, values, priority, due date, or assignee changed | Always |
task.moved | A task moved to another stage or board | Always |
task.deleted | A task was deleted | Always |
comment.created | Someone commented on a task | Always |
event.occurred | One of your own events happened, like a delivery | Always |
person.created | Someone was added to the account | Always |
person.updated | Someone’s name, roles, status, or permissions changed | Always |
person.removed | Someone was removed from the account | Always |
person.invited | An invitation was sent | Always |
shift.published | A shift was published, or a published shift changed | For shifts made in Schedule, sent through the API, or brought in from Square. |
shift.cancelled | A published shift was canceled | For shifts made in Schedule, sent through the API, or brought in from Square. |
presence.clocked_in | Someone checked in | Only when Checking in and out is turned on, or when people clock in with Square. |
presence.clocked_out | Someone checked out | Only when Checking in and out is turned on, or when people clock in with Square. |
presence.break_started | Someone started a break | Only when Checking in and out is turned on, or when people clock in with Square. |
presence.break_ended | Someone ended a break | Only when Checking in and out is turned on, or when people clock in with Square. |
shift_request.created | Someone asked for cover, a swap, or an open shift | Only when Schedule is turned on. |
shift_request.accepted | Someone took a shift that someone else asked about | Only when Schedule is turned on. |
shift_request.decided | A shift request was approved or denied | Only when Schedule is turned on. |
time_off.requested | Someone asked for time off | Only when Schedule is turned on. |
time_off.decided | A time-off request was approved or denied | Only when Schedule is turned on. |
ping | A test, sent from Developers or the API | Always |
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.