How to track renewals and expansions as Property Management Founders

Sales & CRMFor Property Management Founders2 apps11 steps~22 min to set up

Lease renewals fall through the cracks because they live in AppFolio or Buildium as a date field nobody watches until it's 30 days out. Expansions — an owner adding a second property, a commercial tenant taking adjacent suite space — aren't tracked anywhere systematic; they're sticky notes and calendar reminders. Your property manager finds out a tenant is leaving when they hand in keys. You've got renewal notices going out from a spreadsheet you update manually, lease end dates that don't account for month-to-month rollovers, and no visibility into which leases are up in Q3 until someone pulls a report and pastes it into a Google Sheet. That's how you lose a good tenant to a competitor who called them first.

Sales & CRMFor Property Management Founders2 apps11 steps~22 min to set up
Outcome

What you'll set up

A live renewal pipeline that pulls lease end dates from your property management system and surfaces who's coming up in 30, 60, and 90 days — organized by property, owner, and tenant tier so your leasing agent works the list, not the calendar
Automated outreach sequences that draft renewal offer emails from your current rent comps and send them via Gmail at the right lead time, with follow-up reminders if the tenant goes quiet
An expansion tracker that logs owner conversations about adding doors, commercial tenants signaling interest in adjacent units, and any upsell opportunity — tied to the same CRM so nothing lives only in your inbox
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 CRM is built from your natural-language description of the renewal pipeline schema. Gmail is connected as a scheduled-sync provider — Starch syncs your Gmail messages on a schedule so thread context is always current. Your property management system (AppFolio, Buildium, Propertyware, or Rent Manager) is automated through your browser — no API needed — so Starch can pull lease end dates and tenant records directly from the portal you already log into. Slack is connected from Starch's integration catalog; the agent queries it live when sending weekly digests.

Prompts to copy
Build me a renewal pipeline CRM with these fields: property address, unit number, tenant name, lease end date, current rent, offered renewal rate, renewal status (not contacted / offer sent / negotiating / signed / vacating), owner name, and notes. I want a view sorted by lease end date that filters to leases expiring in the next 90 days. Also add a separate pipeline for expansion opportunities with fields: owner name, properties they currently have with us, opportunity type (new property acquisition, commercial expansion, unit addition), last contact date, and status.
Connect my Gmail account. When a tenant replies to a renewal offer email, summarize the thread in one sentence and update the renewal status in my CRM automatically. If I haven't heard back from a tenant within 10 days of sending a renewal offer, draft a follow-up email and flag it for my review before sending.
Every Monday at 8am, pull the list of leases expiring in the next 60 days from my renewal pipeline and send me a Slack message with: tenant name, unit, current rent, days until expiration, and whether we've made contact yet.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect your Gmail account — Starch syncs your email on a schedule so renewal thread history is available to the agent without you copying anything manually.
2 Starch automates your property management portal (AppFolio, Buildium, or whichever you use) through your browser — no API needed. Tell it where the lease expiration report lives and it pulls the data on a schedule.
3 Describe your renewal pipeline in plain language: the fields you track, the stages a lease goes through from first notice to signed or vacating, and which properties or owner groups matter most. Starch builds the CRM schema from that description.
4 Import your current lease roster — either by having Starch pull it from your PMS portal or by uploading a CSV export. The agent maps fields automatically and flags any leases already past their notice window.
5 Set your notice thresholds: tell Starch 'flag leases expiring within 90 days, send first renewal offer at 75 days, send follow-up if no reply by day 65.' It creates the automation and handles the countdown.
6 Draft a renewal offer template with your standard rent increase language and any variables (unit address, current rent, offered rate, new term length). Starch's Email Agent uses this template to generate individualized emails for each tenant in the queue.
7 Review and approve the outbound emails in one batch — the Email Agent surfaces them for your sign-off so you're not writing each one from scratch, but you stay in control of what goes out.
8 Log owner conversations about expansion in the second pipeline: when an owner mentions they're acquiring another property or a commercial tenant asks about the vacant suite next door, add it to the expansion tracker with a follow-up date.
9 Get the Monday morning digest in Slack: leases expiring in 60 days, renewal status for each, and any expansion opportunities with stale last-contact dates.
10 When a tenant replies — accepting, negotiating, or declining — the Email Agent summarizes the thread and prompts you to update the status in the CRM. The pipeline view reflects current state without any manual entry.
11 At month end, run a renewal close report: how many leases renewed vs. vacated, average rent increase achieved, average days from first contact to signed lease. Starch pulls this from the CRM data and formats it as an owner-ready summary.

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

