Skip to content
Automation

Automation · 09

Automation Engineering Playground

The n8n side of AEP, a web-based learning app I built for automation engineering. Ten guided labs each practise one reliability pattern, and a four-workflow capstone joins them into an AI service agent, so learners see how real automations handle bad input, duplicates, failures and risky AI decisions.

Stack
  • n8n
  • Gemini
  • Supabase
  • Webhooks

01 / 13

n8n canvas of the AEP capstone AI service request agent
Open full size (opens in a new tab)

Image 1 of 13: n8n canvas of the AEP capstone AI service request agent

Overview

The problem. Most automation tutorials stop at the happy path. Real workflows also have to handle bad input, duplicate events, failing APIs, unreliable AI output and decisions that should wait for a person.

What I built. I built the labs in n8n, from data mapping, routing, webhooks and pagination to retries with backoff, idempotency, dead letter queues, structured AI output and AI guardrails. The capstone joins them: a service request agent with duplicate protection and a validated Gemini decision, a reliable action executor, a dead-letter recovery handler and a human approval handler.

Why it helps. Learners practise each failure pattern on its own, then see all of them working together in one system.

System flow

14 workflows

How the workflows connect.

  1. Nodes: Webhook (Receive Service Request). Next: AI Service Request Agent.
    Nodes: Webhook (Receive Human Decision). Next: Human Approval Handler.
    Nodes: Webhook (Receive Recovery Request). Next: DLQ Recovery Handler.
  2. Validates, dedupes, asks Gemini and applies guardrails (30 nodes). Nodes: Supabase ×9; Code ×5; IF ×5; Respond to Webhook ×4; Edit Fields (Set) ×2; Other nodes ×5. Next: Reliable Action Executor.
    Applies an approve/reject decision (14 nodes). Nodes: Supabase ×5; Respond to Webhook ×3; Edit Fields (Set) ×2; IF ×2; Webhook; Other nodes ×1. Next: Reliable Action Executor.
    Replays a failed action (15 nodes). Nodes: Supabase ×5; Respond to Webhook ×3; IF ×2; Code ×2; Webhook; Other nodes ×2. Next: Reliable Action Executor.
  3. Every action runs here: once, with retries and a DLQ (21 nodes). Nodes: Supabase ×7; Code ×5; IF ×4; Edit Fields (Set) ×3; Execute Workflow Trigger; Other nodes ×1. Next: Supabase.
  4. processed_events, service_actions, approval_requests, dlq_events, execution_logs. End of flow.
Hover, focus or tap a stage to see the nodes behind it.