ZAM

Building an AI Agent to Catch Unused SaaS

Learn how to deploy an automated agent to audit seat utilization, uncover abandoned subscriptions, and eliminate recurring software bloat.

Every month, corporate credit card statements tell a story of quiet neglect. A designer leaves the company in March, but their seat in a graphic tool sits active until October. A sales manager tries a prospecting add-on for two weeks, forgets about it, and the company quietly pays annual renewals for a product nobody opens.

I have sat in the operator chair looking at credit card statements like this, feeling the frustration of watching cash leak through dozens of micro-transactions. The standard response in mid-sized companies is manual reconciliation. Once a quarter, an operations manager exports a CSV from corporate cards, exports employee lists from HR, and manually matches names in spreadsheets.

It takes three days, everyone hates doing it, and by the time the spreadsheet is clean, three more rogue subscriptions have been started. It is an inefficient process designed to patch a systemic problem with manual labor.

The Trap of Renting Another Tool to Fix SaaS Waste

When operators get tired of spreadsheet reconciliation, software vendors immediately step in with a pitch. They offer SaaS management platforms that promise to scan your stack, discover shadow IT, and cancel inactive accounts.

The irony is obvious. You sign an expensive subscription for a platform whose sole job is to tell you that you are spending too much on software. You add another recurring line item, another vendor contract, and another dashboard that your team has to log into.

These platforms treat every company as if it operates the exact same way. They run basic rule checks against popular APIs and flag anything that looks quiet. But they do not understand your operational context. They cannot tell if an account is inactive because a project ended or if it is a backup account used once a year for compliance audits.

When you rent generic software to solve operational problems, you accept their default assumptions. You bend your operational workflows around their fixed interface. I prefer a different approach: building internal capabilities that you own completely.

Anatomy of a Custom SaaS Audit Agent

Instead of renting a SaaS management platform, I build dedicated AI agents that plug directly into the company's existing infrastructure. The goal is an agent that runs quietly every week, cross-references identity, billing, and usage data, and delivers an actionable hit list directly to the person who can act on it.

The agent operates across three distinct data streams that almost every business already possesses:

  • Identity and directory logs from Google Workspace, Microsoft Entra ID, or Okta.
  • Financial ledger and card transaction records from Stripe, Xero, Quickbooks, or card feeds.
  • Application telemetry collected directly through standard REST APIs, SAML authentication logs, or database activity records.

The agent starts by fetching active identity records. It pulls the list of active employee email addresses from your identity provider. Next, it connects to your accounting system or credit card API to parse recurring software charges and line-item descriptions.

An LLM agent excels here because financial invoice text is messy. A charge might appear on a credit card statement as DRI*SOFTWARE SUBSCRIPTION or PADDLE.COM * DESIGN TOOL. Traditional rule-based parsers break when naming conventions change. An AI agent reads these raw invoice strings, matches them against known vendor patterns, and maps them to clean tool names.

How the Agent Detects Ghost Accounts and Waste

Once the agent reconciles vendor invoices with the active employee directory, it performs three concrete analytical checks across the entire stack.

First, it executes an identity orphan check. It compares every assigned seat in a SaaS product against the active employee directory. If an email address belongs to a departed employee but remains provisioned in a paid tool, the agent flags it immediately as a ghost account.

Second, it conducts a zero-utilization check. For tools that expose user login timestamps via API or SAML logs, the agent evaluates the duration since last login. If an account has seen zero activity over thirty consecutive days, it gets marked for review.

Third, it executes a license tier evaluation. Many products automatically upgrade users to higher pricing tiers based on minor feature interactions. The agent inspects line-item breakdowns on invoices to identify individual seats assigned to premium tiers when standard tiers would suffice.

Instead of dumping these findings into an unread web dashboard, the agent formats a clean, prioritized summary. It pushes a weekly report directly to Slack or Microsoft Teams addressed to the operational owner. The report contains direct links to deactivate the specific seats, along with the exact cost impact of taking action.

From Spend Monitoring to System Ownership

Monitoring SaaS spend is only the first step. When you start auditing individual tools, you quickly discover something deeper: most generic software tools are overloaded templates.

Companies routinely pay high monthly seat fees for software suites where their team only uses ten percent of the underlying functionality. A team buys a massive project management tool, a separate form builder, an internal wiki, and a custom reporting tool. They end up paying four separate subscriptions, maintaining four integrations, and forcing employees to context-switch between four different interfaces.

When we look at operational efficiency, cutting unused seats is immediate triage. But the long-term solution is eliminating the fragmented SaaS stack altogether and replacing it with custom systems you control.

In one operational rebuild for a ~200-employee owner-operated business, we audited their software ecosystem across 16 departments. By mapping how the business actually operated, we built one unified operating system across 14 live bases. We deployed 25+ AI agents to handle specialized workflows and administrative tasks.

That single effort allowed us to achieve 21 SaaS tools replaced, reducing ongoing software licensing overhead to $0 ongoing cost for those replaced applications. The company stopped renting generic software that almost fit their business and moved to a system they owned outright.

Concrete Steps to Deploy Your Own Spend Agent

If you want to stop software cash leaks in your business, do not buy another dashboard. Build a simple script powered by an LLM agent that runs on your own infrastructure.

Start by defining the smallest useful scope. Do not try to audit fifty tools on day one. Pick your top three most expensive seat-based applications.

  • Export your active user list from your primary identity provider using their admin API.
  • Pull user activity logs from your target applications using their standard REST endpoints or SAML authentication event logs.
  • Write a Python script that feeds user lists and last-seen timestamps to an LLM prompt for categorization.
  • Program the prompt to categorize accounts into three clear buckets: Active, Ghost (employee departed), and Dormant (no login in 30 days).
  • Wire the script to send an automated summary message to your operations channel every Monday morning.

Once this simple agent is running, expand its capabilities. Connect it to your financial receipts feed so it can flag unknown charges and new recurring line items before they turn into annual commitments.

When you build your own operational tools, you do not just save money on software seats. You gain total visibility over how work actually flows through your company.

Start with your top three software bills this Monday, run the audit script, and reclaim the cash that is sitting on empty desks.