Skip to content

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.

Paste it into your assistant. It tells you what it will send or change before it runs live.

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

  1. Every Monday ClickRuntime collects last week's posts from all your Sprout Social profiles.

  2. It ranks them by engagements and keeps the top 10.

  3. 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

RunsWeekly
See your 10 best posts from last weektoday, 9:00Succeeded
Email · Top 10 posts last week1. 1,204 eng · 22,480 impr Meet the Northwind team behind our new app

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
weekly_top_posts_report.pyexample
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?
They are ranked by total engagements, which Sprout reports for each post, such as likes, comments, shares and clicks, depending on the network. You can choose to rank by another measure if you prefer. Engagement is a sound basis, though you can switch to another measure.
Can I get more than ten posts?
Yes. Ten is the default because it fits easily in an email, but you can ask for the top twenty, or for the top five from each profile. The report simply takes the number you choose. The length of the list is entirely up to you. Tell your assistant the number.
Does the report show the post itself?
It includes the date, network, profile and the text of each post, along with the engagement figures and a link to the post where Sprout provides one. Images are not embedded in the email. Open the link to see the image.
What permissions does it need?
API token. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (weekly). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

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.