Forecast reality check: flag Commit and Best Case deals with no recent activity

Salesforce + Gong + Slack

Who it's for

Sales leaders and RevOps who want to know which Commit and Best Case deals have gone quiet before the forecast call, without editing anyone's records. Salesforce can be swapped for HubSpot, Attio or Pipedrive, and Gong for Outreach or Fireflies.

What you get

Slack message to the leader, drafted for your approval. Sample output: every company and person in it is fictional.

To: @dana (Dana Okafor, fictional)

Forecast reality check for Thursday. 5 of 23 Commit and Best Case deals have no meeting, email or call in 21 days.

Commit (2 deals, $118K)
- Fernhill Software (fictional), $72K, closes Oct 31, owner Alex Rivera. Last touch: email, 26 days ago. Ask: is the signer still engaged?
- Larkspur Freightworks (fictional), $46K, closes Nov 14, owner Sam Whitlock. Last touch: meeting, 34 days ago. Ask: what is the next scheduled step?

Best Case (3 deals, $91K)
- Mossgate Labs (fictional), $40K, closes Nov 28, owner Priya Raman. No activity found in Salesforce or Gong.
- Quarry Lane Analytics (fictional), $33K, closes Dec 5, owner Alex Rivera. Last touch: call, 23 days ago.
- Brightwater Dental Group (fictional), $18K, closes Dec 12, owner Sam Whitlock. Last touch: email, 29 days ago.

Not flagged: 2 deals with no Salesforce activity, but Gong shows a call in the last 21 days.
Gong couldn't match 1 deal (Mossgate Labs).
No Salesforce records were changed.

---
Reply 'send' to post this to Dana, or tell me what to change.

Time and cost

Estimate About 15–20 minutes, most of it checking the flagged deals.

Assumptions: One run before a weekly forecast call, over about 25 Commit and Best Case opportunities, with about 7 flagged.

Exact credit costs depend on your plan with each vendor. Check the tool pages before a large run.

MCP servers

Every server is confirmed in: Claude

Set up in a chat app

Every server in this recipe is confirmed for Claude. Connect each one, then paste the prompts below into one conversation.

Developer setup

Auth setup and mcp.json for Claude Code and Cursor
  • Salesforce: Sign in with OAuth in your client (run /mcp in Claude Code). Do it once interactively, and the client stores and refreshes the token.
  • Gong: Sign in with OAuth in your client (run /mcp in Claude Code). Do it once interactively, and the client stores and refreshes the token.
  • Slack: Sign in with OAuth in your client (run /mcp in Claude Code). Do it once interactively, and the client stores and refreshes the token.

Put this in .mcp.json (Claude Code, project root) or ~/.cursor/mcp.json (Cursor). Swap the example keys for your own, and don't commit real ones. Remove the // comment lines if your client requires strict JSON.

{
  "mcpServers": {
    "salesforce": {
      "url": "https://api.salesforce.com/platform/mcp/v1/platform/sobject-all"
    },
    "gong": {
      "url": "https://mcp.gong.io/mcp"
    },
    "slack": {
      "url": "https://mcp.slack.com/mcp"
    }
  }
}

Step-by-step prompts

  1. Look at the Opportunity schema in Salesforce and tell me which field holds the forecast category and which fields show the last activity. Then use SOQL to find open opportunities closing by {period_end} where {forecast_category_field} is Commit or Best Case. Show me name, account, owner, amount, close date, stage and category. Don't change any records.
  2. Query the tasks and events from the last 21 days linked to each of those opportunities or their accounts, including logged calls, emails and meetings. Show me a table with the last activity date, type and subject for each opportunity, and flag every one with none.
  3. For each flagged opportunity, use Gong ask_deal once to ask when the last call or email with the buyer happened. Move any deal where Gong shows contact in the last 21 days to a separate list. Say when Gong can't find the deal.
  4. Draft one Slack direct message to {leader} with the flagged deals grouped by forecast category: account, amount, close date, owner, days since last touch, and one question to ask on the forecast call. Add the totals at risk. Show me the draft.
  5. Look up {leader} in Slack by email, and send the message only after I approve it. Don't change anything in Salesforce.

Run it on a schedule (optional)

Where this goes wrong

Gotchas

Download

Get the prompts, guardrails and expected output as one Markdown file. Paste it into a Claude Project or ChatGPT project's instructions, or save it as CLAUDE.md for Claude Code.

Download forecast-reality-check.md

Vendor sites: Slack. If we join an affiliate program, these links will be labeled as affiliate links.