Skip to main content

Slack

Connect emma to your Slack workspace for powerful team collaboration.

Getting Started

Installation

1

Go to Settings

Navigate to Settings > Integrations > Slack in the emma dashboard.
2

Click Connect

Click the “Connect to Slack” button.
3

Authorize

Authorize emma to access your Slack workspace.
4

Invite emma to channels

Type /invite @emma in any channel where you want emma to operate.

Available Features

emma provides 26 tools for comprehensive Slack integration, organized into 7 categories:

Messages

Search, read, post, reply, update, and delete messages

Channels

List channels, get channel info, and view members

Files

Upload files, list files, and extract URLs from messages

Users

List workspace users and get user profile icons

Reactions

Add, remove, and view emoji reactions on messages

Pins

Pin and unpin important messages

Scheduled Messages

Schedule messages for future delivery

Messages

Search Messages

Search through your Slack message history using keywords and advanced filters. Example prompts:
  • “Search Slack for messages about the Q4 budget”
  • “Find messages from @john about the API project”
  • “Search for messages with links shared in #engineering last week”
Advanced search operators:
OperatorDescriptionExample
from:@usernameMessages from a specific userfrom:@john
to:@usernameMessages mentioning a userto:@mary
in:#channelSearch within a channelin:#general
after:YYYY-MM-DDAfter a specific dateafter:2024-01-01
before:YYYY-MM-DDBefore a specific datebefore:2024-12-31
on:YYYY-MM-DDOn a specific dateon:2024-10-25
has:linkContains a link-
has:reactionHas emoji reactions-
is:pinnedPinned messages-
Message search requires OAuth authentication with a User Token. Free Slack plans only allow searching the last 90 days of messages.

Get Channel History

Retrieve the message history from a specific channel. Example prompts:
  • “Show me the last 50 messages in #general”
  • “Get the conversation history from #engineering for the past week”
  • “What was discussed in #product-updates yesterday?”

Get Thread Replies

Get all replies in a specific thread to see the full conversation context. Example prompts:
  • “Show me all replies in this thread”
  • “Get the full thread discussion about the deployment”

Post Message

Send a message to a channel or direct message. Supports Markdown formatting and @mentions. Example prompts:
  • “Post a message to #general saying the deployment is complete”
  • “Send a weekly report summary to #team-updates”
  • “DM @john about the meeting tomorrow”
Supported formatting:
  • *bold* or **bold**
  • _italic_ or ~strikethrough~
  • `code` and ```code block```
  • > quote
  • Lists (numbered and bulleted)
  • @mentions (automatically converted to user IDs)

Reply to Thread

Reply to an existing thread to keep conversations organized. Example prompts:
  • “Reply to that thread with the updated numbers”
  • “Add a comment to the deployment thread”

Update Message

Edit a previously posted message to fix typos or update information. Example prompts:
  • “Update my last message to fix the typo”
  • “Edit the announcement to include the new date”
You can only edit messages that were posted by emma.

Delete Message

Permanently delete a message from a channel. Example prompts:
  • “Delete my last message in #general”
  • “Remove the duplicate message I posted”
This action is irreversible. You can only delete messages posted by emma.

Channels

List Channels

Get a list of all available channels in your workspace, including their IDs, member counts, and whether emma has joined them. Example prompts:
  • “Show me all Slack channels”
  • “List the channels emma has access to”
  • “What channels are available in our workspace?”
Always use this tool first before other Slack operations to get the channel ID mapping.

Get Channel Info

Get detailed information about a specific channel including topic, purpose, creation date, and member count. Example prompts:
  • “Tell me about the #engineering channel”
  • “When was #general created?”
  • “How many members are in #product?”

Get Channel Members

List all members in a specific channel. Example prompts:
  • “Who is in #engineering?”
  • “List all members of #general”
  • “Check if @john is in #product”

Files

Get Files from Channel

List files uploaded to a specific channel within a time range. Example prompts:
  • “Show me files shared in #design this month”
  • “List all PDFs uploaded to #documents”
  • “What images were shared in #marketing last week?”

Get File Info

Get detailed information about a specific file including size, type, and download URL. Example prompts:
  • “Get details about this file”
  • “What’s the size of the uploaded presentation?”

