Daily Slack nudge for stalled Close deals

Every weekday at 8am, find Close opportunities that have gone quiet, draft a re-engagement message per deal, and post one prioritized Slack thread per rep.

Agentic Task
CloseSlack BotSalesNotifications & AlertsDaily Digests

Every weekday at 8am in my local timezone, sweep my Close pipeline for stalled deals and post a prioritized re-engagement digest to Slack, grouped by rep.

Build this as an agent workflow on a cron trigger.

What the agent should do on each run:

1. Use Close's List Opportunities to pull every opportunity in an active status (anything that is not a won or lost status). Paginate until you have them all. Treat the configured pipelines as a filter if I provide one, otherwise include every active pipeline.

2. For each opportunity, use Close's List All Activities to look at the most recent activity on its lead within the last 7 days. Count calls, emails, SMS, notes, and meetings. If anything touched the lead in that window, consider the deal fresh and skip it. To avoid double-nudging, also skip deals whose last activity was an outbound email sent in the last 48 hours.

3. The remaining opportunities are 'stalled'. For each stalled deal, capture: deal name, opportunity value, current pipeline status/stage, assigned rep (user_id), days since last touch, and a short snippet of the last meaningful activity (last email subject, last note, last call outcome) for context.

4. Group the stalled deals by assigned rep. Within each rep's list, rank deals by value multiplied by days_since_last_touch so the biggest at-risk opportunities are on top.

5. For each stalled deal, draft a short, specific re-engagement message the rep can copy, edit lightly, and send. Tailor the tone and suggested next step to the deal's current stage (early discovery vs. proposal sent vs. waiting on procurement, etc.) and the last known context. Keep each draft to a few sentences and end with one clear next step.

6. Post one Slack message per rep to a configurable Slack channel using Slack Bot's Send a Message. Each message should be a single post (so reps' lists stay grouped) that starts with the rep's name and a one-line summary ('You have N stalled deals today, $X total at risk'), then lists each deal as its own block with: deal name, value, days since last touch, current stage, the drafted re-engagement copy, and the suggested next step. Skip reps with zero stalled deals so the channel stays signal-heavy.

Configurable inputs I should be able to set when I install this:

- Stale threshold in days (default 7).

- Slack channel to post into (default #sales-pipeline).

- Optional pipeline filter (default: all active pipelines).

- Time of day and which weekdays to run (default Mon-Fri at 8am).

The point of this workflow is to give every rep a ranked 'deals that need you today' list with starter copy, not just an alert that something is stale. Optimize for the rep being able to act in under 5 minutes.

Additional information

What does this prompt do?
  • Sweeps your Close pipeline every weekday morning for active deals that nobody has touched in the last 7 days.
  • Groups the stalled deals by the rep who owns them and ranks each rep's list by deal value and days since last contact.
  • Drafts a short, ready-to-send re-engagement message for every deal, tailored to its stage and last known context.
  • Posts one Slack thread per rep in a channel of your choice so every seller starts the day with a prioritized 'deals that need you today' list.
What do I need to use this?
  • A Close account with API access (any paid plan).
  • A Slack workspace where you can install the General Input bot and a channel to post the daily nudge in.
  • An active Close pipeline with deals assigned to reps so the workflow has something to group by.
How can I customize it?
  • Change the cadence or time of day. Default is every weekday at 8am, but you can run it every morning, only on Mondays, or hourly.
  • Adjust the stale threshold. Default is 7 days of silence, but classic playbooks use 14, 30, or 45 days for longer sales cycles.
  • Switch the Slack destination. Post in a shared #sales-pipeline channel, DM each rep their own list, or fan out to separate channels per team.
  • Tune what counts as 'a touch'. By default any call, email, SMS, note, or meeting resets the clock, but you can ignore inbound replies or auto-emails.

Frequently asked questions

Will this nudge reps about deals they already followed up on yesterday?
No. The workflow checks every kind of activity logged in Close (calls, emails, SMS, notes, and meetings) within your stale window, so a deal only shows up after real silence. You can also tell it to ignore deals that received an outbound email in the last 48 hours.
Can I run this against only one pipeline or stage instead of my whole org?
Yes. When you build the workflow you can scope it to a specific Close pipeline, a list of stages, or a single rep. By default it covers every active (non-won, non-lost) opportunity.
Does it actually send the re-engagement emails for me?
No, this version only drafts the copy and posts it to Slack so reps can review and personalize before sending. If you want the agent to send through Close or Gmail too, you can extend the workflow.
How are deals prioritized inside each rep's Slack message?
Deals are ranked by value multiplied by how long they have been silent, so the biggest at-risk opportunities float to the top. You can swap in your own ranking, like deal stage or close date.
What if a rep has no stalled deals on a given day?
The workflow skips reps with a clean pipeline, so no one gets an empty 'all clear' ping. You can flip that on if your team wants daily confirmation either way.

Stop letting deals go quiet in Close.

Connect Close and Slack once, and Geni delivers a prioritized re-engagement list to every rep before their first coffee.