Auto-summarize every link shared in a Slack channel
When someone drops a link in a watched Slack channel, an agent reads the page, writes a short summary, and posts it back as a thread reply.
Build me an agent workflow that auto-summarizes any link shared in a watched Slack channel and posts the summary as a thread reply on the original message.
Trigger: a Slack Events API webhook for link_shared / message events on the channels I configure. When the workflow fires, the event payload includes the channel, the message ts, and the URL (or URLs) that were shared. Treat each URL as one summarization job.
Before doing anything else, check the URL against a configurable ignore list (default examples: twitter.com, x.com, our internal docs domain, status pages). If the host matches the ignore list, skip silently.
Read the page with Diffbot. Use the Analyze URL (Auto-detect Page Type) operation so the same workflow handles articles, product pages, and discussion threads without me having to branch on page type. If Diffbot classifies the page as an article, fall back to Extract Article on the same URL to get cleaner title, author, source, date, and body fields.
Use the built-in LLM to write a short summary from the extracted content: 3 to 5 bullet points capturing the core argument or main facts, plus a small header line with the title, author (or site name if no author), source domain, and publish date when those are available. Keep it tight. No filler, no marketing voice.
Post the result back to Slack with the Slack Bot Send a Message operation. The message must go to the same channel as the original event, and it must be a thread reply (use the original message's ts as thread_ts) so the summary attaches to the link instead of creating a new top-level message. Format the summary as Slack mrkdwn: a bold header line followed by bulleted lines.
If Diffbot returns an error, a paywall, or no extractable text, skip posting (do not send a broken summary). If the same URL has already been summarized in this thread within the last 24 hours, skip to avoid duplicates.
Integrations: Diffbot (Analyze URL with Extract Article fallback) and Slack Bot (Send a Message as a thread reply). The built-in LLM handles the summarization step.
Additional information
What does this prompt do?
- Watches a Slack channel for any link someone shares and reacts in seconds.
- Reads the page behind the link and pulls out the title, author, source, and publish date.
- Writes a tight 3 to 5 bullet summary so your team gets the gist without leaving Slack.
- Posts the summary as a thread reply on the original message, keeping the channel tidy.
What do I need to use this?
- A Slack workspace where you can add a bot and pick the channels it watches.
- A Diffbot account so the agent can read the contents of articles, product pages, and discussions.
- An optional list of domains to ignore (for example tweets, internal docs, or status pages).
How can I customize it?
- Change the channel or channels the agent watches, or have it ignore links posted by certain people.
- Adjust the summary style: shorter bullets, a single TLDR sentence, or a longer brief with quotes.
- Edit the ignore list of domains so the agent skips links you do not want summarized.
Frequently asked questions
Will it work for product pages and forum discussions, not just news articles?
Can I stop it from summarizing certain links?
Does the summary appear as a new message or as a reply?
Which channels does the agent watch?
What if a page is paywalled or fails to load?
Stop opening every link your team drops in Slack.
Connect Slack and Diffbot once, and Geni summarizes every shared link as a thread reply within seconds.