Slack Integration

Slack integration lets your Narakim bots receive events from Slack workspaces and take actions like sending messages, replying in threads, and responding to slash commands. Once connected, Slack extensions are available in your bot's Node Palette.

Prerequisites

Before connecting Slack, you need to create a Slack App:

  1. Go to api.slack.com/apps and click Create New AppFrom scratch.
  2. Name your app and select your workspace.
  3. Go to OAuth & Permissions → add the following Bot Token Scopes:
    • chat:write — Send messages
    • commands — Slash commands
    • reactions:write — Add reactions
    • im:write — Send DMs
  4. Go to Event Subscriptions → enable events → set your Request URL to your Narakim webhook endpoint (found in Bot Configurations → Connect Platform → Slack).
  5. Subscribe to bot events: message.channels, app_mention, message.im.
  6. Go to Slash Commands to register any commands your bot handles.
  7. Go to Install App → install it to your workspace → copy the Bot User OAuth Token.
  8. Copy your app's Signing Secret from Basic Information.

Connecting Slack

  1. Go to Bot Dossier → Configurations → Connect Platform.
  2. Select Slack from the platform list.
  3. Enter your Bot Token (xoxb-...) and Signing Secret.
  4. Click Connect.

Once connected, all Slack extensions appear in your bot's Node Palette.

info

Integration Level: Slack connections use Bot Level — the automation operates as your Slack App's bot identity. Account Level integration (operating as your personal Slack account) is coming soon.


Trigger Extensions

Studio nameExtension keyFires whenKey outputs
Message Receivedslack_messageMessage in channel or DMchannelId, userId, text, ts, threadTs, teamId
App Mentionslack_app_mentionBot @mentionedchannelId, userId, text, ts
Slash Commandslack_slash_commandSlash command invokedcommand, text, user_id, channel_id, response_url
Reaction Addedslack_reaction_addedReaction added to a messageemoji, userId, channelId, message_ts
Reaction Removedslack_reaction_removedReaction removedsame
Member Joinedslack_member_joinedUser joined workspaceuserId, teamId
Member Leftslack_member_leftUser leftuserId, teamId
Block Actionslack_block_actionButton or interactive componentaction_id, value, user, channel
View Submissionslack_view_submissionModal form submittedcallback_id, values, user
Shortcutslack_shortcutGlobal or message shortcutcallback_id, user, channel

Optional filters on Message Received (slack_message): contains, regex in node config.


Action Extensions

Studio nameExtension keyDescription
Send Messageslack_send_messagePost to a channel (channelId + text)
Send Direct Messageslack_send_dmDM a user (userId + text) — not the same as channel id
Send Block Kit Messageslack_send_blocksBlock Kit JSON to a channel
Reply in Threadslack_reply_in_threadReply using thread_ts
Update Messageslack_update_messageEdit by channelId + ts
Delete Messageslack_delete_messageDelete by channelId + ts
Ephemeral Messageslack_ephemeral_messageOne-user-visible message in a channel
Respond to Commandslack_respond_to_commandReply via slash command response_url
Add Reactionslack_add_reactionEmoji on a message
Remove Reactionslack_remove_reactionRemove emoji
Open Modalslack_open_modalOpen Block Kit modal
Update Modalslack_update_modalUpdate open modal
Get Channel Infoslack_get_channel_infoLookup channel metadata
Get User Infoslack_get_user_infoLookup user profile
Get Channel Membersslack_get_channel_membersList members
Set Channel Topicslack_set_channel_topicSet topic string
Upload Fileslack_upload_fileUpload file to channel(s)

Full catalog for AI agents: platform-extensions-reference.md (Slack section).


Required Secrets

Secret KeyDescription
SLACK_BOT_TOKENYour Slack App's Bot User OAuth Token (xoxb-...)
SLACK_SIGNING_SECRETYour Slack App's Signing Secret (used to verify request authenticity)

Configure these in Bot Dossier → Configurations → Extension Secrets.


Common Patterns

Slash Command → AI → Reply

[Slash Command] → [OpenRouter AI] → [Send Message]

Map text from the slash command to the AI's message. Map the AI's response to the Send Message's text. Use channel_id from the trigger to target the right channel.

App Mention → Lookup → Reply in Thread

[App Mention] → [HTTP Request] → [Reply in Thread]

Use ts and channel from the App Mention to reply in the same thread.

Message → If Condition → React or Ignore

[Message] → [If Condition] → [Add Reaction]
                           → [Log]

Check the message text for keywords in the If Condition. React with an emoji if the condition is true.

Was this helpful?
historyLast updated: May 10, 2026