Never Lose a Direct Message Again
When a Slack DM lands, Notis drafts an email so you can respond thoughtfully without juggling two apps. Keep all your outreach in one place.
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 email draft
Creates a gmail email draft, supporting to/cc/bcc, subject, plain/html body (ensure `is html=true` for html), attachments, and threading.
Why this helps
Important DMs get buried in Slack notifications. You respond quickly but forget to follow up in email, breaking your communication chain with clients and collaborators.
- Eliminate accidental DM siloes and broken follow-ups
- Reference all communications in your email archive
- Craft thoughtful responses without time pressure
- Reduce notification fatigue by batching in email
Setup
Build it in a few focused steps.
- 1Connect Slack and Gmail to Notis via the portal (one-time setup).
- 2Open Automations and create a new one: tell Notis 'When I get a Slack DM, create an email draft with the message content.'
- 3Notis will ask you which Slack trigger to use (Direct Message Received) and which Gmail action (Create email draft).
- 4Pick the channel where Notis reports runs (e.g. #notis-alerts).
- 5Test by having a teammate send you a DM; you'll see a new draft in Gmail within seconds.
Questions about this workflow
Will this capture DMs from everyone?
Yes. By default, Notis captures all incoming DMs. You can refine it to only certain people or channels after testing the first automation.
Can I include attachments from Slack?
Notis will reference any files in the original message. For large attachments, you can configure Notis to include a link to the original message instead.
What if I want to skip drafts and send directly?
Tell Notis to use 'Send Email' instead of 'Create email draft'. You'll bypass the draft review step, so test carefully first.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Slack to Gmail. A trigger fires from one place; an action lands in another.
Slack triggers
Gmail actions
New Channel Created Trigger
Triggered when a new channel is created in Slack.
Modify email labels
Adds and/or removes specified gmail labels for a message; ensure `message id` and all `label ids` are valid (use 'listlabels' for custom label ids).
Channel Message Received
Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.
Create email draft
Creates a gmail email draft, supporting to/cc/bcc, subject, plain/html body (ensure `is html=true` for html), attachments, and threading.
Direct Message Received
Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.
Create label
Creates a new label with a unique name in the specified user's gmail account.
Message Reaction Added
Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.
Delete Draft
Permanently deletes a specific gmail draft using its id; ensure the draft exists and the user has necessary permissions for the given `user id`.
Message Reaction Removed
Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.
Delete message
Permanently deletes a specific email message by its id from a gmail mailbox; for `user id`, use 'me' for the authenticated user or an email address to which the authenticated user has delegated access.
Reaction Added Trigger
DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.
Fetch emails
Fetches a list of email messages from a gmail account, supporting filtering, pagination, and optional full content retrieval.
Reaction Removed Trigger
DEPRECATED: use `SLACK_MESSAGE_REACTION_REMOVED` instead. Triggered when a reaction is removed from a message.
Fetch message by message ID
Fetches a specific email message by its id, provided the `message id` exists and is accessible to the authenticated `user id`.
New Bot Message Received Trigger
DEPRECATED: use `SLACK_CHANNEL_MESSAGE_RECEIVED` with `is_bot_message=true` instead. Triggered when a new bot message is posted to a Slack channel.
Fetch Message by Thread ID
Retrieves messages from a gmail thread using its `thread id`, where the thread must be accessible by the specified `user id`.
Connect any two apps with Notis in the middle.
Not just Slack and Gmail. Any combination from 985+ integrations.
When this happens · Trigger
Do this · Action
Save your first hour today.
7 days free trial with 20$ free usage included.
No card. Works with personal or business Gmail.
