Update Cal availability from a scheduling DM
If you tell Notis in a DM about a recurring availability change, it can create a corresponding schedule in Cal.
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
Create user availability schedule
Creates a cal.com user availability schedule, defining its name, timezone, weekly recurring availability, and specific date overrides; if `isdefault` is true, this schedule replaces any existing default and applies to event types not linked to a specific schedule.
Why this helps
Availability changes shared privately can be forgotten before they reach the booking calendar.
- Captures schedule changes close to where they are communicated.
- Reduces repeated manual calendar maintenance.
- Helps keep booking windows consistent with current plans.
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 create a Cal schedule only for clearly stated recurring availability changes in DMs.
- 3Select Direct Message Received as the trigger and choose a channel for run reports.
- 4Test with one real DM stating weekly availability and timezone.
Questions about this workflow
Should I include my timezone?
Yes. A schedule needs a timezone to represent weekly availability correctly.
Can it edit an existing schedule?
The listed action creates a schedule. Specify the desired behavior carefully and review the result.
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.