AIAgent icon
MistralAI icon
TavilyWebSearch icon
MailSend icon
Search icon
Script icon

Draft GDPR Breach Notifications for Supervisory Authorities and Data Subjects

Triage a data breach and draft GDPR Article 33 and Article 34 notifications with a Kestra AI agent, then email your DPO and affected customers automatically.

Categories
AI

Automate GDPR data breach notification drafting under Articles 33 and 34 of the General Data Protection Regulation. When a breach is detected, organizations have only 72 hours to notify the supervisory authority and must warn affected data subjects when the risk to their rights and freedoms is high. This blueprint uses a Kestra AI Agent to triage the incident, draft both regulatory documents, pull affected customers from HubSpot CRM, and email everything out, turning a frantic manual scramble into a repeatable, auditable workflow.

How it works

  1. The breach_triage task (io.kestra.plugin.ai.agent.AIAgent with the io.kestra.plugin.ai.provider.MistralAI provider) analyzes the incident and returns structured JSON: breach category, data types affected, approximate records, whether Article 33 and Article 34 notifications are required, hours remaining, and risk level. It uses responseFormat JSON schema and temperature: 0.0 for deterministic, machine-readable output.
  2. The authority_notification task drafts the formal Article 33 filing, using a io.kestra.plugin.ai.retriever.TavilyWebSearch content retriever to look up the target authority's portal and form requirements.
  3. The subject_notification task either drafts a plain-language Article 34 notice or explains which Article 34(3) exemption (such as encryption) applies.
  4. The email_authority_notification task (io.kestra.plugin.email.MailSend) sends the Article 33 draft to the DPO for review and filing.
  5. The search_affected_contacts task (io.kestra.plugin.hubspot.contacts.Search) retrieves customer contacts, extract_emails (io.kestra.plugin.scripts.python.Script) parses out the addresses, and email_subject_notification emails the Article 34 notice to affected data subjects.

What you get

  • A structured JSON triage assessment aligned with EDPB Guidelines 9/2022.
  • A submission-ready Article 33 notification with all required elements.
  • A plain-language Article 34 notification (or a documented exemption rationale).
  • The authority draft delivered to your DPO and the subject notice delivered to affected customers.

Who it's for

  • Incident response teams that need a rapid first draft.
  • Data Protection Officers managing the 72-hour clock.
  • Legal counsel preparing supervisory authority filings.
  • Compliance teams documenting breach response for accountability under Article 5(2).

Why orchestrate this with Kestra

A standalone LLM call or chat session cannot wire your breach response to the systems that hold the data or to the people who must act. Kestra chains the triage, drafting, CRM lookup, and email steps as one declarative YAML flow with full execution lineage for your accountability records. You can wire it to event triggers (a webhook from your SIEM or ticketing tool can launch it the moment a breach is logged), add retries on the AI and HubSpot calls so a transient API failure does not cost you hours against a 72-hour deadline, and inspect every input and output in the execution view. Mistral Large keeps sensitive incident data inside an EU provider, and you can switch to a local Ollama model for air-gapped operation (see the comments in the YAML). No AI vendor's own scheduler can fan out to your CRM, your SMTP server, and your DPO in a single audited run.

Prerequisites

A Kestra instance, a Mistral AI account, a Tavily account for web search, a HubSpot account, and an SMTP server.

Secrets

  • MISTRAL_API_KEY: API key from Mistral AI for the triage and drafting agents.
  • TAVILY_API_KEY: API key from Tavily for the web search retriever.
  • HUBSPOT_API_KEY: HubSpot API key to retrieve affected customer contacts.
  • SMTP_HOST, SMTP_USERNAME, SMTP_PASSWORD: credentials for your outbound mail server.
  • LEGAL_TEAM_EMAIL: sender address for the legal notifications.

Quick start

  1. Add the secrets above to your Kestra instance.
  2. Add this blueprint to a namespace such as company.legal.
  3. Run it, describing the incident, severity, DPO email, and lead supervisory authority via the inputs.
  4. Review the Article 33 draft in the DPO inbox, fill the placeholder fields, and file before the 72-hour deadline.

How to extend

  • Add a webhook or SIEM trigger so the flow starts automatically on breach detection.
  • Swap MistralAI for io.kestra.plugin.ai.provider.Ollama to run fully air-gapped.
  • Push the triage JSON into your ticketing or SIEM system for incident tracking.
  • Add an approval task so a human signs off before the Article 34 emails go out.

Links

See How

New to Kestra?

Use blueprints to kickstart your first workflows.