Revive deals that went cold
Deals lost more than 90 days ago come back with fresh signals, contacts checked for job moves, and the features they asked for that have since shipped.
- Starts
- Monthly schedule
- Steps
- 6
- Checks and gates
- 0
- A person decides
- Never, runs alone
Trigger · Schedule
Monthly schedule
The run goes over closed-lost deals once a month, slow enough that no account is approached twice in a quarter.
Claude runs the rest autonomously
- 1
AI lists deals lost over 90 days ago.
AttioAttio
Every deal closed lost more than ninety days back is listed, minus live competitor contracts, opt-outs and accounts with something open.
- 2
AI finds what changed at each company.
ApifyApify
Each company comes back with what has happened since the loss, every item carrying a date and a source.
- 3
AI confirms who is still there.
LinkedInLinkedIn
Each person on the deal is confirmed as still there or gone, with the replacement in the same role named where they have left.
- 4
AI spots what has shipped since.
LinearLinear
Any capability a deal was lost over that has since been released is found, matched on substance rather than on the buyer's wording.
- 5
AI picks the deals worth reopening.
Only deals whose loss reason is answered by a new signal, a contact change or something shipped stay in, and the rest are dropped.
- 6
AI drafts emails, posts the batch.
GmailGmail
Each account gets one short draft saying what happened, what changed and one question, held for the account owner to approve.
SlackSlack
Closed-lost is where deals go to be forgotten. The reason for losing gets typed into a dropdown, the thread stops, and eighteen months later nobody remembers that the only blocker was a budget cycle that has since turned over twice, or a feature that shipped last spring. Re-reading them is a job that would take a rep a full day and produce maybe four emails worth sending, so it never gets to the top of anyone's list.
Everything needed to revive a closed-lost deal is already written down, in four different places. The CRM holds the loss reason, the public record holds what has happened at the company since, the profiles hold who is still there, and the issue tracker holds what you have since built. The expensive part is reading every deal history against four systems to find the few worth reopening, and that reading is what an AI agent does here once a month.
What you get
A monthly win-back list where every deal carries what has changed since it was lost, including anything the buyer asked for that now exists, and a draft written from that.
Which closed-lost deals are in scope
The run lists the deals in Attio marked lost more than 90 days ago. Ninety days is the floor: inside it the reason for losing is almost always still true, and the email reads as not having listened. Twenty-four months is the ceiling, since past that the people involved have moved on and the message is a cold email wearing a follow-up's clothes. Three kinds of deal are excluded outright: those lost to a competitor on a multi-year contract that has not yet expired, anyone who asked not to be contacted again, and accounts with an open opportunity right now.
Why the closed-lost reason field is not enough
The closed-lost reason field is treated as a hint. It is a dropdown chosen at the end of a bad week, and almost everything lands on "price". The notes, logged calls and email thread underneath tell a different story often enough to change the email entirely, since "price" often turns out to mean no budget this year, or a security review that never got through. "I know price was an issue" is a template. "I know the security review stalled in October" proves somebody read the history.
Each deal is classified into one of four reasons, with the evidence recorded: timing or budget, a missing capability named precisely, lost to a competitor, or no decision. The precision is what the later steps rely on. "Lost on features" cannot be matched against anything. "Lost because there was no audit trail" can be searched against every issue closed since, and when that search comes back with a release date the win-back has a subject.
What changed since the deal was lost
Three things are checked for each account, every item with a date.
- The company. Apify looks for hiring, especially in the function you sell into, along with funding, an acquisition, a new office or market, and leadership changes in or above the buying role. The source URL is kept for anything the email will reference, because a win-back that cites something the reader can check is a different message from one that gestures at momentum.
- The people. Each contact is checked against their LinkedIn profile. Someone still there gets the email. Someone gone, with a replacement findable in the same role, is replaced as the recipient, and the opener never references a conversation the new person was not part of. Someone who moved to a company already in your CRM is flagged separately as a warm introduction there, which is frequently worth more than the win-back itself.
- The product. For every deal lost over a missing capability, Linear is searched for what has been released since the deal closed, matched on substance rather than wording. A buyer who wanted "a way to see who changed what" and a shipped issue titled "audit log" are the same thing.
The release date matters as much as the match. A capability that shipped last week is news. One that shipped fourteen months ago is an admission that nobody told them at the time, and the email is better for saying so plainly than for presenting a year-old release as though it just happened.
Picking the deals worth reopening
With the loss reason, the fresh signals, the contact situation and anything shipped side by side, a deal is worth reopening when one of them answers the loss reason:
- lost on a missing capability, and that capability now exists
- lost on timing or budget, and there is a funding round, a new fiscal year or a new person in the buying role
- lost to a competitor, and their contract is near its renewal window
- went quiet, and the person who went quiet has been replaced
Where nothing answers the loss reason, the deal is dropped and counted. The instinct is to write to everyone, because the list is right there and the drafting is free. These are accounts that already said no once, though, and a second contact with no new information is how a domain's reputation gets spent. Counting the drops rather than hiding them keeps that visible.
Each deal that stays gets one draft in Gmail: what happened, roughly when, what changed, and one question. If a capability shipped, the email says what it does. Nothing is sent. The batch goes to Slack with how many deals were in scope, how many were dropped and why, and the drafts grouped by loss reason, so each account owner can scan their own.
The prompt
The real prompt behind the steps above, detailed enough that an agent with the same tools can run it as written. The Run buttons copy the full version, which also carries the steps for connecting those tools.
# Revive deals that went cold
You have access to a CRM, a scraping tool, a professional network, an
issue tracker, email, and a messaging tool. Run this monthly across
**[deals marked lost more than 90 days ago]**.
## 1. List deals lost more than 90 days ago
Ninety days is the floor. Inside it the reason for losing is almost
always still true, and the email reads as not having listened.
Put a ceiling at twenty-four months as well. Past that the people
involved have moved on and this is a cold email wearing a follow-up's
clothes.
Exclude outright:
- Deals lost to a competitor on a multi-year contract that has not yet
expired. Check the term if it was recorded.
- Anyone who asked not to be contacted again.
- Accounts with an open opportunity right now.
## 2. Establish why each one was lost
Read the deal's full history: notes, logged calls, the email thread,
and the closed-lost reason field. The field alone will not do. It is a
dropdown someone picked under time pressure, and "price" often turns
out to mean "no budget this year" or "could not get the security
review through".
Classify each into one of four, and record the evidence you used:
- Timing or budget.
- A missing capability, with the specific capability named. Step 5
depends on this being precise.
- Lost to a competitor.
- No decision, went quiet.
## 3. Find what changed at each company
Look for what has happened at the company since the loss, with a date
on each item:
- Hiring, especially for the function you sell into. A posting is
dated, public, and someone at that company approved it.
- Funding, acquisition, a new office, a new market.
- Leadership changes in or above the buying role.
Keep the source URL for anything you plan to reference. A win-back
that cites something the reader can go and check is a different
message from one that gestures at momentum.
## 4. Confirm who is still there
Verify each contact against their public profile before writing
anything. Three outcomes matter:
- Still there. Write to them.
- Gone, with a replacement findable in the same role. Write to the
replacement, and never open by referencing a conversation they were
not part of.
- Gone to a company already in your CRM. That is a warm introduction
at the new account, which is frequently worth more than the win-back
itself. Flag it separately.
## 5. Spot what has shipped since
For every deal lost over a missing capability, search the issue
tracker for what has been released since that deal closed.
Match on the substance of what they asked for, not on their wording. A
buyer who wanted "a way to see who changed what" and a shipped issue
titled "audit log" are the same thing, and a literal match will miss
it.
Record the release date. A capability that shipped last week is a
reason to write today; one that shipped fourteen months ago raises the
question of why nobody told them at the time, and the email should
acknowledge that rather than pretend it is news.
## 6. Pick the deals worth reopening
Now put the four inputs side by side for each account: the original
loss reason, the fresh signals, the contact situation, and anything
that has since shipped.
A deal is worth reopening when the loss reason has been answered by
one of the others:
- Lost on a missing capability, and that capability now exists.
- Lost on timing or budget, and there is a funding round, a new fiscal
year, or a new person in the buying role.
- Lost to a competitor, and their contract is near its renewal window.
- Went quiet, and the person who went quiet has been replaced.
Where nothing answers the loss reason, drop the deal and count it. A
win-back with nothing new to say is how a sender gets marked as spam,
and these accounts already said no once.
## 7. Draft emails, post the batch for review
One email per account: what happened, what changed, one question.
Reference the original conversation specifically, including roughly
when it was. Name the change plainly. If a capability shipped, say
what it does rather than promising "exciting updates".
Draft it, do not send it. Then post to the team channel: how many
deals were in scope, how many were dropped and why, and the drafts
grouped by loss reason so whoever owns the account can scan their own.
## Output
Report: deals in scope, dropped by exclusion rule, dropped for nothing
having answered the loss reason, contacts that had left, champions
found at accounts you already hold, capabilities matched to shipped
work, and drafts written.
Why run it with Tulina
A prompt helps one person. A process moves a team.
Pasted into a chat, the prompt above works once, for whoever pasted it. In Tulina, "Revive deals that went cold" becomes a process the team shares, that keeps its history, runs on its own, and stays inside the same security perimeter as the tools it calls.
The whole team works on the same one
PersonalTeamOrganisation
A process lives where it belongs: yours, your team's or the whole organisation's. Whoever runs it can improve it, and everyone starts from the best version instead of explaining the job again.
Every edit is a version
v1v2v3
Each change is a new version with the previous one kept, so a bad edit is undone by restoring an earlier one. Every run records the version it followed, and what a run teaches goes back into the process.
It runs without you
schedulewebhookon demand
A hosted agent runs the process on Tulina's own infrastructure, on a schedule or when an event arrives, and keeps going when you close the chat. Nothing to host. Every run is tracked to its outcome.
Inside the same security perimeter
vaultrolesrun log
Credentials stay in the vault, never in the prompt. Roles decide who may run what, every call is logged, and a step a person has to approve waits for that person.
Questions about reviving closed-lost deals
Related processes
Processes that share tools with this one. The shared tools are lit.
Score deals as they arrive
A new opportunity gets scored against your portfolio and every past evaluation, with a first-pass memo drafted and attached to it before the partner meeting.
- Shares
- Attio
New opportunity in the CRM5 steps →
Prepare for a customer call
Before the call, the last conversations, the account's state, how the product is actually used, and where requested features stand, in one brief.
- Shares
- Attio, Linear, Slack
Customer meeting on the calendar5 steps →
Follow champions who change jobs
Each week, champions at won accounts are checked for a new employer, the new company is scored on your ICP, and a warm deal opens with a note for the right rep.
- Shares
- LinkedIn, Gmail
Weekly schedule7 steps →