Build an EU AI Act risk inventory with OpenAI and Google Sheets
Needs changesWhat this workflow does
This AI workflow has 21 nodes and runs when someone submits an n8n form (“Report an AI system”) (plus 1 other trigger). Along the way it connects OpenAI Chat Model and Google Sheets.
How it runs
Trigger: When someone submits an n8n form (“Report an AI system”) (plus 1 other trigger).
- Normalize the report (Code): runs custom JavaScript code
- Read the inventory (Google Sheets): uses Google Sheets
- Classify against the EU AI Act (AI Agent): runs an AI agent, with model: Language model; 1 tool (ai_act_reference); output parser: Structured classification
- Find what is due (Code): runs custom JavaScript code
- Cross-check the classification (Code): runs custom JavaScript code
- Anything to do? (If): checks a condition and branches into true / false
- Route by risk class (Switch): routes items into 3 branches
- Build the review report (Code): runs custom JavaScript code
- Stop and escalate (Edit Fields (Set)): sets 2 fields: duties, action_required
- Assign high-risk duties (Edit Fields (Set)): sets 2 fields: duties, action_required
…plus 5 more steps. See the full node list below.
Services it uses
Before you upgrade to n8n 3.0
1 thing in this workflow is removed in n8n 3.0. Fix it before you upgrade:
- AI Agent v1 (old agent modes) in Classify against the EU AI Act (v1.7): replace with Latest AI Agent node (Tools Agent). For SQL Agent, use a Postgres or MySQL tool with a recent AI Agent.
Rather not rewrite it? Many of these flows can be rebuilt in Make (free plan).
| Removed in 3.0 | Replace with |
|---|---|
| AI Agent v1 (old agent modes) Classify against the EU AI Act (v1.7) | Latest AI Agent node (Tools Agent). For SQL Agent, use a Postgres or MySQL tool with a recent AI Agent. |
Nodes used (13)
- n8n Form Trigger
n8n-nodes-base.formTrigger - Code
n8n-nodes-base.code - AI Agent
@n8n/n8n-nodes-langchain.agent - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - Code Tool
@n8n/n8n-nodes-langchain.toolCode - Switch
n8n-nodes-base.switch - Edit Fields (Set)
n8n-nodes-base.set - Send Email
n8n-nodes-base.emailSend - Google Sheets
n8n-nodes-base.googleSheets - Schedule Trigger
n8n-nodes-base.scheduleTrigger - If
n8n-nodes-base.if - No Operation, do nothing
n8n-nodes-base.noOp
From the author
Quick overview This workflow collects internal AI system reports via an n8n form, uses OpenAI to propose an EU AI Act risk class with validation rules, stores each entry in Google Sheets, and emails management and the data protection officer when a case is…