Skip to content
Notis

Get a CSV summary from a Slack DM

Send the request privately and receive the key numbers without opening a notebook.

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

Execute Code

Execute python code in a sandbox and return any result, stdout, stderr, and error. use /home/user folder to write/read files. try to not use plt.show() as the code is executed remotely. use files for image/chart output instead.

Why this helps

Small analysis requests interrupt focused work and get forgotten.

  • Keeps requests private
  • Returns decision ready metrics
  • Avoids notebook setup

Setup

Build it in a few focused steps.

  • 1Connect Slackbot and Codeinterpreter once in Notis.
  • 2Create an automation for private CSV summaries.
  • 3Tell Notis to load the referenced CSV, calculate key metrics, and summarize findings in plain language.
  • 4Pick Direct Message Received as the trigger and choose where reports go.
  • 5Test by sending one real CSV analysis request in a DM.

Questions about this workflow

Does this read all DMs?

The Direct Message Received event catches new DMs across DM channels, so describe the intended request clearly.

Can I request specific metrics?

Yes, include the metrics or decision you want in the DM.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

Slackbot triggers

Codeinterpreter actions

Recurring trigger

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

TriggerScheduled

Create Sandbox

Create a sandbox to execute python code in a jupyter notebook cell. this is useful for agents to communicate, execute code, see output, read files, write files, etc. it's like you own personal computer, but in the cloud. use /home/user folder to write/read files.

ActionInstant

Webhook trigger

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

TriggerInstant

Execute Code

Execute python code in a sandbox and return any result, stdout, stderr, and error. use /home/user folder to write/read files. try to not use plt.show() as the code is executed remotely. use files for image/chart output instead.

ActionInstant

New Channel Created Trigger

Triggered when a new channel is created in Slack.

TriggerInstant

Get File

Get a file from the sandbox and returns the file. the files should be read from /home/user folder.

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

Run Terminal Command

Run a command in the terminal and returns the stdout, stderr, and error code. use /home/user folder to write/read files.

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

Upload File

Upload a file to the sandbox environment. the files should be uploaded to the /home/user folder.

ActionInstant

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 Codeinterpreter, 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 Codeinterpreter.