Weekly stale deal sweep in Brevo with Slack summary

By General Input

Every Monday at 9am, an agent sweeps your Brevo pipeline, nudges quiet deals with personalized emails, and posts a ranked Slack briefing for the week ahead.

Integrations

  • Brevo
  • Slack Bot

Type

Agentic Task

Categories

  • Sales
  • Operations

Build me an agent workflow that runs every Monday at 9am and sweeps my Brevo CRM for stale deals, then drafts re-engagement emails, logs them, and posts a ranked summary in Slack. The whole thing should feel like a smart sales ops assistant doing the boring part of pipeline hygiene for me.

Trigger: cron, every Monday at 9am in my local timezone.

Step 1. Use Brevo's List All Pipelines to fetch my CRM pipelines and identify the active mid-funnel stages (anything between the first qualified stage and the closing stages). Skip top-of-funnel and closed stages.

Step 2. Use Brevo's List Deals filtered to those mid-funnel stages, and keep only deals where the last update was more than 14 days ago. Treat 14 days as the default staleness threshold but make it easy for me to change.

Step 3. For each stale deal, call Brevo's Get Deal to pull the full record (value, owner, stage, last activity, linked notes) and Brevo's Get Contact for the primary linked contact so the agent has owner, value, stage, contact identity, and last-touch context.

Step 4. Classify each stale deal into one of three buckets:

Bucket A, soft nudge: deals where a warm, specific re-engagement email makes sense. Draft an email per deal that references the actual stage, value, and any context from linked notes (never a generic template), then send it with Brevo's Send Transactional Email from my verified sender address. For every email sent, immediately call Brevo's Create Note on that deal so the rep sees exactly what went out.

Bucket B, human follow-up: high-value deals (over a configurable threshold), deals with complex context in their notes, or deals owned by leadership. Do not email these. List them in the Slack summary as priorities for the rep this week.

Bucket C, close-loss candidate: deals showing no signal for a long time (e.g. no activity for 60+ days and no recent notes). Do not email. Flag for the rep to consider closing as lost.

Step 5. Post a single Slack message using the Slack Bot Send a Message action to my sales channel (let me pick which one during setup). The message should include: counts per bucket; the deals that got nudged with a one-line reason and a link/identifier to the deal; the high-priority deals that need a human this week, ranked by deal value; and the close-loss candidates. Keep it scannable, use Slack mrkdwn formatting, and order sections so the highest-priority human work is at the top.

Tone rules for the drafted emails: warm, specific to the deal, short (3-5 sentences), no greeting clichés, no fake urgency. Reference what was last discussed using the deal's linked notes where available. Sign as the deal owner, not as a system.

Make the staleness threshold (default 14 days), the close-loss threshold (default 60 days), the high-value threshold, the Slack channel, and the sender email easy for me to change without editing the prompt.

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