How does Chronos work with Slack?

Chronos connects to Slack via OAuth 2.0, installs a bot into your workspace, and sends automated notifications to designated channels when tasks are scheduled, rescheduled, or completed. Teams that live in Slack get AI scheduling updates without switching tools, and managers can see schedule changes without checking a separate calendar app.

What Chronos does with your Slack

OAuth 2.0 workspace install with bot token

Chronos installs into your Slack workspace using the OAuth v2 flow via the createSlackOAuthRouter function, which handles the authorisation redirect and token exchange with the Slack API. After authorisation, Chronos receives both a user access token and a bot token; the bot token is the credential used for all subsequent API calls to your workspace. Both tokens are encrypted with AES-256 before storage, so your Slack credentials are never held in plaintext in the Chronos database.

Encrypted bot token storage per workspace

After the OAuth exchange completes, Chronos stores the encrypted access token and bot token in the slack_connections table, keyed by the Slack team ID and user ID. This means each user in your Chronos account maintains their own Slack connection, scoped to the workspace they authorised. The INSERT INTO slack_connections statement uses an ON DUPLICATE KEY UPDATE clause, so re-authorising the integration refreshes the stored tokens rather than creating a duplicate connection record.

Channel notifications for task schedule events

When Chronos schedules, reschedules, or completes a task, it calls the Slack chat.postMessage API method to post a structured notification to the channel configured during setup. The postSlackNotification function formats the message with the task name, new time slot, and a link back to Chronos, giving your team a running record of scheduling decisions directly in the channel where they do their work. Notifications are sent asynchronously so they do not block the scheduling operation itself.

How teams use this

Engineering team staying on top of schedule changes in Slack

An engineering team runs its daily coordination in a Slack channel. After connecting Chronos to that channel, every time the AI reschedules a blocked task or frees up a slot because a meeting was cancelled, a notification appears in the channel with the updated plan. The team lead does not need to open Chronos to know what changed — the Slack message contains the task name, the new time, and a direct link. When a developer picks up a task earlier than planned, they mark it complete in Chronos and a completion notification appears in the channel, closing the loop without a separate standup update.

Related integrations

Ready to connect Chronos with Slack?

Start scheduling smarter — free, no credit card required.

Start Free Trial

Already a user? Setup help →