8.4 KiB
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
- Take snapshot:
-
Check DMs
- Click DMs tab ref (usually
@e13) - Look for "Unreads" toggle/badge
- Count visible conversations with indicators
- Click DMs tab ref (usually
-
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" section
Evidence
- 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
- Screenshot channel details:
-
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.png
Task: 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/p1772036782543189
The 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