Common Slack Tasks & Patterns
Reference guide for common automations and data extraction patterns when interacting with Slack.
Task: Check All Unread Messages
Goal
Determine which channels and DMs have unread messages.
Steps
- Connect to Slack
agent-browser connect 9222- Check Activity Tab
- Take snapshot:
agent-browser snapshot -i - Look for Activity tab ref (usually
@e14) - Click:
agent-browser click @e14 - Wait:
agent-browser wait 1000 - If you see "You've read all the unreads", you have no unread messages
- Screenshot:
agent-browser screenshot activity.png
- Check DMs
- Click DMs tab ref (usually
@e13) - Look for "Unreads" toggle/badge
- Count visible conversations with indicators
- Check Channels
- Look for "More unreads" button (usually in sidebar)
- Click it to expand list of channels with unreads
- Screenshot the expanded view
- Parse channel names from snapshot
- Summary
- Activity + DMs + Channels = complete unread picture
Evidence Capture
- Screenshot of Activity tab
- Screenshot of DMs
- Screenshot of expanded unreads sidebar
Task: Find All Channels in Workspace
Goal
Get a complete list of all channels you have access to.
Steps
- Navigate to Channels section
agent-browser connect 9222
agent-browser snapshot -i- Look for "Channels" treeitem
- This is usually a collapsed section header
- Click to expand if collapsed
- Screenshot:
agent-browser screenshot all-channels.png
- Scroll through sidebar
# If the list is long, scroll within the sidebar
agent-browser scroll down 500 --selector ".p-sidebar"
agent-browser screenshot channels-page-2.png- Parse snapshot for channel list
agent-browser snapshot --json > channels.json
# Search JSON for treeitem elements with level=2 under "Channels" sectionEvidence
- JSON snapshot with all channel refs
- Screenshots of channel list
- Count of total channels
Task: Search for Messages Containing Keywords
Goal
Find all messages/threads mentioning specific terms.
Steps
- Open search
agent-browser snapshot -i
# Find Search button ref (usually @e5)
agent-browser click @e5
agent-browser wait 500- Enter search term
# Identify search input ref from snapshot
agent-browser fill @e_search_input "your keyword"
agent-browser press Enter
agent-browser wait --load networkidle- Capture results
agent-browser screenshot search-results.png
agent-browser snapshot -i > search-snapshot.txt- Parse results
- Look for result items in snapshot
- Extract message content, sender, channel, timestamp
- Follow links to view full context
Filters
Slack search supports filters:
in:channel-name- Search in specific channelfrom:@user- Messages from specific userbefore:2026-02-25- Messages before dateafter:2026-02-20- Messages after datehas:file- Messages with fileshas:emoji- Messages with reactions
Example search: "bug report" in:engineering from:@alice after:2026-02-20
Task: Monitor a Specific Channel for Activity
Goal
Watch a channel and capture new messages/engagement.
Steps
- Navigate to channel
agent-browser connect 9222
agent-browser snapshot -i
# Find channel ref from sidebar
agent-browser click @e_channel_ref
agent-browser wait --load networkidle- Check channel info
- Screenshot channel details:
agent-browser screenshot channel-header.png - Look for member count, description, topic
- View messages
# Jump to recent/unread
agent-browser press j # Jump to unread in Slack
agent-browser wait 500
agent-browser screenshot recent-messages.png- Scroll to see more
agent-browser scroll down 500
agent-browser screenshot more-messages.png- Check threads
- Click on messages with thread indicators
- View replies in thread view
- Screenshot:
agent-browser screenshot thread.png
Evidence
- Channel info screenshot
- Message history screenshots
- Thread examples
Task: Extract User Information from a Conversation
Goal
Find who said what, when, and in what context.
Steps
- Navigate to relevant channel or DM
agent-browser click @e_conversation_ref
agent-browser wait 1000- Take snapshot with context
agent-browser snapshot --json > conversation.json- Find message blocks
- In JSON, look for document/listitem elements
- These contain: user name (button), timestamp (link), message text, reactions
- Extract structured data
- User: Found in button element with username
- Time: Found in link with timestamp
- Content: Text content of message
- Reactions: Buttons showing emoji counts
- Screenshot key messages
agent-browser screenshot important-message.png
agent-browser screenshot --annotate annotated-message.pngTask: Track Reactions to a Message
Goal
See who reacted to a message and with what emoji.
Steps
- Find message with reactions
agent-browser snapshot -i
# Look for "N reaction(s)" buttons in messages- Click reaction button to expand
agent-browser click @e_reaction_button
agent-browser wait 500- Capture reaction details
agent-browser screenshot reactions.png
# You'll see emoji, count, and list of users who reacted- Extract data
- Emoji used
- Number of people who reacted
- User names (if visible in popup)
Task: Find and Review Pinned Messages
Goal
See messages that have been pinned in a channel.
Steps
- Open a channel
agent-browser click @e_channel_ref
agent-browser wait 1000
agent-browser snapshot -i- Click Pins tab
- In channel view, look for "Pins" tab ref (usually near Messages, Files tabs)
- Click it:
agent-browser click @e_pins_tab - Wait:
agent-browser wait 500
- View pinned messages
agent-browser screenshot pins.png
agent-browser snapshot -i > pins-snapshot.txt- Review each pin
- Click pin to see context
- Note who pinned it, when, and why
- Screenshot:
agent-browser screenshot pin-detail.png
Pattern: Extract Timestamp from Link
In Slack snapshot, message timestamps appear as links. Example:
- link "Feb 25th at 10:26:22 AM" [ref=e151]
- /url: https://vercel.slack.com/archives/C0A5RTN0856/p1772036782543189The URL contains the timestamp in the fragment (p1772036782543189). This is a Slack message ID that uniquely identifies the message.
Pattern: Understanding Channel/Thread Structure
- treeitem "channel-name" [ref=e94] [level=2]
- group: (contains channel metadata or sub-items)- level=1: Section headers (External connections, Starred, Channels, etc.)
- level=2: Individual channels/items within sections
- level=3+: Nested sub-items (rare in sidebar)
Common Ref Patterns (Session-Dependent)
These refs vary per session, but follow patterns:
| Element | Typical Ref Range | How to Find | |
|---|---|---|---|
| Home tab | e10-e20 | `snapshot -i \ | grep "Home"` |
| DMs tab | e10-e20 | `snapshot -i \ | grep "DMs"` |
| Activity tab | e10-e20 | `snapshot -i \ | grep "Activity"` |
| Search | e5-e10 | `snapshot -i \ | grep "Search"` |
| More unreads | e20-e30 | `snapshot -i \ | grep "More unreads"` |
| Channel refs | e30+ | `snapshot -i \ | grep "treeitem"` |
Always take a fresh snapshot to find current refs for the current session.
Debugging: Element Not Found
If you can't find an element:
- Check it's visible
# Is the element on screen or off-screen?
agent-browser screenshot current-state.png
# Compare screenshot to what you expected- Try expanding/scrolling
# Sidebar might need scrolling
agent-browser scroll down 300 --selector ".p-sidebar"
agent-browser snapshot -i- Check current URL
agent-browser get url
# Verify you're in the right section- Wait for page to load
agent-browser wait --load networkidle
agent-browser wait 1000
agent-browser snapshot -i