Q3 2026 Renewal Cycle — 47-Unit Residential Portfolio, Phoenix AZ

Sample numbers from a real run
Leases expiring in 90-day window11
Renewal offers sent (automated drafts, owner-approved)11
Signed renewals at or above offered rate8
Negotiated renewals (below offered rate)2
Vacating tenants (advance notice received)1
Average rent increase on renewals4
Days from first notice to signed lease (average)18
Expansion pipeline opportunities logged (owner conversations)3

Going into Q3, the leasing manager pulled up the 90-day renewal view in Starch and saw 11 leases flagged — 7 residential units across two properties and 4 commercial tenants in a strip center managed for a single owner. Starch had already drafted renewal letters for all 11, pulling the current rent and property address from the AppFolio export and filling in the 4% increase the owner had approved. Eight tenants signed within two weeks of the first email. Two residential tenants pushed back on the increase; the Email Agent surfaced both threads with a one-line summary ('tenant says 4% too high, references competing unit at $1,475') and drafted counter-offer language for the manager to approve. One commercial tenant gave notice. The three expansion pipeline entries: the strip center owner mentioned acquiring a four-plex in Tempe; a residential owner asked about a vacant lot next door; and one commercial tenant asked about the 800 sq ft suite that had just turned over. All three were in the tracker with follow-up dates before the end of the week. None of it lived in a spreadsheet.

Measurement

How you'll know it's working

Renewal rate: percentage of expiring leases that renew (target 80%+ for stable residential portfolios)
Days to renewal signed: average time from first renewal notice sent to executed lease
Rent increase achieved vs. offered: how often you get the full ask vs. negotiating down
Leases past notice window without first contact: the number that should always be zero
Expansion pipeline conversion: owner conversations that result in new doors under management within 12 months
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 calendar alert but doesn't draft outreach, track negotiation status, or connect to your email thread history — you still manage the follow-up manually in a spreadsheet or your inbox.
HubSpot or Salesforce CRM
Capable pipeline tools, but the setup cost and ongoing admin to configure them for property management workflows (lease dates, rent comps, unit-level fields) is significant — and neither connects to your PMS without custom work.
Google Sheets renewal tracker
Free and flexible, but it doesn't send emails, it doesn't update itself when tenants reply, and it breaks the moment someone forgets to update a row.
LeaseHawk or Knock (multifamily CRM)
Purpose-built for multifamily leasing, but priced for larger operators and built around new leases, not renewals and owner-side expansion conversations.
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. Does Starch have a direct integration?
Starch automates AppFolio through your browser — no API needed. You point Starch at the lease expiration report or tenant roster in your AppFolio portal and it pulls the data on a schedule, the same way you would if you were doing it manually. This works for AppFolio, Buildium, Propertyware, Rent Manager, and any other web-based PMS — even ones with no public API.
Can Starch actually send renewal emails, or does it just draft them?
It does both. Starch drafts the renewal emails using your template and tenant data, then surfaces them for your review before anything goes out. Once you approve, Gmail sends them. If you want certain email types to send automatically without review, you can set that up — but the default keeps you in the loop.
Is Starch SOC 2 certified? My property owners ask about data security.
Starch is not currently SOC 2 Type II certified. That's an honest limit worth knowing. If your owner agreements or institutional clients require SOC 2 certification from vendors, that's a real consideration. It's on the roadmap.
What about commercial lease renewals with custom terms — options, rent escalations, HVAC obligations?
The CRM tracks whatever fields you describe. You can add fields for option periods, escalation schedules, landlord obligations, and custom clauses. The Contract Lifecycle Management app — coming soon, currently in development — will handle the full contract workflow including clause tracking, e-signatures, and expiration alerts. You can request beta access to get notified when it launches.
Will this replace my leasing agent or property manager?
No. It handles the parts that currently fall through the cracks because they're tedious: watching dates, drafting routine emails, summarizing threads, and keeping a list current. Your leasing agent still talks to tenants, reads the room on a negotiation, and makes judgment calls. Starch handles the paperwork so they can spend time on the calls that actually matter.
Can I track expansion conversations with property owners alongside tenant renewals?
Yes — describe a second pipeline for it and Starch builds it into the same CRM. Fields like 'opportunity type,' 'properties currently under management with us,' and 'last owner contact date' are straightforward to add. Owner conversations that start in Gmail get surfaced in context so you can log them without switching tools.

Ready to run track renewals and expansions on Starch?

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

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