Skip to content

Weekly

Get last week's profile stats every Monday

A weekly email with impressions, engagements and follower growth for each of your connected profiles.

Runs
Weekly
Apps
Sprout Social
AI
Not needed
Access
API token

Send this to your assistant

Create a ClickRuntime automation: every Monday at 8am, email me last week's Sprout Social impressions, engagements and follower growth for each profile.

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

A social media lead manages eight profiles across Instagram, Facebook, LinkedIn and X, and every Monday has to report on how last week went: follower growth, impressions, engagement. Pulling it means opening Sprout's analytics for each profile, adjusting the date range, copying figures into a slide or spreadsheet and doing the maths on engagement by hand. It takes an hour, and one mis-set date range quietly makes the whole report wrong.

Every week, ClickRuntime reads your connected profiles from Sprout's metadata, calls the profile analytics for the previous seven days, formats followers gained, impressions and engagement per profile into a table, and emails it to you. The same date range is used every week, so the numbers always compare like with like.

Social leads, marketing managers and agencies who report to clients on a fixed rhythm use it to save time.

What you get out of it

  • The Monday report is ready in advance

    It arrives at the same time each week, so the manager can start the meeting from real numbers and spend the hour thinking about what to change rather than collecting data.

  • Date ranges are always consistent

    Because the same seven-day window is used each time, week-over-week comparisons are fair. A mis-set filter in the dashboard no longer quietly distorts the trend. That consistency is what makes a trend line trustworthy for stakeholders.

  • Weak profiles are noticed

    Seeing every profile in one table makes it plain which account is stagnating while others grow, so resources and ideas can be directed where they matter most. Seeing a weak account next to a strong one also helps explain why, since the contrast is plain.

  • Clients receive reliable updates

    Agencies can forward the same email to clients every week, with figures that always come from the same source. That builds trust and cuts down on ad-hoc requests. Agencies also avoid the weekly scramble to produce screenshots.

  • A history of weekly figures accumulates

    Each email is a dated snapshot, so months later you can answer how a campaign changed engagement without opening the dashboard and exporting again. That archive saves repeated exports for quarterly reviews.

How it works

What happens, step by step

  1. Every Monday ClickRuntime gets the list of social profiles connected to your Sprout Social account.

  2. For each profile it adds up the last 7 days of impressions, engagements and follower growth.

  3. You get one email with a line per profile, such as "Acme (linkedin): 48,210 impressions, 1,932 engagements, +86 followers".

Before it runs live

  • Connect Sprout Social

What you get

RunsWeekly
Get last week's profile stats every Mondaytoday, 9:00Succeeded
Email · Sprout Social last weekAcme (linkedin): 48,210 impressions, 1,932 engagements, +86 followers

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_profile_performance_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()
    profiles = http.get(f"{API}/{cid}/metadata/customer", headers=h).json()["data"]
    names = {p["customer_profile_id"]: f"{p['name']} ({p['network_type']})" for p in profiles}
    end = date.today() - timedelta(days=1)
    body = {"filters": [f"customer_profile_id.eq({','.join(map(str, names))})",
                        f"reporting_period.in({end - timedelta(days=6)}...{end})"],
            "metrics": ["impressions", "engagements", "net_follower_growth"]}
    rows = http.post(f"{API}/{cid}/analytics/profiles", json=body, headers=h).json()["data"]
    totals = {}
    for r in rows:
        t = totals.setdefault(r["dimensions"]["customer_profile_id"], {"impressions": 0, "engagements": 0, "net_follower_growth": 0})
        for k in t:
            t[k] += r["metrics"].get(k) or 0
    lines = [f"{names[p]}: {t['impressions']:,} impressions, {t['engagements']:,} engagements, {t['net_follower_growth']:+} followers"
             for p, t in totals.items()]
    notify.email_me("Sprout Social last week", "\n".join(lines))
    return {"profiles": len(lines)}

FAQ

Common questions

Which metrics does the report include?
It includes followers gained, total impressions and engagements for each profile over the last seven days. Other metrics Sprout reports, such as video views or link clicks, can be added if they matter to you.
Can I report only certain profiles?
Yes. By default it covers every connected profile, but you can limit it to particular networks or to a client's accounts. That is useful when each client should receive only their own numbers. Each recipient can then get only what is relevant to them, in a short email.
Where do the numbers come from?
They are taken from Sprout Social's analytics for each profile, so they match what you would see in the dashboard for the same dates. Small differences can appear if a network updates its figures late.
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 “Get last week's profile stats every Monday” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.