Back to Overview

Slack Notifications

Get a Slack message whenever a meeting is booked, requested, cancelled or rescheduled. Connect in one click with Add to Slack, or paste an Incoming Webhook URL.

Luka Breitig, Software Engineer & AI Developer
Luka Breitig

Оновлено 23 червня 2026

Real-time booking notifications

Tymeslot posts a formatted Slack message as soon as a meeting is booked, requested, cancelled or rescheduled, to a public channel or to a private channel the bot has been invited to.

  • Two ways to connect: Add to Slack (your app as the sender, channels picked from a list) or a pasted Incoming Webhook URL (one fixed channel, no Slack App credentials on the server)
  • Six events to switch on or off per integration: Meeting Created, Booking Requested, Booking Declined, Booking Request Expired, Meeting Cancelled and Meeting Rescheduled. A new connection starts subscribed to all six
  • Messages are sent in the background with automatic retries, so a Slack outage never holds up a booking

For Tymeslot Cloud users

On tymeslot.app, Slack is ready to connect, with no app to register:

  1. Open Dashboard → Automation → Slack.
  2. Click Add to Slack and confirm the workspace and permissions inside Slack.
  3. Back in Tymeslot, pick the channel the bot should post to. Public channels are listed automatically. For a private channel, invite the bot in Slack first, then click Refresh and pick it from the list.
  4. Choose which events should send notifications, then save. Click Test on the integration card to send a test message.
The Slack tab under Automation with no integrations yet, showing the Add to Slack and Add via webhook URL buttons
The Slack tab before anything is connected.
The Finish Slack setup form after Add to Slack: a Channel dropdown set to #bookings with a Refresh button above it, and Event Subscriptions with all six events ticked, from Meeting Created to Meeting Rescheduled, above the Save channel button
After Add to Slack, pick the channel, click Refresh if a private channel is missing, choose your events and click Save channel.

Pro plan required on tymeslot.app, free for self-hosters.

Slack notifications on tymeslot.app are part of the Pro plan. Self-hosted instances have no plan restriction: both modes are available once you set the environment variables below.

OAuth gives every user a one-click "Add to Slack" button, messages sent under your own Slack App's name and icon, and channel changes without pasting new URLs. Use it for any deployment with more than one user.

Register a Slack App at api.slack.com/apps and configure it as follows:

  1. Click Create New App → From scratch and pick any workspace for development.
  2. Under OAuth & Permissions, add the redirect URL:
    https://your-domain/api/slack/oauth/callback
  3. On the same page, add these bot token scopes:
    chat:write
    chat:write.public
    channels:read
    groups:read
    team:read
  4. Under Manage Distribution, enable public distribution if you want any workspace to install the app. For an internal deployment, leave it private and install from your own workspace.
  5. Copy the Client ID and Client Secret from Basic Information → App Credentials.

Then set these environment variables on your Tymeslot deployment:

SLACK_CLIENT_ID=<your client id>
SLACK_CLIENT_SECRET=<your client secret>

Setting SLACK_CLIENT_ID enables Slack notifications. With both variables set, OAuth mode is active and users see the "Add to Slack" button in the dashboard.

Why OAuth?

Messages come from your app's name and icon, each user can change channel from the dashboard, and the bot can post to private channels it has been invited to.

2 Self-hosting: Webhook URL mode (quickest setup)

If you would rather not configure OAuth on your server, users can paste an Incoming Webhook URL instead. Set:

SLACK_ENABLED=true

With SLACK_ENABLED=true and no OAuth credentials, the dashboard offers only the Incoming Webhook URL form.

To generate a URL, in Slack:

  1. Open api.slack.com/apps and create a new app (or pick an existing one).
  2. Open Incoming Webhooks and toggle the feature on.
  3. Click Add New Webhook to Workspace, pick the channel, and approve.
  4. Copy the generated URL (it looks like https://hooks.slack.com/services/...) and paste it into Tymeslot.
The Add Slack via Webhook URL form with Integration Name, Slack Webhook URL and an optional Channel Hint
Pasting the Incoming Webhook URL. The channel hint is only a label; Slack fixes the channel when it creates the URL.

Trade-offs vs OAuth

Each URL posts to exactly one channel, so changing channel means generating a new URL. For a quick personal setup, this is the shortest path; for a team, prefer OAuth.

Switching channels

OAuth mode: click Edit on the integration, pick a new channel and save. Public channels appear automatically. A private channel appears only once the bot is a member: invite it in Slack with /invite @YourApp, then click Refresh.

Webhook URL mode: generate a new Incoming Webhook URL in Slack for the channel you want, click Edit on the integration and paste it into Slack Webhook URL. The new URL replaces the old one.

Troubleshooting

  • channel_not_found: the channel no longer exists or the bot cannot see it, and Tymeslot disables the integration. Invite the bot to the channel (or pick another one with Edit), then click Re-enable on the card.
  • not_in_channel: the bot is not a member of a private channel. Invite it with /invite @YourApp, or switch to a public channel, which chat:write.public can reach without invitation.
  • token_revoked / account_inactive: the workspace removed the app or deactivated the bot user, and Tymeslot disables the integration. Delete it and connect again with Add to Slack.
  • Webhook URL stopped working: a workspace admin can revoke Incoming Webhook URLs at any time, and Tymeslot disables the integration with the reason "webhook URL was revoked in Slack". Generate a new URL in Slack, paste it in with Edit, then click Re-enable.
  • Rate limiting: when Slack throttles posting, Tymeslot waits for the interval Slack asks for and sends the message again. Rate limiting never counts towards disabling the integration.

Privacy & permissions

Each notification contains only what identifies the meeting: its title (meeting type and attendee name), the attendee's email address, the time and duration, a cancellation or decline reason where there is one, and a link to your Tymeslot meetings page. No calendar contents, video links or answers to booking questions are sent.

The scopes requested are the minimum needed to post messages and list channels the user picks from: chat:write, chat:write.public, channels:read, groups:read, and team:read. The app cannot read messages, browse files, or access user profiles.

To revoke access at any time, open Slack → Settings & administration → Manage apps, find the Tymeslot app and remove it. Slack invalidates the token at once, and Tymeslot disables the integration on its next attempt to post.

Related Articles

Read Telegram Notifications

Telegram Notifications

Instant Telegram notifications for every booking, cancellation, and reschedule. Use one shared bot for the whole instance or your own bot token; messages are retried automatically.