Use a Slack reaction to confirm a pending booking
A familiar approval reaction can move a clearly identified pending Cal booking to confirmed without a separate reminder to follow up.
Trigger
Message Reaction Added
Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.
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
Approvals expressed with reactions can be overlooked when someone must manually revisit the booking afterward.
- Turns a deliberate reaction into a scheduling follow-through.
- Reduces the need to chase approvals in a separate tool.
- Keeps confirmation tied to the message under review.
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 ask Notis to confirm the pending Cal booking referenced by a Slack message when the designated approval reaction is added.
- 3Select Message Reaction Added as the trigger and choose a channel for run reports.
- 4Test with one real reaction on a message that identifies a pending booking.
Questions about this workflow
Will any reaction confirm the booking?
The instruction should name the approval reaction and require a clear match to a pending booking.
Can it confirm twice?
Cal confirmation should be performed once; the instruction should avoid repeating confirmation for an already confirmed 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.
Add member to team
Adds a new member to a specified team within an organization by creating a team membership.
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
Add organization attribute option
Adds a new option to an organization's attribute, requiring a display `value` and a `slug` unique for that attribute.
New Channel Created Trigger
Triggered when a new channel is created in Slack.
Delete oauth client webhook
Permanently deletes a specific webhook subscription of an oauth client in the cal application, stopping its notifications.
Channel Message Received
Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.
Cancel booking via uid
Cancels an existing and active cal.com booking using its unique identifier (uid).
Direct Message Received
Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.
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.
Message Reaction Added
Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.
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.
Message Reaction Removed
Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.
Check ics feed calendar endpoint
Checks an ics feed url (expected as a query parameter) to verify its validity, accessibility, and icalendar data integrity.
Reaction Added Trigger
DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.
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.
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.