--- id: "7dcbd3fe-562e-48bc-8b31-200cbf8b821e" name: "Slack Permalink Capture" micro_summary: "Use `slack_capture_permalinks(limit=50)` to extract visible message source links, timestamps, senders, text, and missing-link count." status: "resolved" see_also: [] scope: "How to capture stable Slack source links from app.slack.com DOM so extracted items can point back to original messages/threads." --- ## Helper Use `slack_capture_permalinks(limit=50)`. ```python import json links = json.loads(slack_capture_permalinks(limit=20)) ``` ## Returns JSON with `count`, `missing_permalinks`, and `messages`. Each message includes visible sender/text, `data-msg` identifiers, timestamp label, and permalink when Slack exposes it. ## Usage stance Every surfaced Slack item should carry a source link. If `missing_permalinks` is nonzero for an item you plan to surface, escalate or gather more context rather than emitting an untraceable item. ## Verification 2026-06-01: after opening Threads, `slack_capture_permalinks(limit=3)` returned `ok=true`, `count=3`, and `missing_permalinks=0`.