Use this file to discover all available pages before exploring further.
Tymeslot webhooks let you react to booking activity in real time. Whenever a meeting is created, cancelled, or rescheduled, Tymeslot sends an HTTP POST request with a signed JSON payload to an HTTPS endpoint you control. You can feed that data straight into n8n, Zapier, Make, or your own backend — no polling required.
Webhooks require the Pro plan on the managed cloud. If you self-host Tymeslot, all webhook features are available at no extra cost — the automations_allowed feature gate is unrestricted by default on self-hosted instances.
Tymeslot fires webhooks for three meeting lifecycle events, sourced directly from Tymeslot.Webhooks.available_events/0:
Event
Trigger
meeting.created
A new booking is confirmed
meeting.cancelled
An existing booking is cancelled
meeting.rescheduled
A booking’s time is changed
You choose which events each webhook subscribes to when you create it in Dashboard → Automation → Webhooks. A single endpoint can subscribe to one, two, or all three events.
When a subscribed event fires, Tymeslot schedules delivery via an Oban background job. The job sends an HTTP POST to your URL with the following headers:
Header
Value
Content-Type
application/json
User-Agent
Tymeslot-Webhooks/1.0
X-Tymeslot-Timestamp
ISO 8601 UTC timestamp of the request
X-Tymeslot-Token
HMAC-signed token — use this to verify the sender
The endpoint must return a 2xx status code to be considered successful. Any other status code (or a network failure) counts as a failed delivery.
After 10 consecutive delivery failures, Tymeslot automatically disables the webhook and records a disabled_reason. You can re-enable it at any time from Dashboard → Automation → Webhooks — re-enabling also resets the failure counter.
The X-Tymeslot-Token header contains the webhook’s signing secret. Reject any request that is missing the header or presents a token that doesn’t match the one shown in your dashboard. Store the secret securely and never commit it to version control.
Use the Test button in the dashboard, or call the connection-test function directly. Tymeslot sends a minimal test payload with no meeting data:
{ "event": "webhook.test", "timestamp": "2024-01-15T10:30:00Z", "webhook_id": "test", "data": { "message": "This is a test webhook from Tymeslot. If you receive this, your webhook is configured correctly!", "test": true }}
A 2xx response from your endpoint confirms the URL is reachable and the connection is healthy.
Tymeslot tracks consecutive failures on every webhook (failure_count on the WebhookSchema). The counter resets to zero on any successful delivery. If failure_count reaches 10, the webhook is automatically disabled:
is_active is set to false
disabled_at is stamped with the current UTC time
disabled_reason records the error that triggered the final failure
To re-enable, go to Dashboard → Automation → Webhooks, find the disabled webhook (it is marked with a “Disabled” badge), and click Re-enable. This resets the failure counter and resumes delivery.