How to track renewals and expansion as Property Management Founders

Customer SupportFor Property Management Founders2 apps11 steps~22 min to set up

Lease renewals slip through the cracks because your expiration data lives in AppFolio or Buildium, your follow-up notes are in a spreadsheet, and nobody owns the process end to end. You find out a tenant didn't renew when they hand in keys. Expansion — getting owners to add doors to your portfolio — gets zero systematic attention because you're too busy chasing delinquencies. You have no single place to see which leases expire in 60 days, which tenants are month-to-month risks, which owners have referrals pending, or which units could command a rent bump at renewal time. That information exists, but it's spread across your PMS, your inbox, and someone's memory.

Customer SupportFor Property Management Founders2 apps11 steps~22 min to set up
Outcome

What you'll set up

A live renewal pipeline that shows every lease expiring in the next 90 days, the tenant's payment history, and the current market rent for that unit — pulled from your PMS through browser automation and your bank accounts through Starch's direct Plaid connection.
Automated follow-up sequences that draft renewal offer emails for each expiring lease, route them through Gmail for your review, and log every response back into a single tracker without any retyping.
An expansion dashboard that surfaces which current owners have the highest retention scores, flags referral conversations that have gone cold, and drafts outreach messages so you can grow your door count without adding a business development hire.
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.

Apps used
Data sources & config

Starch automates AppFolio, Buildium, or Propertyware through your browser — no API needed — to pull lease expiration dates, tenant ledgers, and unit details on a schedule you set. Starch syncs your Plaid-connected trust and operating accounts on a schedule to surface owner disbursement history. Gmail is connected from Starch's integration catalog so the agent queries your inbox live, reads thread history, and sends renewal drafts after your approval. Google Calendar is synced directly by Starch so the automation fires on your Monday morning schedule without manual triggering.

Prompts to copy
Build me a renewal pipeline CRM with these fields: unit address, tenant name, lease end date, current rent, market rent estimate, renewal status (offered / negotiating / signed / not renewing), last contact date, and owner name. Pull lease expiration data from AppFolio through my browser. Flag any lease ending in 90 days or less in red. Let me filter by owner so I can see all of one owner's upcoming renewals at once.
Every Monday morning, look at my renewal pipeline and draft a personalized renewal offer email for every tenant whose lease ends within 60 days and hasn't received an offer yet. Use their current rent and the market rent I have on file. Queue the drafts in Gmail for my approval before sending. After I send, mark the lease status as 'offered' in the renewal CRM automatically.
Build me an expansion tracker inside the same CRM that shows each owner in my portfolio, how many doors they have with us, their last 12 months of net owner disbursements pulled from Plaid, any referral conversations I've logged, and the date of my last outreach. Alert me if I haven't contacted a top-10 owner in more than 45 days.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect your PMS (AppFolio, Buildium, or Propertyware) via browser automation — Starch logs in, navigates to your lease expiration report, and pulls the data on whatever refresh cadence you choose. No API key required.
2 Connect Plaid so Starch syncs your trust account and operating account on a schedule. This gives you real disbursement history per owner without exporting anything from your bank.
3 Start from Starch's CRM app and describe your renewal pipeline schema: unit address, tenant name, lease end date, current rent, market rent, renewal status, owner, and last contact. Starch builds the schema to match how you actually track renewals, not a generic sales funnel.
4 Tell Starch to populate the CRM by reading your PMS lease data. Every unit with an expiration date within 180 days gets a row. Starch flags anything under 90 days in red automatically.
5 Connect Gmail from Starch's integration catalog. The Email Agent reads your existing renewal-related threads and logs any prior tenant contact against the right lease row so you don't start blind.
6 Set up the Monday renewal offer automation: Starch reviews every red-flagged lease, cross-checks whether an offer email has already been sent, and drafts a personalized offer for each one that hasn't. Drafts land in Gmail for your one-click review.
7 After you approve and send, Starch marks each lease status as 'offered' in the CRM and sets a 7-day follow-up reminder. If the tenant doesn't respond, Email Agent surfaces the thread and drafts a follow-up nudge.
8 Add an expansion tab to the same CRM: one row per owner, pulling door count from the PMS, last-12-month net disbursements from Plaid, and a freeform notes field for referral conversations. Starch alerts you if a top-10 owner goes 45 days without contact.
9 Tell Starch to draft a quarterly owner performance summary for each owner using their Plaid disbursement data and occupancy rate from the PMS. This becomes the natural opening to an expansion conversation without it feeling like a cold pitch.
10 Review your renewal close rate monthly: leases offered vs. signed vs. lost, average days from offer to signature, and rent increase accepted vs. negotiated down. Starch surfaces this as a dashboard you can show your team in your weekly ops meeting.
11 At month end, run a 'doors at risk' report — any month-to-month tenants, any leases unsigned past their expiration date, and any owner who has mentioned selling in a logged email thread. This becomes your weekly 10-minute review instead of a two-hour spreadsheet exercise.

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

