Skip to content
agentusehub
OperationsIntermediateAny

Track vendor contract renewals before they auto-renew

Make pulls contracts from Gmail, Gemini extracts the term and notice period, and a Sheets register emails the owner 60, 30 and 7 days before each deadline.

Time saved
3h / week
Setup time
90 minutes
Running cost
Free (Make and Gemini free tiers)
Cost range
Free

The problem it solves

Software and service contracts renew automatically, and the window to cancel or renegotiate often closes 30 to 90 days before the end date. That date is buried in a PDF someone signed a year ago. Most teams find out when the renewal invoice arrives, and by then the leverage is gone.

How it flows
  1. Label contract email
  2. Extract terms
  3. Log in Sheets
  4. Alert 60 days out

Step-by-step setup

  1. Create a Contracts label

    In Gmail, add a Contracts label and a filter that applies it to mail from your e-signature tool and your main vendors' billing addresses. Forward older signed contracts to yourself and label them to backfill the register.

  2. Watch the label in Make

    Start a scenario with Gmail > Watch Emails limited to the Contracts label. Add an Iterator over the attachments and a Filter that passes only files ending in .pdf.

  3. Extract terms with Gemini

    Add a Google Gemini AI module that sends the PDF with the extraction prompt below and asks for JSON. Follow it with Parse JSON so each field can be mapped on its own.

  4. Write to the renewal register

    Add a row to a Renewals sheet with Vendor, Annual value, Start date, End date, Auto-renews, Notice days, Notice deadline, Owner and Email link. Calculate Notice deadline in the sheet as End date minus Notice days.

  5. Schedule the reminders

    A second scenario runs daily at 08:00, searches the sheet for rows whose Notice deadline is exactly 60, 30 or 7 days away, and emails the owner with the vendor, value and a link to the contract.

  6. Spot-check the first batch

    Compare the first 10 rows with the PDFs. Notice periods hidden in a separate master services agreement are the most common miss, so add an 'MSA checked' column for any vendor over $5,000 a year.

Example prompts

Extract renewal terms
Read the attached contract or order form. Return JSON only, with these keys:
- vendor: legal name of the supplier
- product: what is being bought, under 10 words
- annual_value: a number in {{currency}}, or null if not stated
- start_date and end_date: ISO dates
- auto_renews: true, false, or null if unclear
- renewal_term_months: a number or null
- notice_days: days of written notice required to cancel or change terms, or null
- notice_method: how notice must be given, for example "email to legal@vendor.com"
- price_increase_cap: any stated cap on renewal price increases, or null
- clause_reference: section numbers where you found the renewal and notice terms

If a value is not in the document, use null. Do not infer dates from the email it arrived in.
Marketing · Beginner
  1. Brief in Sheets
  2. ChatGPT writes 20
  3. Claude scores rules

Generate and test 20 ad variants from one brief

Turn one campaign brief into 20 Meta and Google ad variants, score each against your brand rules and limits, and queue the best for approval.

ChatGPT · Claude · Make · Google Sheets
Operations · Beginner
  1. Call ends
  2. Transcript to Claude
  3. Notes + field updates

Meeting notes that update the CRM for you

After each sales call, Zapier sends the transcript to Claude, which writes the notes and updates next steps and deal fields in Salesforce.

Zapier · Claude · Salesforce
Finance · Intermediate
  1. Receipts in Gmail
  2. Extract line items
  3. Match to headcount

Monthly SaaS spend review that flags unused seats

Pull every software receipt from Gmail into a sheet, match it to active users, and get a list of seats and tools you can cancel.

Gmail · ChatGPT · Google Sheets