Skip to content
Notis

Anonymize Slack DMs for a safe handoff

Move a DM forward without exposing the private details inside it.

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

Anonymize Value

Tool to anonymize a string or array of string values. use when you need to conceal sensitive text before storage or transmission. example: `anonymizevalue().execute(anonymizevaluerequest(data=['secret']))` limitations: only supports list of strings, not nested structures.

Why this helps

Founder DMs often mix urgent requests with personal or customer information that should stay protected.

  • Protects private message content
  • Makes handoffs safer
  • Keeps follow-up moving

Setup

Build it in a few focused steps.

  • 1Connect Slackbot and Anonyflow once in the Notis portal.
  • 2Create an automation and tell Notis to anonymize sensitive values in each new DM.
  • 3Pick Direct Message Received as the trigger.
  • 4Select a report channel and test with one real DM.

Questions about this workflow

Will every DM be processed?

Yes, this trigger catches all direct messages across DM channels.

Can I recover the original value later?

Use a separate deanonymization workflow when you have an authorized anonymized value.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

Slackbot triggers

Anonyflow actions

Recurring trigger

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

TriggerScheduled

Anonymize Value

Tool to anonymize a string or array of string values. use when you need to conceal sensitive text before storage or transmission. example: `anonymizevalue().execute(anonymizevaluerequest(data=['secret']))` limitations: only supports list of strings, not nested structures.

ActionInstant

Webhook trigger

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

TriggerInstant

Deanonymize Packet

Tool to deanonymize a json data packet using your private key. use after receiving an anonymized packet to recover specific fields.

ActionInstant

New Channel Created Trigger

Triggered when a new channel is created in Slack.

TriggerInstant

Deanonymize Value

Tool to deanonymize one or more anonymized string values. use when you need to recover the original plaintext values after encryption-based anonymization. example: `deanonymizevalue().execute(deanonymizevaluerequest(data=["<anonymized string>"]))`

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

Test Connection

Tool to test the connection to the anonyflow api. use when verifying that the anonyflow service is reachable and operational before performing anonymization tasks. example: `testconnection().execute(testconnectionrequest())`

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

Message Reaction Added

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

TriggerInstant

Message Reaction Removed

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

TriggerInstant

Reaction Added Trigger

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

TriggerInstant

Connect any two apps with Notis in the middle.

Slackbot and Anonyflow, 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 Anonyflow.