
How to Build a Simple Customer Renewal Reminder System with HubSpot, Google Sheets, and Zapier in 2026
Customer renewals rarely fail because a business does not value retention. They fail because renewal dates are scattered across contracts, spreadsheets, inbox reminders, and employees’ calendars.
A simple customer renewal reminder system using HubSpot, Google Sheets, and Zapier can centralize those dates and alert the right person before an agreement expires. This no-code approach is practical for smaller businesses that are not ready for a dedicated customer success platform, but it is important to understand the tools’ plan limits before building the workflow.
1. The Problem: Renewal Dates Are Easy to Miss
Consider a 20-person service business managing 75 annual customer contracts. Renewal dates might appear in signed PDFs, accounting software, sales notes, and a spreadsheet maintained by one employee. Account managers may also create personal calendar reminders, but those reminders are invisible to the rest of the team.
This arrangement works until someone changes roles, takes a vacation, overwrites a spreadsheet cell, or assumes another employee contacted the customer. The team may discover an upcoming renewal only days before the deadline—or after the contract has expired.
Late outreach leaves less time to resolve service concerns, revise the scope, prepare pricing, or obtain approval. It also makes the relationship feel reactive. A customer who has to remind a vendor about an expiring agreement may reasonably question how closely the account is being managed.
Who this system is for
This workflow is best suited to:
- Solo operators managing recurring client agreements.
- Small businesses with approximately 5–50 employees.
- Sales or account management teams without a dedicated customer success platform.
- Businesses with straightforward contracts and a manageable number of renewal dates.
The goal is not to automate every customer conversation. It is to give the responsible person a dependable prompt, enough context to prepare, and a clear next action.
2. Choose the Right Tool for Each Job
Each application should have a defined responsibility. If HubSpot and Google Sheets both become editable master databases, conflicting records will eventually appear.
| Tool | Role | Entry-level cost | Best fit | Main limitation |
|---|---|---|---|---|
| HubSpot | Customer records, ownership, deal stages, tasks, and renewal history | Free CRM available; the automation and email features discussed here may require paid plans | Maintaining the customer relationship record | New free accounts are limited to 1,000 contacts and two active users; advanced automation is not included |
| Google Sheets | Renewal dates, contract values, reminder stages, and exceptions | Available with a free consumer Google account and included with paid Google Workspace subscriptions | Flexible tracking familiar to non-technical teams | Formulas and records can be overwritten, duplicated, or edited inconsistently |
| Zapier | Checks qualifying records and moves information among Sheets, HubSpot, email, and Slack | Free plan supports two-step Zaps; Professional starts at $19.99 per month billed annually or $29.99 billed monthly | Cross-application automation without custom code | Multi-step pricing, task usage, and failed mappings become concerns as volume grows |
Zapier’s Free plan is limited to a trigger followed by one action. It cannot run the full workflow described in this article, which filters records, finds HubSpot entries, creates tasks, sends notifications, and updates the spreadsheet. That design requires a paid Zapier Professional plan.
HubSpot’s free CRM also has meaningful constraints. For new accounts created after September 2024, it is capped at 1,000 contacts and two active users. A growing company can reach the contact limit sooner than expected, even if it manages only about 75 contracts, because prospects, former customers, and multiple contacts at each account also consume capacity.
Full HubSpot workflows for complex conditional logic or task creation based on external triggers are not included with the free CRM. The system can still use Zapier to create HubSpot tasks, but you should not design it around advanced native HubSpot automation unless your subscription supports it.
3. Design the Customer Renewal Tracker in Google Sheets
Create one row for each active contract. If one customer has three agreements with different renewal dates, use three rows and give every contract its own identifier.
Recommended columns
- Customer Name: The company or account name.
- Contact Email: A valid address for the primary renewal contact.
- HubSpot Record ID: The unique contact or deal identifier.
- Account Owner: The employee responsible for follow-up.
- Renewal Date: The contract’s next renewal date.
- Days Until Renewal: A calculated value used by the automation.
- Contract Value: The expected renewal amount or annual contract value.
- Renewal Status: Active, At Risk, Renewed, Canceled, or Do Not Contact.
- Reminder Stage: The most recent completed reminder interval.
- Last Reminder Created: The date and time of the latest automated reminder.
- Last Contacted: The date of the latest actual customer communication.
- Notes: Contract exceptions, concerns, or next steps.
Require a valid email address and renewal date before a row becomes eligible for automation. Missing information should place the row on an exception report instead of allowing Zapier to guess.
Calculate the days remaining
If the renewal date is in column E, enter this formula in the first data row of the Days Until Renewal column:
=IF(E2="","",E2-TODAY())Format the result as a number. A value of 30 means the renewal is 30 days away, while -2 means the date passed two days ago.
Use data-validation dropdowns for status fields. This prevents variations such as “At risk,” “at-risk,” and “Risk” from breaking filters. Protect formula columns, freeze the header row, and limit customer-data editing to the people responsible for renewals.
Set the spreadsheet timezone correctly and compare it with the timezone configured in Zapier and your email system. A mismatch can cause reminders to run a day early or late.
4. Prepare HubSpot for Renewal Tracking
HubSpot should contain the context an employee needs after receiving a reminder. Create or confirm properties for:
- Renewal Date
- Renewal Status
- Contract Value
- Renewal Owner
These may be contact, company, or deal properties. Deal properties are often cleaner when one company can have several contracts or renewal opportunities.
Consider a dedicated Renewals pipeline
A simple renewal pipeline might include:
- Upcoming
- Outreach Started
- Negotiation
- Renewed
- Churned
This gives managers a consistent view of expected renewal activity and accounts needing attention. Google Sheets controls the reminder timing, while HubSpot records the work and outcome.
Use the HubSpot Record ID as the stable connection between systems. Customer names can change, include punctuation, or appear more than once. A record ID is safer than asking Zapier to find “Acme Services” by name.
If your existing records begin in Google Sheets, import them into HubSpot and write the resulting IDs back to the tracker. The HubSpot Assistant for Google Sheets may also help prepare and move spreadsheet-based contact data.
Before building the Zap, confirm that your HubSpot plan supports the required properties, pipelines, lists, tasks, workflows, and email features. The free CRM’s two-active-user limit can make it impractical for a larger sales or account management team that needs editing access.
5. Build the Customer Renewal Reminder System with Zapier
A scheduled daily check is generally more dependable than relying only on an updated-row trigger. The TODAY() formula can recalculate without Zapier recognizing the change as a user-generated row update.
Step 1: Schedule the daily check
Configure Zapier to run the workflow every weekday or every day at a set local time, such as 8:00 a.m. Retrieve the rows that may be approaching renewal.
Step 2: Filter qualifying rows
Continue only when:
- Renewal Status is Active.
- Days Until Renewal is 90, 60, 30, 14, or 7.
- The matching interval has not already been recorded in Reminder Stage.
- The row contains a HubSpot Record ID or valid contact email.
For the first pilot, check only for 30 days. Starting with five intervals makes testing and duplicate prevention unnecessarily difficult.
Step 3: Find the HubSpot record
Search by HubSpot Record ID whenever possible. If an ID is unavailable, use the contact email and save the returned ID to the spreadsheet. Do not automatically create a new contact unless you have verified that the correct record does not already exist.
Step 4: Create a HubSpot task
Create a task assigned to the account owner. For example:
Task: Review 30-day renewal for Northwind Consulting
Renewal date: September 2, 2026
Contract value: $18,000
Next action: Review account history and schedule a renewal call.
Customer status: ActiveStep 5: Send an internal notification
Send an internal email or Slack message with the customer name, renewal date, contract value, recommended next action, and a direct link to the HubSpot record. Keep it short enough for the owner to understand the priority immediately.
Step 6: Update Google Sheets
Set Reminder Stage to a value such as 30-Day Task Created and add the automation timestamp to Last Reminder Created. Update Last Contacted only after an employee or approved automation communicates with the customer. Creating an internal task is not the same as making contact.
These filters, searches, tasks, notifications, and spreadsheet updates make this a multi-step Zap. Budget for Zapier Professional rather than assuming it will run on the two-step Free plan.
Step 7: Test before activation
Create a sample customer with a renewal date seven days away. Use an internal email address, assign the record to a test owner, and run the Zap manually.
- Confirm that Zapier finds the correct HubSpot record.
- Verify that the task goes to the intended owner.
- Check the date and currency formatting.
- Open the HubSpot link and confirm that it points to the correct record.
- Verify that Sheets updates only after the preceding actions succeed.
- Run the test again and confirm that it does not create a duplicate reminder.
6. Add Customer-Facing Renewal Emails Carefully
After internal reminders work reliably, consider customer-facing messages through HubSpot Marketing Hub, Gmail, or another approved email platform. The right option depends on your subscription, consent requirements, sending volume, branding needs, and whether the message is operational or promotional.
Prepare separate messages for:
- 90 days: Begin planning and identify possible service or scope changes.
- 30 days: Confirm the date, services, decision process, and paperwork.
- Seven days: State the approaching deadline and give the customer a direct next step.
Personalize each message with the contact name, relevant service details, renewal date, account owner, and a scheduling link. Add a human review step for high-value contracts, unusual terms, or customers marked At Risk.
Understand HubSpot’s email limits
Do not assume that the free HubSpot CRM can send every type of automated renewal email. HubSpot’s free marketing tools limit marketing email volume to 2,000 sends per month and include HubSpot branding. More advanced automated customer-facing emails and professionally branded campaigns typically require a paid Marketing Hub subscription.
Sequences are not a free CRM feature. They are available with Sales Hub or Service Hub Professional and Enterprise subscriptions. If your workflow depends on sequences, confirm that the users sending them have the appropriate subscription and access.
Before activation, verify current HubSpot plan restrictions, contact consent, subscription preferences, and applicable anti-spam requirements. When those requirements are unclear, keep the automation internal and have the account owner review and send the message manually.
7. Limitations: When This Renewal Reminder System Won’t Work
A spreadsheet-based renewal system has a practical ceiling. Google Sheets becomes fragile when several people edit the same records, formulas are overwritten, rows are duplicated, or employees invent their own status labels.
Zapier can become more expensive or difficult to maintain as volume grows. Multi-step automations consume tasks, while rate limits, expired connections, renamed columns, and incorrect field mappings can interrupt the workflow.
This approach is not ideal for:
- Complex subscriptions with frequent upgrades and downgrades.
- Usage-based billing or prorated contract changes.
- Accounts with many contracts and customer contacts.
- Real-time, two-way synchronization across several systems.
- Strict audit, security, permission, or retention requirements.
- Renewals calculated from billing events rather than one reliable date.
Add an error notification for failed Zap runs and produce a weekly exception report covering missing dates, invalid emails, duplicate record IDs, overdue renewals, and rows without owners. Assign one person to check that report and review Zapier’s run history.
As the business grows, HubSpot’s free limit of 1,000 contacts and two active users may also force a plan change. Evaluate that threshold before making the free CRM central to a process used by a larger team.
When renewal logic, permissions, reporting, or audit requirements outgrow no-code tools, consider a dedicated customer success platform or custom development. A custom integration can provide stronger validation, controlled two-way synchronization, detailed logging, and rules tailored to the business.
8. What to Do Now: Launch a Small Pilot
Start with ten active customers and one reminder interval: 30 days before renewal. During the initial pilot, create internal HubSpot tasks rather than sending automated customer emails.
Track four measurements:
- Time required to configure and maintain the system.
- Number of reminders successfully created.
- Number of follow-up tasks completed on time.
- Renewals influenced or risks identified through earlier outreach.
A realistic early benefit may be reclaiming several hours per month previously spent checking dates and creating reminders. Treat this as a rough estimate until you measure your own process; the result depends on customer volume and the amount of manual work being replaced.
Review the pilot after two weeks. Correct duplicate records, missing owners, date-format problems, and unclear task instructions. Once the 30-day reminder is dependable, add the 90-day planning and seven-day urgency intervals one at a time.
Finally, document which system owns each field, how the Zap works, what happens when it fails, which subscriptions it requires, and who maintains it. A useful renewal reminder system should continue working when its original creator is unavailable—not become another critical process that only one person understands.

