Register GDPR Article 30 processing activities with Groq and Discord
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (12)
- Manual Trigger
n8n-nodes-base.manualTrigger - Data table
n8n-nodes-base.dataTable - Code
n8n-nodes-base.code - n8n Form Trigger
n8n-nodes-base.formTrigger - Edit Fields (Set)
n8n-nodes-base.set - Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm - Groq Chat Model
@n8n/n8n-nodes-langchain.lmChatGroq - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - If
n8n-nodes-base.if - n8n Form
n8n-nodes-base.form - Discord
n8n-nodes-base.discord - Schedule Trigger
n8n-nodes-base.scheduleTrigger
What it does
Quick overview This workflow uses an n8n Form to capture GDPR Article 30 processing activity details, checks completeness against an editable checklist in n8n Data Tables, uses Groq to flag additional quoted issues, stores the register and findings in Data Tables, and posts non-complete items plus a weekly digest to Discord. How it works 1. Runs a one-time manual setup to create three n8n Data Tables (ropachecklist, roparegister, ropafindings) and upsert a GDPR Article 30 checklist. 2. Receives a new processing-activity submission from an n8n Form. 3. Loads the checklist from the ropachecklist table and applies rule-based validation to compute a completeness score, status (COMPLETE/REVIEW/INCOMPLETE), and a human-readable report. 4. Sends the record and checklist to a Groq chat model to propose additional review points that must include verbatim quotes from the submission, then validates and merges accepted points into the final status. 5. Inserts the submitted activity and its report into the roparegister table and writes each rule/model finding into the ropafindings table. 6. If the status is not COMPLETE, posts the report to Discord and shows a “points to fix” completion page; otherwise, shows a “recorded” completion page. 7. Runs every Monday morning to summarise the register from roparegister and posts a weekly digest to Discord when there are open items or when configured to post even if quiet. Setup 1. Add a Groq API credential for the Groq chat model node. 2. Add a Discord webhook credential and choose the target channel/server for both Discord message steps. 3. Run the “Set Up Tables (run once)” path once to create the ropachecklist, roparegister, and ropafindings Data Tables and load the initial checklist. 4. Open the n8n Form trigger, copy its public URL, and share it with the teams who will register processing activities. 5. Optionally edit the checklist rows in ropachecklist and the vague-phrase policies in the workflow to match your organisation’s Article 30 guidance and review standards. Requirements - A free Groq API key for the reviewer model. The free tier is enough; checking one record sits far below its 8,000 tokens per minute limit. - A Discord webhook for the alerts and the Monday digest. Swap both Discord nodes for Slack or Gmail if you prefer; the rows are written to the tables first either way, so nothing is lost if you remove them. - n8n 2.38 or newer. Data Tables come built into n8n and the workflow creates its own three tables and loads the twelve checklist rows when you run "Set Up Tables (run once)". There is nothing to install and no outside database. - Somebody who knows the processing activity. No legal training is needed to fill the form; it asks plain questions about what the activity does with people's data. Customization - The checklist lives in ropachecklist. Edit the labels, the article references, the required flag, the minimum answer length and the guidance. Add a row and a matching form field for anything else your DPO wants in the record. - Set Register Policy holds the phrases that make a retention period or a purpose count as vague. Add your own, separated by the | character, in whatever language your team writes in. - Set Digest Policy: how many days the Monday digest looks back, and whether it still posts in a quiet week. - The reviewer model in the Groq node. Any model that returns JSON works. It can only add points and only with a verbatim quote, so a weaker model degrades to "nothing to add" rather than to a wrong status. - The completeness score counts required items only. If you mark more of the checklist as required, existing records will score lower the next time they are registered, which is usually what you want. Additional info Article 30 asks every controller to keep a record of its processing activities, and that record is the first thing a supervisory authority asks for. In most organisations it is a spreadsheet nobody has checked since it was written. This makes each