Early warning brief for your Sprout Social listening topics

By General Input

Every weekday at 8am, get a short Slack brief on which of your tracked social topics are heating up, why it is happening, and what people are actually saying.

Integrations

  • Sprout Social
  • Slack Bot
  • Linear

Type

Agentic Task

Categories

  • Marketing
  • Operations

Every weekday at 8am in my timezone, build an early warning brief on my Sprout Social listening topics and post it to Slack before the team starts the day. Use a cron trigger, because Sprout Social does not send outgoing webhooks and its data has to be queried.

Start by working out which topics to watch. Use the Sprout Social List Listening Topics operation to pull the topics configured on my account. Keep the working set bounded to about ten topics so we stay comfortably inside Sprout's limit of 60 requests per minute. If I have named specific topics in the workflow settings, use only those.

For each topic, run Query Listening Topic Metrics twice over two different date ranges: once for today, and once for the seven days ending yesterday. Sprout filters use field.operator(value) syntax and date ranges use .in(start...end) with ISO 8601 values, so this genuinely is two separate queries rather than one call. Listening topic metrics returns its full result set with no paging, so there is nothing to paginate. From the seven day window, compute a trailing daily average for message volume, and the average share of messages that are negative.

Compare today against the trailing average for each topic. Treat it as a spike when today's volume is at least 50 percent above the trailing daily average, or when the negative share of sentiment is at least 10 percentage points above its trailing average. Ignore movement on very low volume topics, under about 20 messages a day, because percentages swing wildly on small numbers and will produce false alarms.

When a topic is flagged, use Query Listening Topic Messages for that topic over today's range to pull the specific posts driving the change, favouring the negative ones and the ones with the most engagement. Read them and work out in plain language what is actually going on, for example a product outage, a pricing complaint, a viral joke, a news mention, or a competitor campaign. Do not just restate the numbers back to me.

Post a single Slack message to my social channel using the Slack Bot Send a Message operation. Give each moved topic one short section containing the direction of travel (volume and negative share, today versus the trailing seven day average, with the percentage change), one sentence of plain language explanation of the likely reason, and two or three representative quotes with links to the original posts. Use Slack mrkdwn formatting, so *bold* for topic names and <url|text> for links. When nothing unusual happened, keep the entire message to a couple of lines saying all topics are within their normal range, and resist padding it out.

Only when a topic crosses the negative spike threshold, meaning its negative share is at least 10 percentage points above the trailing average and also above 25 percent in absolute terms, open a Linear issue in the team that owns social so the response is tracked rather than lost in the channel. Before creating anything, use Linear's List Issues or Search Issues to look for an issue that is still open for the same topic. Title issues with a consistent convention such as "Social listening spike: <topic name>" so they stay findable. If an open issue already exists for that topic, do not create a second one, and instead note in that topic's Slack section that an existing issue is already tracking it.

Give each Linear issue a description containing the numbers, the likely reason, and links to the driving posts, and set priority to high when the negative share is above 40 percent, otherwise normal. Link the new issue in the Slack section so the team can jump straight to it.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them