Selected builds spanning agentic AI, workflow automation, and business intelligence dashboards.
FILE/02
Customer Feedback Automation Pipeline
Engineered an event-driven automation engine to categorize inbound user feedback via Gemini, dynamically route urgent items, sync records to Airtable, and handle API retries.
PythonFastAPIGoogle GeminiWebhooks & APIs
Architecture
System Architecture
What the project actually does:
It's a closed-loop feedback intake system: instead of a form submission just landing in a spreadsheet, it gets read, judged, routed, and acted on automatically - no human triaging incoming complaints.
Part 1: Ingestion & Intelligence Layer
Feedback Form Submitted: A webhook fires the moment someone submits the form (could be Typeform, a custom HTML form, or Google Forms piping into n8n). This is the entry point of the whole automation - everything downstream depends on this payload.
AI Agent Classification: The raw text of the feedback gets sent to an LLM (Google Gemini in your case) acting as a classification agent. Rather than hardcoding keyword rules ("if message contains 'refund', flag urgent"), the model reads the message for sentiment and severity and returns a structured judgment - essentially turning unstructured complaint text into a priority label the workflow can act on.
Part 2: Routing, Syncing & Resilience Layer
Switch: Route by Priority: This is the decision point. n8n's Switch node reads that classification output and forks execution into two branches based on a condition (e.g. priority == "high"). This is what makes it agentic rather than a straight-line pipeline - the workflow's path literally changes based on what the AI decided.
Branch A — High-priority complaint: For urgent cases, two things fire in the same branch: a Slack message pings the team channel in real time so a human knows immediately, and the Gmail API sends a personalized acknowledgment/resolution email back to the customer - so the person who complained isn't left hanging while the team responds.
Branch B — Standard feedback: Lower-priority or positive feedback skips the alerting and just gets logged straight through, so the system isn't crying wolf on every 5-star review.
Merge: sync to Airtable CRM: Both branches converge back into a single Merge node, which writes a structured, uniform record into Airtable regardless of which path it took. This is the "single source of truth" step — every piece of feedback, urgent or not, ends up as one clean row you can report on later.
Error handling & retry logic: Wrapping the whole thing, this catches failures in any of the API calls (Slack down, Gmail rate-limited, Airtable timeout) and retries automatically instead of silently dropping a customer's feedback.
Get in touch
Contact
Have a role, a project, or a question? Fill out the form or reach out directly.