Log Customer Messages from Slack to Google Sheets

Stop copying customer messages between tools. Every DM to your customer channel automatically appears in your CRM sheet, so nothing gets lost and you have a complete audit trail without the cognitive load.

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.

Google Sheets logo

Action

Append Values to Spreadsheet

Tool to append values to a spreadsheet. use when you need to add new data to the end of an existing table in a google sheet.

Why this helps

Neurodivergent founders often jump between Slack and spreadsheets to manually log customer inquiries, creating friction that leads to dropped conversations or incomplete records.

  • Every customer interaction captured automatically
  • No context switching between tools
  • Complete conversation history in one place
  • Audit trail for compliance and reference
  • Reduces cognitive load of manual logging

Setup

Build it in a few focused steps.

  • 1Connect your Slack and Google Sheets accounts to Notis (done once in the Notis portal).
  • 2Create a new automation in Notis: open Automations → New Automation.
  • 3Name it something clear like 'Log Customers to CRM' and set the trigger to 'Direct Message Received' from Slack.
  • 4Write a plain-language prompt: 'When I receive a customer DM, append the sender, timestamp, and message text to my CRM tracking sheet.'
  • 5Pick the Slack channel where Notis will report run status, create the automation, and test by sending yourself a DM.

Questions about this workflow

Will this log personal Slack DMs too?

You can specify the trigger to only log DMs from specific channels or exclude personal conversations. Set up filters in the automation prompt, like 'only customer DMs' or 'only from the #support channel'.

Can I add metadata like customer name or company?

Yes. In your prompt, mention what fields you want appended: 'Include sender name, company (if available), date, and message. If company isn't in Slack profile, leave blank.'

How do I handle multi-line or long messages?

Notis will automatically wrap longer messages in the sheet cell. For very long messages, you can ask it to append only the first 100 characters plus a link to the Slack message.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Slack to Google Sheets. A trigger fires from one place; an action lands in another.

Slack logo

Slack triggers

Google Sheets logo

Google Sheets actions

New Channel Created Trigger

Triggered when a new channel is created in Slack.

TriggerInstant

Add Sheet to Spreadsheet

Adds a new sheet (worksheet) to a spreadsheet. use this tool to create a new tab within an existing google sheet, optionally specifying its title, index, size, and other properties.

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

Aggregate Column Data

Searches for rows where a specific column matches a value and performs mathematical operations on data from another column.

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

Append Dimension

Tool to append new rows or columns to a sheet, increasing its size. use when you need to add empty rows or columns to an existing sheet.

ActionInstant

Message Reaction Added

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

TriggerInstant

Batch get spreadsheet

Retrieves data from specified cell ranges in a google spreadsheet; ensure the spreadsheet has at least one worksheet and any explicitly referenced sheet names in ranges exist.

ActionInstant

Message Reaction Removed

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

TriggerInstant

Batch update spreadsheet

Updates a specified range in a google sheet with given values, or appends them as new rows if `first cell location` is omitted; ensure the target sheet exists and the spreadsheet contains at least one worksheet.

ActionInstant

Reaction Added Trigger

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

TriggerInstant

Batch Update Values by Data Filter

Tool to update values in ranges matching data filters. use when you need to update specific data in a google sheet based on criteria rather than fixed cell ranges.

ActionInstant

Reaction Removed Trigger

DEPRECATED: use `SLACK_MESSAGE_REACTION_REMOVED` instead. Triggered when a reaction is removed from a message.

TriggerInstant

Clear Basic Filter

Tool to clear the basic filter from a sheet. use when you need to remove an existing basic filter from a specific sheet within a google spreadsheet.

ActionInstant

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.

TriggerInstant

Clear spreadsheet values

Clears cell content (preserving formatting and notes) from a specified a1 notation range in a google spreadsheet; the range must correspond to an existing sheet and cells.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Slack and Google Sheets. 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 Google Sheets.