Renewal radar

ContractSentinel guide#

ContractSentinel turns a sheet of vendor contracts into a renewal radar. It works out the real last day to cancel for each contract, checks every morning, and alerts you at the thresholds you choose.

Deadlines are calculated from the data in your sheet. Check your contract's notice clause before acting. Drafted emails are not legal advice.

Quick start#

  1. Open a Google Sheet and click Extensions → ContractSentinel → Open ContractSentinel.
  2. Click Insert tracker template. A Contracts tab with a sample row and a Renewal Summary tab are created, and the daily check is scheduled.
  3. Add your contracts by hand, click Scan contract PDF, or Import from bank statements.
  4. Set your alert thresholds and recipients, then click Save settings.

The tracker#

Column Meaning
Vendor, Contract Who and what
Annual cost, Previous annual cost, Currency Used for spend totals and price-rise checks
Expiry date End of the current term
Auto-renews Yes / No / Unknown
Notice days How much notice the contract requires
Buffer days Extra safety days (blank = your default)
Last day to cancel Live formula: expiry − notice days − buffer
Days left Live formula: days until the last day to cancel
Owner email Who gets the alert
Status Active, Cancel requested, Cancelled, Renewed, Snoozed
Last alert Which alerts have been sent
Evidence Quotes from the contract behind each scanned value
Source file Link to the contract PDF

Already have a tracker? Open Column mapper in the sidebar and point each field at your own column headers.

Why there's a buffer#

Notice has to arrive in time. Mail, approvals, weekends and vendor portals take days. The default buffer is 5 days; change it in settings, or per contract in Buffer days.

Scanning a contract#

  1. Click Scan contract PDF and pick a signed contract, order form or terms PDF.
  2. A new row is filled with vendor, title, annual cost, expiry, auto-renewal and notice days. Uses 2 credits.
  3. The Evidence column shows the page and exact quote for each value. Values with no supporting quote, or whose quote isn't actually in the PDF, are shaded orange.
  4. Anything not found is left blank and flagged for you to fill in.

Alerts#

Every morning around 8:00 the daily check calculates each contract's days left. When a contract crosses one of your thresholds (default 60, 30, 15, 7 and 1 days), an alert goes out once for that threshold. Contracts marked Cancelled or Renewed are skipped.

Who gets alerts#

Plan Recipients
Free You only
Paid The owner in each row, colleagues on your company domain, and outside people who confirmed

People outside your company get a one-time confirmation email first and receive nothing until they click it. Every alert email has an unsubscribe link.

Slack and Google Chat (paid)#

  1. Create an incoming webhook in Slack (Apps → Incoming Webhooks) or in a Google Chat space (Apps & integrations → Webhooks).
  2. Paste the URL in Slack or Google Chat webhooks and save.

The URL is stored encrypted on our server; the sidebar only shows a masked label. Alerts include an Open tracker button.

Renewal Summary tab#

Live totals: projected 12-month auto-renewal spend, contracts with a cancel deadline in the next 30 days, deadlines already passed, and price increases over 7% year on year.

Drafting emails#

  1. Click a contract row.
  2. Choose Non-renewal notice or Price review request, and a tone.
  3. Click Draft. Uses 1 credit. Edit the subject and body, then Copy or Open in email.

If the draft contains a link, email address or bank account you didn't provide, a warning asks you to remove it before sending.

Health check and backup owner#

The daily check runs under the account of the person who set it up. Each run sends a heartbeat; if we don't hear from it for 48 hours, the owner and the backup owner get an email. Add a backup owner in settings, especially if you might leave the company.

If the check stops, use Extensions → ContractSentinel → Repair daily check.

Shared trackers#

Settings live in the spreadsheet, so other editors can change them. The sidebar shows who last changed the settings. Alerts still only go to confirmed recipients, whoever changed them.

Troubleshooting#

  • No alerts arriving: check Status isn't Cancelled or Renewed, the expiry is a real date, and the recipient confirmed. Look in spam for the first alert.
  • Daily check off: click Repair daily check.
  • Formulas show errors: make sure Expiry date is a date, not text.

More fixes in Troubleshooting.

About ContractSentinel