Weekly
See your 10 best posts from last week
A Monday ranking of last week's top posts across your profiles by engagement, with impressions and links.
- Runs
- Weekly
- Apps
- Sprout Social
- AI
- Not needed
- Access
- API token
Send this to your assistant
Create a ClickRuntime automation: every Monday at 9am, email me my top 10 Sprout Social posts from last week ranked by engagements, with impressions and a link to each.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Everyone on a social team has a sense of which posts did well, but the sense is often wrong. The post that felt big got a lot of comments from colleagues, while a quiet product photo drew the most saves. Finding the real winners means exporting post analytics from Sprout for each profile, sorting by engagement and comparing across networks, and it is the kind of job that is skipped when the week is busy. Content planning then runs on instinct.
Every week, ClickRuntime gets your profiles from Sprout's metadata, requests post analytics for the previous seven days, sorts the posts by engagements across all profiles and emails the top ten with network, date, text and engagement counts. The best content of the week is at the top of your inbox on Monday.
Content strategists, social leads and agencies planning the next week's posts rely on it most.
What you get out of it
Winning content is identified with data
Seeing the top ten posts by engagement replaces gut feeling with evidence, so the content calendar can lean into what the audience actually responds to. That also settles internal debates about what to post, since the evidence is in front of everyone.
Patterns appear over weeks
If most top posts are short videos or behind-the-scenes shots, that emerges after a few weeks of lists. A strategy built on such a pattern is far more reliable than a guess.
Good posts are reused
A post that did well can be reshared, adapted for another network or turned into a larger piece. Without a list, strong content is forgotten within days. Recycling proven content saves creative effort and reaches followers who missed it the first time.
Cross-network comparison becomes easy
Ranking all profiles together shows how a LinkedIn post compares to an Instagram one, which helps decide where to put effort and which formats suit which network. A shared ranking is also a fair way to compare very different formats.
Reports for clients are quick
Agencies can forward the list to a client with a short comment, and show which posts delivered. It makes a monthly review easier, since the weekly records are already collected.
How it works
What happens, step by step
Every Monday ClickRuntime collects last week's posts from all your Sprout Social profiles.
It ranks them by engagements and keeps the top 10.
You get one email listing each post's engagements, impressions, the start of its text and a link to it.
Before it runs live
- Connect Sprout Social
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Sprout Social steps into one automation
Under the hood
The code that runs this automation
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, notify
API = "https://api.sproutsocial.com/v1"
def sprout():
h = {"Authorization": f"Bearer {credentials.secret('SPROUT_API_TOKEN')}"}
cid = http.get(f"{API}/metadata/client", headers=h).json()["data"][0]["customer_id"]
return h, cid
@on_trigger
def run(event):
h, cid = sprout()
ids = ",".join(str(p["customer_profile_id"]) for p in http.get(f"{API}/{cid}/metadata/customer", headers=h).json()["data"])
end = date.today()
body = {"filters": [f"customer_profile_id.eq({ids})", f"created_time.in({end - timedelta(days=7)}T00:00:00..{end}T00:00:00)"],
"fields": ["perma_link", "text"], "metrics": ["lifetime.impressions", "lifetime.engagements"], "limit": 100}
posts = http.post(f"{API}/{cid}/analytics/posts", json=body, headers=h).json()["data"]
top = sorted(posts, key=lambda p: -(p["metrics"].get("lifetime.engagements") or 0))[:10]
lines = [f"{i}. {p['metrics'].get('lifetime.engagements', 0):,} eng · {p['metrics'].get('lifetime.impressions', 0):,} impr "
f"{(p.get('text') or '')[:60]}\n {p['perma_link']}" for i, p in enumerate(top, 1)]
notify.email_me("Top 10 posts last week", "\n".join(lines))
return {"posts": len(top)}FAQ
Common questions
How are the best posts decided?
Can I get more than ten posts?
Does the report show the post itself?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get last week's profile stats every Monday
A weekly email with impressions, engagements and follower growth for each of your connected profiles.
See how it worksFlag messages that nobody has answered
Each hour, inbound messages waiting more than your limit without a reply are posted to Slack.
See how it worksHear when brand mentions spike or turn negative
You get an alert when a listening topic's volume jumps or its negative sentiment climbs well above normal.
See how it worksKeep exploring
Set up “See your 10 best posts from last week” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
