Articles on: Integrations & auth

Connect Slack

Connect a Slack workspace to Lido so workflows can post messages to channels, send DMs, and trigger on Slack events. The same connection powers the Send Slack node, the SENDSLACK formula, and Slack-related workflow triggers.



When to connect


  • You want workflow notifications to land in a Slack channel (e.g., "New invoice extracted: $1,234 from Acme Corp").
  • You want a workflow to fire when a message is posted in a channel or someone reacts to a message.
  • You want spreadsheet automations to post per-row updates via =SENDSLACK(...).



Before you start


You need:


  • A Slack workspace and an account with permission to add apps. For larger Slack workspaces, workspace admin approval may be required.
  • Admin rights to add integrations to your Lido workspace.
  • A clear sense of which channel(s) Lido should post into.



Step-by-step


  1. Open Lido workspace settings → Integrations.
  2. Click Add Integration → Slack.
  3. Click Connect to start the OAuth flow. Sign in to your Slack workspace.
  4. Review the requested scopes:
  • chat:write — post messages
  • channels:read / groups:read — list channels you can post to
  • im:write — send direct messages
  • (others vary by feature)
  1. Approve.
  2. Lido stores the credential and it appears as a selectable option in Send Slack nodes and SENDSLACK formulas.


If your Slack workspace requires admin approval, you'll see a "Request to install" screen. Your admin gets a notification and approves on your behalf.



Posting to private channels


Lido can only post to channels the connecting account has access to. For private channels:


  1. Add the user account that connected Lido to the private channel (/invite @user from inside the channel).
  2. Or, configure Lido to post via a Slack bot user, then invite the bot to the channel (/invite @lido or whatever the bot is called in your workspace).



Send Slack node parameters


Parameter

What to put in it

credential

Slack credential ID (auto-filled when you pick the credential)

channel

Channel name (#invoices) or user (@aleks)

message

The message text. Supports Slack mrkdwn (bold, italic, code, links) and expressions like {{$item.data.vendor}}

attachments

Optional rich attachments (Slack Block Kit JSON)

thread_ts

Optional — post in a thread reply

unfurl_links

Whether to expand link previews (default true)



SENDSLACK formula (in spreadsheets)


=SENDSLACK(credential_id, channel, message, [thread_ts])


Use it in a column or action to post per-row. For example, a column that posts a Slack notification when an invoice row is added:


=SENDSLACK("creds_xyz", "#invoices", "New invoice from " & A2 & " for $" & B2)


Wire it to an action so it only sends on demand or on a schedule (rather than every time the formula recalculates).



Receiving Slack messages


Lido supports a Slack Trigger for events like:


  • New message posted in a channel
  • Message containing a specific keyword
  • Someone reacts with a specific emoji
  • A user mentions the Lido bot


Use this to drive workflows from chat — e.g., reply to a message containing "create ticket" by spinning up a Linear/Jira issue, or react with a checkmark when a message has been processed.



Tips


  • Use a Slack bot user for production instead of a personal account. Personal connections break when the user leaves.
  • Pick clear channel naming. #lido-invoices reads better than #workflow-3-output six months later.
  • Use Block Kit for rich messages. A simple bullet list of fields beats a single concatenated sentence for scannability.
  • Mute noisy bots. If your workflow posts dozens of times a day, give the channel a clear purpose so people don't tune it out.
  • Test in a private test channel first. A misconfigured workflow can spam #general very fast.



Common mistakes


  • Posting to a channel the connected account isn't in. Add the account (or bot) to the channel first.
  • Hard-coded channel name in the formula. Use a workspace setting or a column reference so you can change channels without editing every formula.
  • Including raw {{$item.data...}} in literal mode. The expression won't evaluate. Toggle the parameter to expression mode.
  • No error handling. A failed Slack post (rate limit, channel deleted) silently drops the notification. Wire the Send Slack node's error output somewhere.
  • Slack's rate limits. Slack throttles aggressive posting. For high-volume notifications, batch into one message per minute instead of one per row.



Disconnecting


Workspace settings → Integrations → find the Slack credential → Remove. Workflows and formulas using the credential will fail until you reconnect or point them at a different credential.




  • Send extracted data to email or Slack
  • Triggers: how workflows start (Slack Trigger)
  • Build your first workflow
  • Connect Gmail or Outlook

Updated on: 16/04/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!