# Sequence cleanup: tag bounces and 'not me' replies, then find replacement contacts

Source: https://mcpforgtm.com/recipes/sequence-cleanup (StackMCP, independent directory of official MCP servers)

## Goal

SDRs who want bounced leads and 'wrong person' replies cleared out of a campaign, with a replacement contact found at each company instead of losing the account. Instantly can be swapped for lemlist or Smartlead, and Prospeo for Lusha or ZoomInfo.

## Connected tools

- Instantly: https://mcp.instantly.ai/mcp (setup: https://mcpforgtm.com/tools/instantly)
- Prospeo: https://mcp.prospeo.io (setup: https://mcpforgtm.com/tools/prospeo)

## Guardrails

- Don't change any lead until I approve the cleanup table.
- Quote the reply text for every 'wrong person' flag. Skip auto-replies.
- Search in Prospeo first. Enrich only the people I pick, and email only.
- Only use replacements on the same company domain as the original lead.
- Add replacements only after I approve them, and only to a paused campaign.

## Steps

1. In my Instantly campaign {campaign}, find leads that bounced and leads whose replies say they're the wrong person, have left the company, or point to someone else. Show me a table with the lead, company, reason and the reply line. Skip auto-replies. Don't change anything.
2. After I approve the table, add the label {label} to those leads and move them out of the campaign to the list {cleanup list}. Show me what you'll change first.
3. For each company on the list, search Prospeo for one replacement at the same domain: the person the reply named, or the closest match to {target title}. Show me name, title and why they match. Don't enrich yet.
4. Only after I approve, enrich the people I pick in Prospeo for email only. Then show me the payload to add them to the paused Instantly campaign {replacement campaign}, and add them only after I approve it.

## Expected output

Cleanup table and replacement contacts, waiting for approval. Example (all names fictional):

```
Campaign: Q4 Ops Leaders (Instantly)
312 leads checked. 14 need cleanup.

Bounced (6), proposed label: bounced
- s.whitlock@quarrylane.example, Quarry Lane Analytics (fictional)
- ...5 more

Wrong person (8), proposed label: not-me
- Dana Okafor, Larkspur Freightworks (fictional): "Dana left in August. Try our new ops lead."
- Priya Raman, Mossgate Labs (fictional): "Wrong person, I'm in finance."
- ...6 more

Proposed changes (none made yet):
- Add the label to all 14 and move them out of the campaign to the list 'Cleanup Oct'.

Replacement contacts from Prospeo (searched only, not enriched):
- Larkspur Freightworks: Alex Rivera, Head of Operations. Match: same title the reply pointed to.
- Mossgate Labs: Sam Okoro, Director of Operations. Match: ops title, same domain.
- 4 companies: no clear match. Skipped.

Enriching 2 emails will spend Prospeo credits. Reply 'enrich' to get the emails, then 'add' to put them in the paused campaign 'Q4 Ops Leaders: replacements'.
```

## Watch for

- Out-of-office replies read as 'left the company': Auto-replies often say 'no longer with' or 'on leave'. Quote the reply line for every 'wrong person' flag, and skip any reply that is an auto-reply with a return date.
- A replacement at the wrong company: Similar company names and old domains cause bad matches. Require the same company domain as the original lead, and skip the company if there is no exact match.
- A referral you already have: The reply may name a person who is already in another campaign. Check Instantly for the replacement's email before adding them, and skip duplicates.
- Spending credits on people you won't use: Prospeo charges per search page and per enrichment, and email plus mobile costs more than email only. Search first, review the list, then enrich email only for the people you pick.
