Repurpose your best Sprout Social posts into new drafts

Every Monday, find your three best performing posts, rewrite them for your other networks, and queue drafts for approval in Sprout.

Agentic Task
Sprout SocialSlack BotMarketingContent GenerationAI Reports
PromptCreate

Every Monday at 7am, mine my own best Sprout Social content and turn it back into new posts for my other connected networks.

Start by using the Sprout Social Query Post Analytics operation to pull every post I published in the last 30 days along with its lifetime performance metrics. Post analytics metrics carry a "lifetime." prefix, so read fields such as lifetime.impressions and lifetime.engagements (profile analytics metrics do not carry that prefix). This operation is index paginated with page and limit and caps the total result set at 10,000, so page through until I have the full 30 day window.

Rank the posts by engagement rate rather than raw impressions. Compute engagement rate per post as lifetime engagements divided by lifetime impressions, so that a strong post on a small profile is not buried under a mediocre post on a large one. Take the top three.

Skip any post I already repurposed in the last 90 days. Keep a running record of the source post ids this workflow has reused, carry that record between runs, and age out entries older than 90 days. If one of the top ranked posts is on that skip list, move down to the next best post so the same winner is not recycled every month.

Use the Sprout Social List Customer Profiles operation to resolve my connected profiles, their customer_profile_id values, and their network types. Profile ids used in filters are customer_profile_id values. For each of the three winners, work out which network it originally ran on, then write a genuinely fresh variant for each of my other connected networks. Do not copy the caption across. Adapt length, tone, and hashtag use per network: short and punchy with minimal hashtags for X, a longer and more professional framing without hashtag spam for LinkedIn, visual-first with a fuller hashtag set for Instagram, and conversational for Facebook. Keep the idea and the hook that made the original work, and change the execution.

For each variant, use the Sprout Social Create Publishing Post operation to put it into Sprout as a draft targeting that network's customer_profile_id, scheduled for a slot later that same week. Sprout publishing creates drafts only: is_draft must be true and delivery.type only accepts SCHEDULED. That constraint is a feature here rather than a limitation, because it makes the human approval step natural, so never describe this workflow as publishing automatically. Spread the scheduled times across the week instead of stacking them all at once.

Finish by sending a single Slack message with the Slack Bot Send a Message operation to my marketing channel. List every draft that was created, grouped under the original post that inspired it, and include that original's engagement rate plus a one line explanation of why it did well (the hook, the format, the topic, or the timing). For each draft, show the target network and the scheduled time so a human can approve or edit it in Sprout before anything goes out. If nothing qualified this week, say that in one line rather than sending an empty summary.

What does this prompt do?

  • Looks at everything you published in the last 30 days and ranks it by engagement rate rather than raw impressions, so a great post on a smaller profile is not buried under an average post on a big one.
  • Takes the top three winners and writes genuinely fresh variants for each of your other connected networks, adjusting length, tone, and hashtag use instead of copying one caption everywhere.
  • Queues every variant in Sprout as a draft scheduled for a slot later that week, so nothing goes out until a person approves it.
  • Sends one Slack summary listing what was drafted, which original post inspired it, and why that original did well.
  • Remembers what it has already recycled and skips any post reused in the last 90 days, so the same winner does not come back around every month.

What do I need to use this?

  • A Sprout Social account on the Advanced plan or higher. Social API access is not included on the Standard or Professional plans.
  • At least two social profiles connected to Sprout, so there is somewhere to cross-post to.
  • A Slack workspace and a channel where the weekly summary should land.
  • Roughly 30 days of published posts already in Sprout, so there is enough history to rank.

How can I customize it?

  • Change the timing. Monday at 7am is only a default, and any weekly or every-other-week slot works just as well.
  • Change how many winners get repurposed each run, or how long a post has to rest before it can be reused again (90 days by default).
  • Point the summary at a different Slack channel, and adjust the tone rules used for each network to match your brand voice.

FAQs

Will this post to my social accounts automatically?
No. Everything lands in Sprout as a draft scheduled for later in the week, and someone on your team has to review and approve it before it can go live. That approval step is built in on purpose.
Do I need a paid Sprout Social plan?
Yes. Connecting Sprout Social requires the Advanced plan or higher. The Standard and Professional plans do not include the access this workflow needs.
Why rank by engagement rate instead of impressions?
Raw impressions simply reward whichever profile has the biggest audience. Engagement rate measures how well a post did relative to the people who actually saw it, so a strong post on a smaller profile still surfaces as a winner.
Will it just copy the same caption onto every network?
No. It writes a separate version for each network, adapting the length, the tone, and how many hashtags it uses. The idea and the hook carry over, but the wording is rewritten to suit each place it will run.
What stops the same post being recycled every month?
The workflow keeps a running record of what it has already reused and skips anything repurposed in the last 90 days, moving down to the next best post instead.

Related templates

Build a credential rotation checklist when someone leaves

When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.

1Password
Rippling
Slack Bot
+1
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Replay failed SQS messages when a bug fix is merged

When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.

Amazon SQS
GitHub
Slack Bot
Agentic Task

Stop letting your best posts die after one week.

Mine your own top performers every Monday and queue fresh, network-specific drafts for approval in Sprout.