Daily sales pipeline digest in Slack

Every weekday at 8am ET, post a consistent sales pipeline summary to your revenue channel with stage moves, stale deals, top deals, and overdue tasks.

Deterministic Code
General Input CRMSlack BotSalesOperationsDaily DigestsNotifications & Alerts
PromptCreate

Build a deterministic, code-based workflow that posts a morning sales pipeline digest to a Slack channel every weekday at 8am ET. The flow is fixed nodes only: list, group/filter, format, post. No AI summarization, no judgement calls. The value is the same metrics in the same place every day.

Trigger: cron, Monday through Friday at 08:00 America/New_York.

Step 1. Call general-input-crm "List Pipelines" and pick the active sales pipeline. Default to the pipeline named "Sales" if it exists, otherwise the first pipeline returned. Expose the pipeline id as a configurable input so the user can override it.

Step 2. Call general-input-crm "Get Pipeline Board" for that pipeline id to pull every open card with its stage, owner, value, updatedAt, and most recent touchpoint timestamp.

Step 3. Bucket the cards into three sections in code:

(1) Stage moves in the last 24 hours: any card whose current stage was entered within the last 24 hours. Show card name, owner, from-stage to to-stage, and value.

(2) Stale deals: open cards with value greater than a configurable threshold (default $5,000) that have had no stage change and no touchpoint or update in 7 or more days. Sort by days-since-activity descending. Cap at 10 rows.

(3) Top 5 deals by value still in late stages: the 5 highest-value open cards whose current stage is in a configurable late-stage list (default: any stage whose name contains "negotiation", "contract", or "closing"). Show card name, owner, stage, and value.

Step 4. Call general-input-crm "List Tasks" with status=open. Filter to tasks whose due date is before today, then group by owner. For each owner with one or more overdue tasks, render: owner name, count, and the 3 most overdue task titles.

Step 5. Assemble a Slack Block Kit message with a header ("Morning pipeline, {weekday date}"), one section per bucket above with a clear heading, an overdue-tasks section, and a divider between sections. Use mrkdwn, not standard Markdown, in text fields. If a section is empty, render a short "No items" line rather than dropping the section, so the structure is identical every day.

Step 6. Call slackbot "Send a Message" to a configurable channel (default #revenue) with the block-kit payload. Make the channel a workflow input so the user can change it without editing the workflow.

Inputs to expose on the workflow: pipelineId (optional override), staleDealThresholdUsd (default 5000), staleDealDays (default 7), lateStageKeywords (default ["negotiation", "contract", "closing"]), slackChannel (default #revenue), runTime (default weekdays 08:00 America/New_York).

Constraints: deterministic only. Do not call any LLM-summarization step. Do not invent operations. The only integrations used are general-input-crm (List Pipelines, Get Pipeline Board, List Tasks) and slackbot (Send a Message).

Additional information

What does this prompt do?
  • Posts a fixed-format morning pipeline summary to your sales Slack channel every weekday at 8am ET.
  • Shows three sections leaders care about: deals that moved stages in the last day, deals stuck with no activity for a week, and the top open deals by value in late stages.
  • Rolls up every open task that is past due and groups them by owner so nothing slips.
  • Runs on the clock, with the same metrics in the same place every day, so the team knows where to look.
What do I need to use this?
  • A General Input workspace with the built-in CRM turned on and at least one active sales pipeline.
  • A Slack workspace and permission to add the General Input bot to your revenue channel.
  • A dollar threshold for what counts as a stale deal (for example, deals over five thousand dollars with no update in seven days).
How can I customize it?
  • Change the schedule (different time of day, weekends included, monthly cadence) or the destination channel.
  • Tune the stale-deal rules (the dollar threshold, the number of days without activity, which stages to include).
  • Swap which sections appear or add new ones, like new deals created yesterday or deals by owner.

FAQs

Does this use AI to summarize the pipeline?
No. This workflow is deliberately deterministic. It pulls the same data and formats it the same way every morning, so the team sees consistent numbers in a predictable place. The value is reliability, not commentary.
Can I send it to multiple Slack channels?
Yes. After the workflow is generated you can duplicate the posting step to send the same digest to several channels, or fork it for different teams with different filters.
What if my pipeline does not have a dollar value on every card?
Cards without a value are simply skipped in the top deals and stale deals sections. The stage-moves and overdue tasks sections do not depend on dollar amounts and will still work.
How does it know which deals are stale?
A deal counts as stale if it is still open, above the dollar threshold you set, and has had no stage change or touchpoint in the number of days you choose, seven by default.
What time zone does the schedule run in?
Eastern Time by default. You can change the schedule to any time zone when the workflow is generated, or shift it to a different hour for your team.

Related templates

Reconcile Stripe payouts against your Mercury deposits

Every weekday morning, check that every Stripe payout actually landed in your Mercury account, and hear about it only when one did not.

Stripe
Mercury
Slack Bot
Agentic Task
Catch social posts stuck in approval before they miss their slot

Every weekday morning, get a Slack digest of the social posts still waiting on sign-off, with the ones about to go live flagged first.

Hootsuite
Slack Bot
Agentic Task
Turn last week's support tickets into a Miro affinity map

Every Monday morning, last week's support tickets become a themed Miro board, so your product team can see what customers actually complain about.

Zendesk
Miro
Slack Bot
Agentic Task
Chase unsigned contracts and nudge stalled signers daily

Every weekday we find the contracts still waiting on a signature, resend the ones going stale, and post a prioritized chase list to Slack.

Documenso
Gmail
Slack Bot
Agentic Task
Turn today's Miro boards into written Notion summaries

Every weekday at 6pm, any board your team edited today becomes a readable Notion write up, so the people who missed the session can catch up.

Miro
Notion
Slack Bot
Agentic Task
Log signed Documenso contracts as closed won in HubSpot

When a contract is fully signed, we read the agreed terms, move the matching HubSpot deal to closed won, and post a deal desk summary to Slack.

Documenso
HubSpot
Slack Bot
Agentic Task

Stop chasing the same pipeline questions every morning.

Connect the General Input CRM and Slack once, and Geni posts a clean pipeline digest to your revenue channel every weekday at 8am.