How to clean up stale deals in your pipeline as Property Management Founders

Sales & CRMFor Property Management Founders3 apps12 steps~24 min to set up

You're managing 200–400 residential doors and your deal pipeline for new owner acquisitions lives in a spreadsheet, a notes app, or nowhere at all. You met a property owner at a BOMA event six weeks ago, followed up twice, then got buried in lease renewals and maintenance escalations. Now you can't remember whether they own one fourplex or three, whether they want full-service or leasing-only, or when you last actually spoke. Meanwhile, 30% of your active prospects have had no contact in 45+ days and you have no system that tells you that until you're manually scrolling rows. AppFolio and Buildium track tenants and units — they don't track owners you haven't signed yet.

Sales & CRMFor Property Management Founders3 apps12 steps~24 min to set up
Outcome

What you'll set up

A CRM built around how property managers actually sell — tracking door count, property type (SFR vs. multifamily), management fee structure, owner decision timeline, and last contact date — not a generic B2B deal stage someone else designed
Automated stale-deal alerts that surface any owner prospect you haven't touched in 21 days, with a draft follow-up email ready to send and a one-line summary of where the conversation left off
A weekly pipeline review that tells you which deals to work this week, which to deprioritize, and which to close out — pulled from your Gmail thread history and your CRM data, no manual reporting required
The Starch recipe

Apps, data, and prompts

The combination of Starch apps, the data sources they pull from, and the prompts you use to drive them.

Data sources & config

The CRM app is built from scratch using natural-language authoring — no template required, though the live CRM starter app is a useful starting point to fork. Starch syncs your Gmail data on a schedule so email thread history flows into deal records automatically; connect Gmail from Starch's scheduled-sync integration. Your AppFolio or Buildium portal (to cross-reference which prospects have already signed) is reached through browser automation — no API needed. The Email Agent connects to Gmail via scheduled sync. Task Manager handles follow-up reminders and weekly pipeline review triggers on a Monday morning schedule.

Prompts to copy
Build me a CRM for tracking owner acquisition deals. Each deal should have: owner name, contact phone and email, number of doors they own, property types (SFR, duplex, small multifamily), the markets they're in, management fee we quoted, services scope (full-service vs. leasing-only), deal stage (Initial Contact, Proposal Sent, Negotiating, Closed Won, Closed Lost, Nurture), last contact date, and notes from our conversations. I want to be able to ask 'which owners haven't I spoken to in more than 21 days' and get a live answer.
Triage my inbox each morning and flag any emails from owner prospects in my CRM. For each one, summarize the thread in two sentences, show me the last three touchpoints from my CRM notes, and draft a reply I can send with one click. Also set a follow-up reminder for any prospect email I haven't replied to within 48 hours.
Every Monday at 8am, show me a list of all deals in my pipeline sorted by days since last contact. Highlight anything over 21 days in red. For each stale deal, pull the owner's door count and the management fee we quoted so I can prioritize which ones are worth a phone call this week.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Start from the live CRM app in the Starch App Store and fork it. Describe your deal schema in plain language: owner name, door count, property types, markets, fee quoted, scope of service, deal stage, last contact date, and notes field.
2 Connect Gmail from Starch's scheduled-sync integration. Starch will pull your email thread history and match incoming and outgoing messages to owner records by email address, so last-contact dates update automatically.
3 Import your existing prospect list — whether it's a spreadsheet from a BOMA event, a contact export from your phone, or a CSV you've been maintaining in Google Sheets. Connect Google Sheets from Starch's integration catalog; the agent queries it live to do the import.
4 For any prospects you're currently tracking in AppFolio or Buildium as prospective owners (not yet clients), use browser automation to pull their contact records and existing portfolio data into your CRM. Describe to Starch: 'Log into AppFolio and pull any contact tagged as Prospective Owner, then add them to my CRM if they're not already there.'
5 Set your stale-deal threshold. Tell Starch: 'Flag any deal where last_contact_date is more than 21 days ago and deal stage is not Closed Won or Closed Lost.' This becomes a saved filter view on your CRM.
6 Wire the Email Agent to your Gmail sync. Tell it: 'Each morning, identify emails from contacts who appear in my CRM as active prospects. For each one, summarize the thread, show me the last two notes I logged, and draft a reply.' The agent uses your Gmail scheduled sync and your CRM data together.
7 Build the Monday morning pipeline review automation. Tell Starch: 'Every Monday at 8am, pull all deals from my CRM sorted by days since last contact. For any deal over 21 days, include the owner's door count and quoted management fee in the output. Send me the list as a Slack message.' Connect Slack from Starch's scheduled-sync integration.
8 Set follow-up task creation for stale deals. Tell Task Manager: 'When a deal in my CRM crosses 21 days since last contact, create a P2 task with the owner's name, their door count, and a due date of this Friday.' This keeps the follow-up in your weekly task list, not buried in a spreadsheet.
9 For deals where the owner went quiet after a proposal, use the Email Agent to draft a re-engagement sequence. Tell it: 'Draft a two-email follow-up sequence for owner prospects in Proposal Sent stage who haven't replied in 30 days. Reference the fee we quoted and the property type in each email.'
10 Close out dead deals properly. At the end of each month, ask your CRM: 'Show me all deals in Initial Contact or Proposal Sent stage with no activity in 60 days.' Review the list, update deal stages to Closed Lost or Nurture, and log a reason. This keeps your active pipeline count honest.
11 Use the CRM's LinkedIn enrichment to keep owner profiles current — particularly useful when an owner you pitched six months ago suddenly lists new properties on LoopNet or MLS. Tell Starch: 'When a deal is in Nurture stage, check the owner's LinkedIn profile monthly and flag any job title or company changes.' Starch automates this through your browser — no API needed.
12 Each quarter, ask your CRM: 'What is my average time from Initial Contact to Closed Won for deals over 50 doors, versus deals under 50 doors?' Use this to decide where to spend prospecting time and whether your follow-up cadence is working.

