Monthly social media report for every Metricool brand

On the first Monday of each month, every brand in your Metricool account gets a written performance report, emailed straight to the client.

Agentic Task
MetricoolGmailSlackMarketingOperationsAI ReportsEmail Automation
PromptCreate

On the first Monday of every month at 8am, build and send a client-ready social media performance report for each brand in my Metricool account. Use a cron trigger. If the schedule cannot express "first Monday of the month" directly, run every Monday at 8am and stop immediately unless the day of the month is 7 or lower.

Start with Metricool's Get Admin Simple Profiles to list every brand on my account. Metricool is brand scoped, so hold on to the numeric blogId for each brand and pass it with every stats call that follows. Work through the brands one at a time.

For each brand, set the reporting period to the previous full calendar month, from the 1st to the last day. Pull Get Stats Instagram Posts, Get Stats Instagram Reels, Get Stats Instagram Stories and Get Stats Facebook Posts for that period, and pull follower demographics with Get Stats City Provider and Get Stats Gender Provider. Then pull the same four post level stats for the month before that, so any growth claim is measured against a real baseline instead of guessed.

Write a narrative per brand in plain English. This is the point of the workflow: the value is the written analysis, not a table of numbers. Cover what grew and by how much against the previous month, the three best performing posts across all formats with a short explanation of why each one worked looking at format, subject, hook and publish time, which format underperformed and the likely reason, a one or two line audience note drawn from the city and gender data, and two concrete recommendations for next month that follow from this brand's own numbers rather than generic social media advice.

Stay honest with the data. Only cite numbers that actually came back. If a brand has no Instagram or no Facebook connected, skip that section and say so in one line rather than inventing figures. If a brand returned no activity at all for the month, do not email the client and flag the brand in the internal summary instead.

Let me set two inputs before the run. First, a brand to recipient mapping: for each brand name, the client contact email the report goes to, plus an optional cc address for the account manager. Second, a tone setting with two options, formal client facing or internal shorthand, which changes how the narrative is written without changing what it covers.

Send each brand's report with Gmail Send a Message to that brand's mapped contact, using a subject like "Northlight Coffee, social performance for March 2026". Put the narrative in the body with a compact block of headline figures underneath it. If a brand has no mapped recipient, send nothing for that brand and record it as needing a contact.

When every brand is done, post one short internal summary to our agency channel with Slack Send a Message. Give one line per brand with the headline of the month and whether the report went out, then a short list of any brands that were skipped, had no recipient mapped, or need someone to look at them before the client asks.

Example output

Subject: Northlight Coffee, social performance for March 2026 Hi Priya, March was your strongest month since we started. Instagram followers grew 4.1% and reels carried it: 9 reels pulled 62% of total reach, up from 38% in February. The three posts that did the most work: 1. The 22 March barista training reel. Behind the scenes footage with a face and a voice, posted 7:40am on a weekday, which is when your audience is actually commuting. 2. The 9 March single origin carousel. It taught something specific instead of selling, and saves ran 3x your usual rate. 3. The 28 March reel on the new cold brew. Product post, but the hook was a question in the first two seconds. What underperformed: static Facebook posts. Six posts, 1,900 combined reach, well under the reels. The page is not dead, but plain photo posts are not earning their slot. Audience note: 61% of followers are women aged 25 to 44, and Manchester alone is 34% of the city split, so local references keep landing. Two things for April: 1. Move to three reels a week and cut static Facebook posts to one, reusing the best reel there instead. 2. Post the teaching content on Tuesday mornings. Both of your saved heavy posts landed in that slot. Happy to walk through any of this on a call.

What does this prompt do?

  • Pulls last month's Instagram post, reel and story results plus Facebook page results for every brand in your Metricool account.
  • Writes a plain-English review per brand: what grew, the three best posts and why they worked, the format that fell flat, and two things to try next month.
  • Emails each brand's report to the client contact you mapped to it, so nobody spends the first week of the month copying numbers between accounts.
  • Drops a short internal roundup into your agency Slack channel so the team sees every client's month at a glance.

What do I need to use this?

  • A Metricool account with each client set up as its own brand. Metricool only issues the access key on its higher tier plans.
  • Instagram and Facebook profiles connected to those brands inside Metricool.
  • A Gmail account to send the client reports from.
  • A Slack workspace and a channel for the internal roundup.
  • The client contact email you want each brand's report sent to.

How can I customize it?

  • Change the timing: first Monday of the month, the 1st of the month, or every fortnight if a client wants faster feedback.
  • Switch the tone between polished client-facing writing and blunt internal shorthand.
  • Edit the brand-to-recipient list to add new clients, change contacts, or copy in the account manager.
  • Add or remove sections, for example include the audience location and gender note only for the brands that care about it.

FAQs

What if a client only uses Instagram and not Facebook?
The report simply leaves that section out and says so in a line. It never fills the gap with invented numbers.
Will it write something flattering even if the month was quiet?
No. The commentary is built from the numbers that actually came back, so a flat month reads as a flat month. If a brand had no activity at all, no client email goes out and the brand is flagged in the internal Slack summary instead.
Can each client get their own email address?
Yes. You keep a simple list matching each brand to its client contact, with an optional copy to the account manager, and each report goes only to the people on that brand's line.
Do I need a paid Metricool plan?
Yes. Metricool only provides the access key needed to read your data on its higher tier plans, so a free or entry level plan will not work.
Can I read the reports before the client does?
Yes. Point every brand at your own inbox for the first month, check the writing, then swap in the real client contacts once you are happy with the tone.

Related templates

Auto-fix your calendar when a flight slips, and flag what's at risk

When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.

Google Calendar
AviationStack
Slack
Agentic Task
Trace phishing emails to the sending IP and report abuse

Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.

AbuseIPDB
Gmail
Slack
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Turn each week's football fixtures into a venue staffing plan

Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.

API-Sports
Google Calendar
Slack
Agentic Task
Weekly flight risk brief for trips your team already booked

Every Thursday, rank your team's upcoming flights by how likely they are to run late, and email the fixes while changes are still cheap.

AeroDataBox
Airtable
Gmail
Agentic Task
Warn customers before their saved card expires and billing fails

Each month, spot the saved cards about to expire, email the customers still on recurring billing, and rank the revenue at risk in Slack.

Authorize.Net
Gmail
Slack Bot
Agentic Task

Stop rebuilding the same client report every month.

Your monthly reporting block becomes one scheduled run that pulls the numbers, writes the analysis and sends it to each client.