Find the Bitwarden seats nobody uses and stop paying for them

Once a month we check every password manager account for real activity, then hand you a costed list of the seats you can safely stop paying for.

Agentic Task
BitwardenLinearGmailFinanceOperationsAI Reports
PromptCreate

Once a month, on the first Monday at 9am, find the Bitwarden seats we are paying for but nobody is actually using, and turn that into a reclamation proposal I can approve. You never make the change yourself.

Start with Bitwarden's Retrieve Organization Subscription to read how many Password Manager seats we actually purchased, along with the autoscale ceiling. That purchased seat count is the denominator for the whole report, so read it rather than asking me to hard-code it.

Then call List Members to capture every account with its name, email, role, status and two-factor state. Member roles and statuses come back as integers, so resolve them against the enum table documented on the List Members operation instead of assuming which number means Invited, Accepted, Confirmed or Revoked.

Next work out who has actually done anything, using List Events across the previous 90 days. The event log pages with a continuation token, so keep following it until the token comes back null. A single query can only span 367 days, so a 90 day window is safe. If the organization is small, query per member using the actor filter; if it is large, make one date-ranged pass and group events by acting member, using the actor filter only to spot-check anyone whose result looks ambiguous. Count only events where the member is the acting user, and ignore events that merely reference them as the target, such as an administrator editing their membership. Otherwise someone who was recently edited by IT but never logged in will look active when they are not. Remember that client-side events flush to the server roughly every 60 seconds, so treat the last minute or two as incomplete.

Sort the waste into three buckets, placing each account in at most one. First, members sitting in Revoked status who are still holding a paid seat. Second, invitations sent more than 30 days ago that were never accepted. Third, confirmed members with zero qualifying events in the last 90 days.

Then do the seat math. Reconcile occupied seats against the purchased seat count from the subscription rather than assuming the two agree, and state plainly how many seats are reclaimable. Multiply that by our per seat rate, which I will supply, and show the value both per month and per year. If the reconciliation does not add up, say so in the report rather than quietly rounding.

File the result as a Linear issue using Create Issue. Title it with the month and the headline number, for example "Bitwarden seat reclamation, March 2026: 11 seats, $792 per year". In the body give me a section per bucket with a named line item per account showing the person, their role, their status, when they were last active, and a recommended action of Remove Member, Revoke Member Access, or leave alone. Prefer Remove Member for revoked seats and for stale unaccepted invitations, and prefer the reversible Revoke Member Access for merely dormant confirmed members. Open the issue with a clear note that nothing has been changed and every line needs a human decision.

Any dormant account holding an Owner or Admin role should be recommended as leave alone with a short reason, because break glass administrator logins and executive accounts are quiet by design and removing one is exactly the mistake this report exists to prevent.

Finally, send the same summary to the IT owner with Gmail's Send a Message, putting the reclaimable seat count and the dollar figure in the subject line and a link to the Linear issue in the body.

You must never call Remove Member, Revoke Member Access, or Update Organization Subscription. This workflow only reads and reports. A dormant account can belong to an executive or a break glass admin, so every line stays a recommendation until a human approves it.

What does this prompt do?

  • Checks every account in your password manager once a month and works out which ones have not been touched in the last 90 days.
  • Sorts the waste into three groups: people whose access was already switched off, invitations nobody ever accepted, and fully set up accounts with no sign of use.
  • Compares the total against the number of seats you actually pay for, so the report states how many seats you can reclaim and what that is worth per month and per year.
  • Files the whole thing as a ticket with a named line item and a recommendation next to every person, and emails the same summary to whoever owns the account.

What do I need to use this?

  • A Bitwarden organization on a Teams or Enterprise plan, since the activity history this relies on is only kept on those plans.
  • Owner access to that Bitwarden organization, which is what lets the workflow read your member list and activity.
  • A Linear workspace where the monthly proposal gets filed as an issue.
  • A Gmail account to send the summary from, plus the email address of the person who owns the account.
  • The amount you pay per seat, so the report can put a dollar figure on the waste.

How can I customize it?

  • Change the schedule: monthly on the first Monday suits most billing cycles, but quarterly works better if your renewal is annual.
  • Move the dormancy line. 90 days is the default, but a stricter 60 days or a gentler 180 days changes who shows up in the report.
  • Name the accounts to always leave alone, such as executives or emergency admin logins that are quiet on purpose.
  • Send it somewhere else by swapping the email recipient or pointing the ticket at a different team.

FAQs

Will this remove anyone from Bitwarden automatically?
No. Every line in the report is a recommendation and nothing changes until a person approves it. A quiet account can belong to an executive or an emergency admin login, so the workflow deliberately stops at the proposal.
Does it change our subscription or seat count?
No. It tells you how many seats look reclaimable and what they are worth, but adjusting the plan stays a manual decision you make with your billing owner.
What counts as an unused seat?
Three things: someone whose access was already switched off but who still occupies a paid seat, an invitation sent over 30 days ago that was never accepted, and a fully set up account with no activity at all in the last 90 days.
Do we need a paid Bitwarden plan for this?
Yes. The activity history the report depends on is only available on Teams and Enterprise plans, and per seat billing is what makes the exercise worth doing in the first place.
How accurate is the activity check?
It looks at what each person actually did rather than at changes an administrator made to their account, so someone who was recently edited by IT but never logged in still correctly shows as dormant.

Related templates

Voice agent QA review board for your Hume EVI calls

Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.

Hume
Linear
Slack Bot
App
Compare every Hireflix candidate for a role side by side

A calibration board that lines up every candidate's answer to the same question, hides names until your panel has scored, and writes the agreed rating back.

Hireflix
Gmail
App
Build a PR media list from real worldwide news coverage

Search three months of global coverage on your topic, rank the outlets actually writing about it, and draft a tailored pitch for each one.

GDELT
Google Sheets
Gmail
App
Morning review board for your open Housecall Pro quotes

Open one board every morning to see every outstanding quote by age and value, decide on each one, and send follow-ups only after you approve them.

Housecall Pro
Gmail
App
Close the loop between Front tickets and Linear bug fixes

See every customer waiting on a bug fix, file the ticket without creating a duplicate, and tell them the moment engineering ships it.

Front
Linear
App
Booked vs collected cash flow desk for HoneyBook studios

See every HoneyBook project's booked revenue next to what actually landed in your bank, chase what is late, and bill the next payment in one click.

HoneyBook
Xero
Gmail
App

Stop paying for password manager seats nobody uses.

Get a costed, name by name reclamation proposal every month, with the final call always left to you.