Extract URLs from Messages

Extract all URLs shared in a channel’s messages. Example prompts:
  • “Find all links shared in #resources this week”
  • “Extract URLs from #engineering messages”
  • “What websites were shared in #general?”

Upload File

Upload a file to one or more Slack channels. Supports local files, URLs, and sandbox files. Example prompts:
  • “Upload this report to #team-updates”
  • “Share the presentation in #sales and #marketing”
  • “Post this image to #design with a comment”
Supported sources:
  • HTTP/HTTPS URLs (recommended for generated files)
  • Local file paths
  • Sandbox file paths

Users

List Users

Get a list of all active users in your Slack workspace. Example prompts:
  • “Show me all users in our Slack”
  • “List team members”
  • “Who’s in our workspace?”
Information returned:
  • User ID
  • Username
  • Display name
  • Real name
  • Email (requires users:read.email scope)
  • Admin/Owner status
  • Timezone

Get User Icon

Get the profile icon URL for a specific user in various sizes. Example prompts:
  • “Get @john’s profile picture”
  • “I need the avatar for the user U01234ABCDE”
Available sizes: 24x24, 32x32, 48x48, 72x72, 192x192, 512x512 (original)

Reactions

Add Reaction

Add an emoji reaction to a message. Example prompts:
  • “Add a thumbs up to that message”
  • “React with :white_check_mark: to mark it as done”
  • “Add the :eyes: emoji to show I’m looking into it”
Common emoji names:
EmojiNameUse Case
👍thumbsupApproval
👎thumbsdownDisapproval
white_check_markDone/Complete
xRejected
👀eyesLooking into it
🚀rocketLaunch/Ship
🎉tadaCelebration
❤️heartAppreciation
🔥fireHot/Trending
💯100Perfect

Remove Reaction

Remove an emoji reaction from a message. Example prompts:
  • “Remove my thumbs up from that message”
  • “Take off the :eyes: reaction”

Get Reactions

View all reactions on a specific message. Example prompts:
  • “What reactions are on that announcement?”
  • “How many people gave a thumbs up?”
  • “Show me the feedback on the proposal”

Pins

Pin Message

Pin an important message to a channel for easy access. Example prompts:
  • “Pin that announcement to #general”
  • “Pin the meeting notes”

Unpin Message

Remove a pin from a message. Example prompts:
  • “Unpin the old announcement”
  • “Remove the pin from that message”

List Pinned Messages

View all pinned messages in a channel. Example prompts:
  • “Show me all pinned messages in #engineering”
  • “What’s pinned in #general?”

Scheduled Messages

Schedule Message

Schedule a message to be sent at a specific future time. Example prompts:
  • “Schedule a reminder for tomorrow at 9 AM in #team”
  • “Send a message to #general at 2024-12-25T10:00:00”
  • “Post the weekly update every Monday at 9 AM”
Time formats:
  • Unix timestamp: 1704067200
  • ISO format: 2024-01-01T10:00:00
Scheduled time must be at least 1 minute in the future and no more than 120 days ahead.

List Scheduled Messages

View all pending scheduled messages. Example prompts:
  • “Show me all scheduled messages”
  • “What messages are scheduled for #announcements?”

Delete Scheduled Message

Cancel a scheduled message before it’s sent. Example prompts:
  • “Cancel the scheduled message for tomorrow”
  • “Delete the pending announcement”

Troubleshooting

emma needs to be invited to the channel first. Type /invite @emma in the channel to add emma.
Message search requires OAuth authentication with a User Token. Make sure you’ve completed the OAuth flow in Settings > Integrations > Slack.
Use the “List Channels” feature first to see all available channels and their IDs. Private channels require emma to be a member.
Check that:
  • The file size is under 1GB
  • emma has been invited to the target channel
  • The file path or URL is accessible
Ensure the scheduled time is:
  • At least 1 minute in the future
  • No more than 120 days ahead
  • In a valid format (Unix timestamp or ISO format)

Use Cases

Daily Standups

Schedule automated standup reminders and collect team updates.

Report Distribution

Generate reports and automatically share them to relevant channels.

Knowledge Search

Search past conversations to find decisions, links, and information.

Task Tracking

Use reactions to track task completion and gather feedback.