Daily Ahrefs backlink movement digest in Slack

By General Input

Every weekday morning, get a ranked Slack summary of yesterday's new, lost, and broken backlinks for your target domains, with the noise filtered out.

Integrations

  • Ahrefs
  • Slack Bot

Type

Agentic Task

Categories

  • Marketing

Every weekday at 9am ET (cron trigger), I want an agent to post a backlink movement digest into a Slack channel for one or more target domains I configure. The whole point of making this an agent rather than a raw dump is that I want it to use judgment to rank what actually matters and drop the noise.

Configurable inputs the workflow should accept:

- target_domains: one or more domains to monitor, e.g. ["mycompany.com"]. Required.

- slack_channel: the Slack channel ID or name to post the digest into. Required.

- min_domain_rating: minimum Domain Rating to consider a backlink worth surfacing. Default 20.

- max_items_per_section: how many items to include in each section of the digest. Default 5.

For each target domain, in parallel, the agent should do the following:

1) Call the Ahrefs List Backlinks operation to find newly discovered backlinks. Use mode=domain and a where filter that keeps only rows where is_spam = false, domain_rating >= min_domain_rating, and first_seen is within the last 24 hours. Order by domain_rating desc. Select at least: url_from, url_to, domain_rating, traffic, anchor, first_seen, is_dofollow, link_type. Remember Ahrefs requires the select parameter on list endpoints and the where parameter uses JSON filter syntax, not a string expression.

2) Call List Backlinks again with a filter for lost links: last_seen within the last 24 hours and the row marked as lost. Keep the same is_spam = false and domain_rating >= min_domain_rating filters. Select url_from, url_to, domain_rating, anchor, last_seen.

3) Call List Broken Backlinks to find external sites linking to URLs on the target that now return 4xx or 5xx. These are redirect candidates. Filter to is_spam = false and a sensible Domain Rating floor. Capture url_from, url_to, http_code, domain_rating.

4) Call List Referring Domains to compute today's net referring domain change versus yesterday for the one-line trend headline. Use the where filter to exclude spam.

Then synthesize a single Slack message per run (not one per domain). Group sections by domain inside that message. Use Slack mrkdwn formatting (*bold*, _italic_, <url|text>). The message structure should be:

- A bold one-line trend headline per domain, e.g. "*mycompany.com:* net +3 referring domains today, DR-weighted +12".

- *New backlinks worth a thank-you:* up to max_items_per_section highest-DR new links, each a one-liner with referring domain, DR, anchor text (italicized), and the page they point at. Phrase as outreach candidates.

- *Lost links worth reclaiming:* up to max_items_per_section highest-DR lost links with referring domain, DR, anchor text, and what they used to point at. Phrase as reclamation candidates.

- *Broken inbound links to fix:* the broken target URL, the referring page linking to it, and a suggested action (set up a 301 redirect to the closest live URL).

- A closing one-line totals summary across all domains.

Post the message using Slack Bot's Send a Message operation into the configured channel. If a domain had zero new, zero lost, and zero broken items today, omit that domain's section entirely. If every domain is quiet, post a single short line like: "No backlink movement above DR <threshold> today across <N> domains." That way the channel stays clean but the team knows the check ran.

Judgment guidance: do not just dump the API rows. Rank within each section by domain_rating, but prefer a lower-DR link if the referring site or anchor text is unusually interesting (an editorial mention from a known publication beats a generic directory listing). Keep the whole message under about 30 lines.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them