# Nominate closed-won customers for case studies every morning

> Every weekday at 8am ET, spot brand-new customers with no story on file yet and post case-study candidates to your customer marketing channel.

- Workflow type: agent
- Services: Salesforce, Peerbound, Slack Bot
- Categories: Marketing, Sales
- Published: 2026-07-02

## What it does

- Sweeps Salesforce every weekday morning for opportunities that flipped to Closed Won in the last 24 hours.
- For each fresh customer, checks Peerbound to see whether you already have a customer story or captured moments on file.
- Drafts a short interview brief for the ones with no story yet, including the angle to lead with and two or three suggested interview questions grounded in the deal.
- Files a Salesforce task on the account for the customer marketing team and posts a consolidated Slack digest with one card per candidate.

## What you'll need

- A Salesforce login with permission to read opportunities and accounts and create tasks.
- A Peerbound account with API access enabled (organization admin can create the key).
- A Slack workspace where the workflow can post into your customer marketing channel.

## Prompt

Build an agent workflow that runs every weekday at 8am America/New_York on a cron trigger. The job: find brand-new customers in Salesforce that closed in the last 24 hours, check whether we already have a customer story on file in Peerbound, and if not, nominate them as a case-study candidate for the customer marketing team.

Step 1. Use Salesforce Get Many Opportunities with a SOQL filter to pull opportunities where StageName = 'Closed Won' and CloseDate is within the last 24 hours. Compute the window with ISO 8601 timestamp math against 'now' rather than a hard-coded date. Select the fields you will need downstream: Id, Name, AccountId, Amount, CloseDate, Owner, and any custom fields on the opportunity that describe competitor-displaced or win notes.

Step 2. For each opportunity, call Salesforce Get Account on AccountId to gather context: Industry, annual revenue / ARR, employee count or size band, and any competitor-displaced field on the account.

Step 3. For each account, call Peerbound List Stories and Peerbound List Moments filtered by the account's Salesforce ID. IMPORTANT: Peerbound resources embed a salesforce_id on their account reference. Join on that ID directly. Do NOT string-match account names, and do not try to match by domain. If the account has any approved story on file, skip that customer and note the skip so it appears in the digest.

Step 4. For every account that has no story yet, treat it as a case-study candidate and have the agent judge fit. Fit signals to weigh: deal size above a threshold (default $25k ACV, make this easy to change), win-notes text hinting at a strong narrative (competitor displacement, quantified outcomes, quick time-to-value, exec sponsorship), and any early Peerbound moments already captured for the account that suggest advocacy.

Step 5. For each candidate that clears the bar, draft a short interview brief in plain English. Include: (a) a one-paragraph 'why this customer is a good candidate' summary grounded in what Salesforce already knows, (b) the angle to lead with (competitor swap, ROI story, fast implementation, etc.), and (c) two or three suggested interview questions tailored to the deal, not generic. Any Peerbound moments already on the account should be referenced as starting material.

Step 6. Create a Salesforce Task on the customer's Account (WhatId = AccountId) using Salesforce Create Task. Subject: 'Case study candidate: {Account.Name}'. Description: the interview brief from step 5. Assign it to the customer marketing team (make the owner ID configurable at the top of the workflow).

Step 7. Post a single consolidated digest to the customer-marketing Slack channel using Slack Bot Send a Message. One card per candidate. Each card includes: customer name, industry, ARR band, deal size, the interview angle, and a link back to the Salesforce opportunity. At the bottom of the digest, list any accounts that were skipped because they already had an approved Peerbound story so nobody double-nominates. If there are zero closed-won deals in the window, do not post anything (silence is fine).

Configuration knobs to expose at the top of the workflow: cron time and timezone, Slack channel ID, deal size threshold for fit, Salesforce task owner ID for the customer marketing team, and the lookback window (default 24 hours).

## How to customize

- Change the time or cadence, for example 9am ET or Monday and Thursday only.
- Adjust the deal size threshold and other fit criteria the agent uses to judge case-study worthiness.
- Swap the Slack channel, tweak the interview questions the brief suggests, or reassign the Salesforce task owner.

## FAQ

### How does it know which customers already have a story?

Peerbound stamps a Salesforce account ID onto its stories and moments. The workflow joins on that ID rather than matching account names, so renames and near-duplicates do not cause double nominations.

### What happens if a customer already has an approved Peerbound story?

The workflow skips them and notes it in the digest so nobody re-pitches a customer who already has one. Only accounts with no approved story on file become nomination candidates.

### Can I use HubSpot instead of Salesforce?

This prompt is written for Salesforce. If your CRM is HubSpot, take a look at our HubSpot-anchored Peerbound workflows or ask the author to adapt this one for HubSpot deals and companies.

### Who gets the Salesforce task?

By default the workflow assigns the task to your customer marketing team on the customer's account. You can point it at a specific user, a queue, or the account owner instead.

### What if we close ten deals in one day?

You still get a single Slack digest with a card for each candidate, linking back to the Salesforce opportunity so the marketing team can triage in one place.

Use this prompt in General Input: https://www.generalinput.com/prompts/nominate-closed-won-customers-for-case-studies-every-morning