This skill provides guidance for effectively searching Slack to find messages, files, and information.
When to Use
Apply this skill whenever you need to find information in Slack, including when a user asks you to locate messages, conversations, files, or people, or when you need to gather context before answering a question about what's happening in Slack.
Search Tools Overview
| Tool | Use When |
|---|---|
slack_search_public |
Searching public channels only. Does not require user consent. |
slack_search_public_and_private |
Searching all channels including private, DMs, and group DMs. Requires user consent. |
slack_search_channels |
Finding channels by name or description. |
slack_search_users |
Finding people by name, email, or role. |
Search Strategy
Start Broad, Then Narrow
- Begin with a simple keyword or natural language question.
- If too many results, add filters (
in:,from:, date ranges). - If too few results, remove filters and try synonyms or related terms.
Choose the Right Search Mode
- Natural language questions (e.g., "What is the deadline for project X?"): Best for fuzzy, conceptual searches where you don't know exact keywords.
- Keyword search (e.g.,
project X deadline): Best for finding specific, exact content.
Use Multiple Searches
Don't rely on a single search. Break complex questions into smaller searches:
- Search for the topic first
- Then search for specific people's contributions
- Then search in specific channels
Search Modifiers Reference
Location Filters
in:channel-name: Search within a specific channelin:<#C123456>: Search in channel by ID-in:channel-name: Exclude a channelin:<@U123456>orin:@username: Search in DMs with a user
User Filters
from:<@U123456>: Messages from a specific user (by ID)from:username: Messages from a user (by Slack username)to:<@U123456>: Messages sent to a specific userto:me: Messages sent directly to youcreator:@username: Canvases created by a specific person
Content Filters
is:thread: Only threaded messagesis:saved: Only your saved messageshas:pin: Pinned messageshas:link: Messages containing linkshas:file: Messages with file attachmentshas::emoji:: Messages with a specific reactionhasmy::emoji:: Messages you reacted to with a specific reaction
Date Filters
before:YYYY-MM-DD: Messages before a dateafter:YYYY-MM-DD: Messages after a dateon:YYYY-MM-DD: Messages on a specific dateduring:month: Messages during a specific month (e.g.,during:january)
Text Matching
"exact phrase": Match an exact phrase-word: Exclude messages containing a wordwild*: Wildcard matching (minimum 3 characters before*)
File Search
To search for files, set the content_types="files" parameter and use a type: filter in the query:
type:images,type:documents,type:pdfs,type:spreadsheets,type:presentationstype:canvases,type:lists,type:emails,type:audio,type:videos
Example: content_types="files" type:pdfs budget after:2025-01-01
All the standard modifiers above (in:, from:, dates, etc.) work with file searches too.
Useful Parameters
Beyond the query string, the search tools accept parameters that materially improve results:
sort:score(relevance, default) ortimestamp(newest first); pair withsort_dir(asc/desc).content_types:messages(default) orfiles.only_my_channels: restrict to channels you're a member of.limit: results per page (capped at 20); paginate with the returnedcursor.
Following Up on Results
After finding relevant messages:
- Use
slack_read_threadto get the full thread context for any threaded message. - Use
slack_read_channelwitholdest/latesttimestamps to read surrounding messages for context. - Use
slack_read_user_profileto identify who a user is when their ID appears in results. - Use
slack_read_fileto read the contents of a file surfaced by a file search. - Use
slack_list_channel_membersto see who is in a channel you found.
Common Pitfalls
- Boolean operators don't work.
AND,OR,NOTare not supported. Use spaces (implicit AND) and-for exclusion. (Repeating the same modifier, e.g. twofrom:, ORs those values together.) - Parentheses don't work. Don't try to group search terms with
(). - Search is not real-time. Very recent messages (last few seconds) may not appear in search results. Use
slack_read_channelfor the most recent messages. - Private channel access. Use
slack_search_public_and_privatewhen you need to include private channels, but note this requires user consent.
Notes
- Scope: this skill owns searching workspace content: messages, files, channels, and people inside Slack. To search and read the official Slack platform documentation at docs.slack.dev (conceptual and how-to questions about Slack features), use the
slack:slack-docsskill instead.