Q2 2026 Renewal Push — 12-unit owner portfolio

Sample numbers from a real run
Leases expiring in 90 days (flagged)7
Renewal offers drafted by Starch (Monday run)7
Offers sent after PM approval7
Signed renewals within 14 days5
Average rent increase accepted87
Units that went month-to-month (risk)2
Owner disbursements flagged for expansion conversation (Plaid)34,200

In April 2026, Starch's Monday automation runs and finds 7 leases expiring before July 1 across a 12-unit owner portfolio. It drafts personalized renewal offers for each tenant — unit 4B at $1,850/month (current) with an offer of $1,920, unit 7A at $2,100 with an offer of $2,175, and so on — pulling current rents from AppFolio via browser automation and the market rent estimates you typed into the CRM yourself. You spend 20 minutes reviewing and clicking send. Over the next two weeks, 5 of the 7 tenants sign. For the 2 who don't respond, Email Agent surfaces follow-up drafts on day 7. Meanwhile, the expansion dashboard flags that this same owner's last 12 months of net disbursements total $34,200 — a clean number to reference in an outreach email — and that you last spoke to them 52 days ago, past your 45-day alert threshold. Starch drafts a check-in email referencing their Q1 performance and asks if they've thought about the 4-unit building down the street they mentioned in January. You edit one sentence and send. That's the full week's renewal and expansion work.

Measurement

How you'll know it's working

Lease renewal rate (% of expiring leases that re-sign before expiration date)
Average days from renewal offer sent to lease signed
Month-to-month exposure (# and % of units on MTM at any given time)
Rent increase acceptance rate (% of tenants who accepted the offered rate vs. negotiated down)
New doors added per quarter from existing owner referrals
Comparison

What this replaces

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

AppFolio / Buildium built-in renewal reminders
Sends a generic alert that a lease is expiring but doesn't draft the offer email, track negotiation status, or connect to your owner expansion pipeline — you still do all the follow-through manually.
Spreadsheet + calendar reminders
Works until you hit 50+ doors; after that the spreadsheet is always out of date because no one has time to update it after every tenant conversation.
HubSpot CRM
Capable pipeline tool but costs $90-400/month, requires admin configuration time your team doesn't have, and has no native PMS or Plaid connection — you'd still be importing data by hand.
LeaseHawk or dedicated renewal software
Purpose-built for renewals but priced for large operators, doesn't touch your owner expansion workflow, and adds another vendor login to your stack.
On Starch RECOMMENDED

One platform — crm, email agent 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 PMS is AppFolio and they have an API — can Starch use that instead of browser automation?
Starch can reach AppFolio through browser automation today with no setup beyond your login credentials. If AppFolio's API is accessible in your plan, the Starch agent can also query it live through Starch's integration catalog. Either way, you're not exporting CSVs.
Will Starch actually send renewal emails on my behalf, or do I have to approve each one?
Starch drafts and queues the emails in Gmail. You approve before anything sends — that's the default, and it's deliberate. You can tell Starch to auto-send for specific templates if you want, but most property managers want eyes on renewal offers before they go out, and that's the recommended setup.
Can I track renewals and expansion across multiple owner portfolios separately?
Yes. Describe the segmentation you want — by owner, by property type, by market — and Starch builds the CRM views accordingly. You can filter the renewal pipeline by owner name so you can prep for an owner call in two minutes.
Is Starch SOC 2 certified? My owners ask about data security.
Starch is not SOC 2 Type II certified yet. That's an honest limit worth knowing. If a specific owner or institutional investor requires SOC 2 compliance from your software vendors, that's a real constraint to factor in.
I use Rent Manager, not AppFolio or Buildium — does that work?
Yes. Starch automates Rent Manager through your browser — no API needed. Starch logs in, navigates to the reports you'd normally pull yourself, and reads the data. If Rent Manager has a web interface you can log into, Starch can automate it.
What happens to lease data I pull from the PMS — is it stored in Starch?
Data pulled through browser automation is used to populate your Starch apps and dashboards. It's not archived as a long-term data warehouse — Starch is built for live operational surfaces, not historical analytics going back years. If you need a five-year lease history archive, that lives in your PMS.
Can Starch calculate whether a rent increase is justified based on market comps?
Starch can pull publicly available rental listing data through browser automation — Zillow, Apartments.com, or similar sites — and surface the comps next to your current rents. You'd tell Starch something like: 'For each expiring lease in my CRM, find the median asking rent for comparable units within half a mile and add it to the market rent field.' The accuracy depends on what's publicly listed, so treat it as a directional input, not an appraisal.

Ready to run track renewals and expansion on Starch?

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

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