Audit and cancel unused SaaS seats with Google Sheets, OpenAI and Slack
Ready for 3.0What this workflow does
This AI workflow has 24 nodes and runs on a schedule (every week at 08:00) (plus 1 other trigger). Along the way it connects Google Sheets, Slack and OpenAI.
How it runs
Trigger: On a schedule (every week at 08:00) (plus 1 other trigger).
- Get Subscription Inventory (Google Sheets): uses Google Sheets
- Send Failure Alert - Slack (Slack): uses Slack
- Loop Over Subscriptions (Loop Over Items (Split in Batches)): loops over the items in batches
- Aggregate Run Summary (Code): runs custom JavaScript code
- Route By Platform (Switch): routes items into 3 branches
- Send Summary Report - Slack (Slack): uses Slack
- Google Workspace - Get Last Login (HTTP Request): calls an HTTP API
- Slack - Get User Activity (HTTP Request): calls an HTTP API
- Zoom - Get User Activity (HTTP Request): calls an HTTP API
- Generic SaaS - Get Usage (HTTP Request): calls an HTTP API
…plus 12 more steps. See the full node list below.
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (11)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Google Sheets
n8n-nodes-base.googleSheets - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Switch
n8n-nodes-base.switch - HTTP Request
n8n-nodes-base.httpRequest - Code
n8n-nodes-base.code - If
n8n-nodes-base.if - Slack
n8n-nodes-base.slack - Wait
n8n-nodes-base.wait - Error Trigger
n8n-nodes-base.errorTrigger - OpenAI
@n8n/n8n-nodes-langchain.openAi
From the author
Quick overview This workflow runs weekly to audit SaaS seats listed in Google Sheets, fetches last-activity data from Google Workspace, Slack, Zoom, or a generic usage API, uses OpenAI (gpt-4o-mini) to decide whether seats are unused, and cancels seats…