Audit SaaS Subscription Waste
Monthly audit scans Gmail for billing emails, extracts vendor details via GPT-4.1-mini, updates a Google Sheet.
What it does
You automatically scan your Gmail for billing emails to identify subscription costs and renewal dates without manual tracking. The agent extracts vendor details, calculates annualized spending, and updates a Google Sheet while emailing you a summary of total waste to help you cut unnecessary expenses.
Step by step
- Set a cron trigger to run the workflow on the first day of each month.
- Configure the Gmail search query to filter emails from the last 30 days with keywords like 'invoice', 'receipt', or 'subscription'.
- Define the JSON schema for extraction including fields for vendor, amount, currency, and renewal_date.
- Implement a Google Sheets API call to upsert rows based on the unique vendor identifier.
Where the LLM does the work
- Prompt the OpenAI model to distinguish between one-time purchases and recurring subscription charges.
- Instruct the LLM to normalize inconsistent vendor names into standard company identities.
- Ask the agent to ignore marketing newsletters and promotional emails that contain billing keywords but are not actual invoices.
Watch out for
Tools that fit
The agent brief
You are helping me build the following AI agent workflow. ## Goal Audit SaaS Subscription Waste: Monthly audit scans Gmail for billing emails, extracts vendor details via GPT-4.1-mini, updates a Google Sheet. ## Specification - What it does: You automatically scan your Gmail for billing emails to identify subscription costs and renewal dates without manual tracking. The agent extracts vendor details, calculates annualized spending, and updates a Google Sheet while emailing you a summary of total waste to help you cut unnecessary expenses. - Trigger: On a schedule (Scheduled · monthly) - Autonomy: Fully hands-off - Expected setup effort: about an afternoon - Tools/services involved: - Gmail: Search billing emails and send digest report - OpenAI Chat Model: Extract subscription details and classify spend - Google Sheets: Store vendor data and upsert results - Code: Clean JSON and calculate annualized costs ## Known pitfalls, handle each one explicitly in your implementation 1. Currency symbols vary across providers so parse amounts as strings first then convert to a float for accurate summation. ## Reference implementation https://n8n.io/workflows/15945 (workflow template) Fetch and inspect this before building. If it matches my stack, adapt it; if not, rebuild the pattern with my tools. ## Process requirements 1. Before building: ask me which of the listed tools I actually use and what my platform is (n8n / Make / code / other). Do not assume. 2. Adapt the pattern to my answers; do not force the reference stack. 3. Address every pitfall above; tell me how you handled each. 4. Provide a test plan I can run before letting this touch real data. 5. Ask before any step that sends messages, modifies data, or spends money. Source: https://usecasesforagents.com/use-case/audit-saas-subscription-waste/ via usecasesforagents.com
Frequently asked questions
Can I use a different Email than Gmail?
Yes. Gmail is only the example email in this recipe. The same flow works with Brevo, KlickTipp, Lemlist and Mailchimp. Swap the email connection and keep the rest of the setup as written.
Want this running in your business?
Who it's for
Built for founders and execs who need finance & accounting handled without hiring for it.
Ops-IT teams triaging their own internal requests get the same pattern, different queue.