Weekly Bitly link performance digest posted to Slack

Every Monday, get a written recap of how last week's short links performed, grouped by campaign, with fading links flagged before they cost you.

Agentic Task
BitlySlack BotMarketingAI ReportsDaily Digests
PromptCreate

Every Monday at 9am, review how our Bitly links performed over the past week and post a written digest to our marketing channel in Slack. Use a cron trigger for this. Bitly webhooks require a paid or enterprise plan and return 403 otherwise, so the workflow should list the links and fetch their stats itself on each run rather than waiting to be notified.

Start by resolving which Bitly group to report on. The connected user record exposes a default_group_guid, and that is the group to use unless I specify another one. Then call Bitly's "Retrieve Bitlinks by Group" to pull the links in that group, and narrow the set to links that have been active in the last 30 days so old and abandoned links do not clutter the report.

For each of those links, call Bitly's "Get a Clicks Summary for a Bitlink" twice so you can compare week over week. Bitly's metric endpoints accept a unit (minute, hour, day, week, month) along with units and unit_reference to define the window, so request one summary covering the last 7 days and a second summary covering the 7 days immediately before that. The difference between those two numbers is the movement I care about. Note that Bitly rate limits per endpoint and returns 429 when exceeded, so pace these calls and keep going rather than failing the whole run if one link errors out.

Once you know which links actually performed, enrich only the top performers. For those, call Bitly's "Get Metrics for a Bitlink by Referrers" and "Get Metrics for a Bitlink by Country" over the same 7 day window, so the digest can say where the traffic genuinely came from instead of just how much of it there was. Do not enrich every link, only the ones worth commenting on.

Group the links by their Bitly tags and summarize each tag as a campaign unit rather than reporting a flat list of raw URLs. For each campaign give the combined click total, the week over week change, and the individual links inside it. If some links carry no tags, report them together under a single untagged group instead of dropping them.

Write the digest so it leads with the three best performing links across all campaigns, each with its click count and its week over week change. After that, cover each campaign in turn. Explicitly flag any link whose clicks dropped by more than half compared to the previous week, and put those in a clearly marked section so they do not get lost. For each campaign, add one sentence explaining where the traffic actually came from, drawing on the referrer and country breakdowns. Use judgement here: rank the links, decide which movements are worth calling out, and write it as a short narrative a marketer can read in under a minute, not as a raw data dump.

Send the finished digest to our marketing channel using the Slack Bot integration's "Send a Message" operation. Format it for Slack readability with a clear heading, short sections, and the links rendered so they are clickable. If there was no click activity at all in the past week, still post a brief note saying it was a quiet week, so the team knows the report ran.

Example output

Bitly weekly recap, week of March 10 Top performers this week 1. Spring Launch landing page, 1,240 clicks, up 38% week over week 2. Webinar signup, 870 clicks, up 12% 3. Pricing page from newsletter, 654 clicks, up 9% Campaign: spring-launch (3 links, 2,110 clicks, up 31%) The launch page carried the campaign, and most of that lift came from LinkedIn referrals concentrated in the US and UK. Campaign: q1-newsletter (4 links, 1,015 clicks, down 6%) Steady week, traffic came almost entirely from direct email opens rather than social. Needs attention The retargeting-promo link dropped from 480 clicks to 190, down 60% week over week. Its referrals previously came mostly from Facebook, which has now fallen off almost entirely.

Additional information

What does this prompt do?
  • Checks every short link that has been active in the last month and compares last week's clicks against the week before
  • Groups results by campaign tag, so you read one summary per campaign instead of a wall of unrelated links
  • Leads with your three best performing links and flags any link whose clicks fell by more than half
  • Adds a plain sentence on where the traffic actually came from, including the top referring sites and countries
What do I need to use this?
  • A Bitly account containing the links you want to track
  • A Slack workspace and the marketing channel where the digest should land
  • Campaign tags applied to your Bitly links, so the digest can group them (untagged links still get reported, just as one group)
How can I customize it?
  • Change the schedule, Monday at 9am is just the starting point
  • Point the digest at a different Slack channel, or send it to several teams at once
  • Adjust what counts as a worrying drop, or how many top links lead the summary
  • Widen or narrow the one month window that decides which links are considered active

FAQs

Do I need a paid Bitly plan for this?
No. The digest is built on standard link listing and click analytics, which are available on regular Bitly accounts. Some advanced Bitly features such as custom link histories and instant notifications are limited to paid plans, but this workflow deliberately avoids them and checks on a schedule instead.
What happens if my links are not tagged by campaign?
It still works. Untagged links are reported together as a single group, so you get the same rankings and drop alerts, just without the per campaign breakdown. Adding tags in Bitly is what turns the digest into a campaign by campaign summary.
Will it still post on a quiet week with no clicks?
Yes, you get a short message telling you it was a quiet week, so silence always means the workflow ran rather than that it broke. You can change it to skip posting entirely when there is no activity.
How far back does it look?
It considers links that were active in the last thirty days, then compares the most recent seven days against the seven days before that. This is what produces the week over week movement rather than a single flat number.
Can it post somewhere other than a marketing channel?
Yes. Any Slack channel the bot can reach works, including a private team channel or a direct message. You can also send the same digest to more than one place.

Related templates

Chase past-due JobNimbus invoices with escalating emails

Every weekday, find every unpaid JobNimbus invoice, email each customer one reminder that gets firmer as it ages, and post a receivables summary to Slack.

JobNimbus
Gmail
Slack Bot
Agentic Task
Flag at-risk students in Canvas before they fall behind

Every weekday at 7am, your active courses are checked for missing work, silent logins, and slipping grades, with a ranked list sent to your advising channel.

Canvas
Google Sheets
Slack Bot
Agentic Task
Catch Jira service desk tickets before their SLA runs out

Every hour, find the tickets closest to breaching, leave a nudge on each one, and post a ranked at-risk list to your support channel.

Jira Service Management
Slack Bot
Agentic Task
Send Canvas students a kind nudge about missing work

Every weekday afternoon, each student who is behind gets a warm, personal message in their Canvas inbox listing exactly what they owe.

Canvas
Slack Bot
Agentic Task
Weekly Canvas grading backlog report in Slack and Sheets

Every Monday at 8am, see exactly which assignments have work waiting, sorted worst first, posted to Slack and logged to a spreadsheet.

Canvas
Slack Bot
Google Sheets
Deterministic Code
Revoke Bitwarden access when someone leaves in BambooHR

Every weekday morning we compare your password vault against your HR records and suspend access for anyone who has already left.

Bitwarden
BambooHR
Slack Bot
Agentic Task

Stop digging through link dashboards every Monday morning.

Let this workflow pull the numbers, rank the winners, spot the drops, and write the recap for your team.