See this running on Starch

Connect your tools, describe what you want, and the agent builds it. Closed beta is free.

Try it on Starch →
Worked example

Stale Pipeline Cleanup — April 2026 Review, 280-Door Firm

Sample numbers from a real run
Active deals in CRM (before cleanup)34
Deals with no contact in 21+ days14
Deals with no contact in 60+ days (effectively dead)6
Total management fee potential from stale deals18,400
Monthly management fee recovered after follow-up (2 deals closed)3,200

Marcus runs a 280-door residential PM firm in Phoenix and has been tracking owner prospects in a Google Sheet since 2023. In April 2026 he forks the Starch CRM, describes his schema, and imports 34 active deals. Within the first Monday report, Starch surfaces 14 deals with zero contact in 21+ days — 6 of those haven't had any activity in over 60 days. Of the 14, Marcus identifies 4 where he quoted management fees between $280 and $420/month for owners with 8–18 doors each: meaningful revenue he'd mentally written off. The Email Agent drafts re-engagement emails for each, referencing the original quote and the property address from his notes. Two owners reply within the week; one signs a full-service agreement for a 12-unit multifamily ($420/mo) and one signs a leasing-only agreement for 3 SFRs ($180/mo combined). The 6 truly dead deals get moved to Closed Lost with a logged reason ('owner decided to self-manage'). His active pipeline drops from 34 to 28, but now reflects deals he's actually working — and his Monday reports stop showing him the same 6 ghost contacts every week.

Measurement

How you'll know it's working

Days since last owner contact, by deal stage — tracked per deal in CRM
Pipeline value by door count (total doors under management in prospect pipeline vs. signed)
Proposal-to-close conversion rate, tracked monthly across full-service vs. leasing-only scope
Average time from Initial Contact to signed management agreement, by property type (SFR vs. small multifamily)
Monthly management fee added from reactivated stale deals
Comparison

What this replaces

The other ways teams handle this today, and how the Starch version compares.

Google Sheets + manual review
Free and familiar but you have to remember to look at it — there's no system that surfaces stale deals automatically or pulls in email thread history without manual copy-paste.
HubSpot CRM (free tier)
Good contact management but the deal schema is built for SaaS sales, not door-count and management-fee-based PM deals; you'll spend more time configuring it than using it, and the free tier doesn't give you custom automations.
AppFolio or Buildium prospect tracking
These systems track active tenants and units well but are not designed for pre-signature owner prospecting — deal stages, follow-up cadences, and proposal tracking simply aren't their use case.
Salesforce or Pipedrive
Both are reachable from Starch's integration catalog if you're already paying for them, but they require admin setup time and an ongoing seat cost that most sub-500-door PM firms don't want to justify for a 30-deal pipeline.
On Starch RECOMMENDED

One platform — crm, email agent, task manager all running on connected data. Setup in plain English; numbers stay current via scheduled syncs and live agent queries.

Try it on Starch →
FAQ

Frequently asked questions

My prospect data is split between a Google Sheet, my phone contacts, and AppFolio. Can Starch pull from all three?
Yes. Connect Google Sheets from Starch's integration catalog — the agent queries it live to do the import. For your AppFolio contacts, Starch automates the pull through your browser — no API needed. Phone contacts can be exported as a CSV and imported directly. You describe the mapping once; Starch handles the merge.
Will this work if I use Buildium instead of AppFolio?
Yes. Starch automates Buildium through your browser — no API or formal connector required. If you can log in and click through it, Starch can pull data from it.
I don't want to rebuild my whole contact list. Can I just flag the stale deals in my existing spreadsheet?
You can start there. Tell Starch: 'Connect to my Google Sheet of owner prospects, find any row where Last Contact is more than 21 days ago, and list them with their door count and deal stage.' You don't have to migrate everything on day one — Starch queries your Sheet live.
Is my deal data stored securely? What certifications does Starch have?
Starch is not SOC 2 Type II certified today — that's worth knowing if your firm has compliance requirements. There's also no on-premises or self-hosted option. For most sub-500-door PM firms this isn't a blocker, but it's worth asking your owner clients if they have data handling requirements before you store sensitive financial discussions in the platform.
Can Starch track the management fee I quoted in each proposal and calculate my total pipeline value?
Yes. When you describe your CRM schema, include a 'quoted monthly fee' field and a 'door count' field. You can then ask: 'What is the total monthly management fee across all deals in Proposal Sent stage?' and get a live number from your CRM — not a pivot table you have to rebuild.
What happens to follow-up tasks if a deal moves stages?
Task Manager tracks tasks independently of your CRM deal stages, but you can tell Starch: 'When a deal moves to Closed Won or Closed Lost, mark all open follow-up tasks for that owner as complete.' This keeps your task list clean without manual cleanup.
I sometimes do commercial PM alongside residential. Can the CRM handle both?
Yes — you describe the schema, so you can include a 'property type' field with SFR, small multifamily, retail, office, or whatever categories you actually use. You can then filter your pipeline by type: 'Show me all commercial deals over 10,000 sq ft in Proposal Sent stage.' The CRM adapts to your terminology, not the other way around.

Ready to run clean up stale deals in your pipeline on Starch?

Request closed-beta access. Everything is free during beta.

You're on the list! We'll be in touch soon.