Skip to content
Notis

Confirm approved Cal bookings from Slack

Give an explicit Slack approval a clear next step: have Notis confirm the corresponding pending Cal booking.

Trigger

Direct Message Received

Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.

Action

Confirm booking by uid

Confirms an existing booking by `bookinguid` if the booking exists and is in a state allowing confirmation (e.g., not already cancelled or confirmed); this finalizes the booking, does not modify its details, and should typically be performed once.

Why this helps

A booking can remain pending when an approval gets buried among direct messages and nobody returns to Cal to finalize it.

  • Reduces the gap between approval and confirmed scheduling.
  • Keeps a clear approval message close to the follow-up action.
  • Avoids repeatedly checking Cal for a booking that is ready to confirm.

Setup

Build it in a few focused steps.

  • 1Connect Slack and Cal to Notis once through the portal.
  • 2Create an automation in the portal, or tell Notis in plain language to confirm a pending Cal booking only when a Slack DM clearly approves it and the matching booking is unambiguous.
  • 3Select Direct Message Received as the trigger and choose a channel for run reports.
  • 4Test with one real approval message tied to an identifiable pending booking.

Questions about this workflow

Can it confirm a booking that is already canceled?

No. Cal confirmation applies only when the booking exists and is in a state that allows confirmation.

Should a vague reply trigger confirmation?

No. The instruction should require clear approval and an unambiguous matching booking.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Slack to Cal. A trigger fires from one place; an action lands in another.

Slack triggers

Cal actions

Recurring trigger

Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.

TriggerScheduled

Add member to team

Adds a new member to a specified team within an organization by creating a team membership.

ActionInstant

Webhook trigger

Notis starts this workflow when an external tool or custom backend sends an HTTP request.

TriggerInstant

Add organization attribute option

Adds a new option to an organization's attribute, requiring a display `value` and a `slug` unique for that attribute.

ActionInstant

New Channel Created Trigger

Triggered when a new channel is created in Slack.

TriggerInstant

Delete oauth client webhook

Permanently deletes a specific webhook subscription of an oauth client in the cal application, stopping its notifications.

ActionInstant

Channel Message Received

Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.

TriggerInstant

Cancel booking via uid

Cancels an existing and active cal.com booking using its unique identifier (uid).

ActionInstant

Direct Message Received

Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.

TriggerInstant

Check calendar availability

Retrieves free/busy availability for a specified calendar to aid scheduling without revealing event details; requires an existing, accessible calendar, noting that data granularity can vary.

ActionInstant

Message Reaction Added

Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.

TriggerInstant

Check gcal synchronization status

Call this read-only action to verify the connection and synchronization status of a user's google calendar integration with cal.

ActionInstant

Message Reaction Removed

Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.

TriggerInstant

Check ics feed calendar endpoint

Checks an ics feed url (expected as a query parameter) to verify its validity, accessibility, and icalendar data integrity.

ActionInstant

Reaction Added Trigger

DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.

TriggerInstant

Check Stripe status

Verifies if stripe is correctly connected to the cal scheduling system and functional for processing payments, reporting only on the integration's status.

ActionInstant

Connect any two apps with Notis in the middle.

Slack and Cal, or any other combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7-day trial of any paid plan, with 20$ of usage included.
No card. Works with personal or business Cal.