n8n is a fair-code, self-hostable workflow automation platform with a native AI Agent node and a visual editor (Node.js/TypeScript). We deployed it on the client's VPC and built an AI claims-triage workflow that keeps PII off third-party SaaS.
A mid-market insurance brokerage wanted to automate inbound claim emails — parse the attachment, classify severity with an LLM, push structured data into Salesforce, and notify the adjuster in Slack — without sending PII to a third-party SaaS like Zapier.
- Running the whole automation, including the LLM step, inside the client's VPC so claim PII never left their network.
- Reliably extracting structured data from messy email attachments and enforcing a JSON schema on the output.
- Routing by severity and keeping a human approval step before any automated customer reply.
We deployed n8n with Postgres and Ollama via the self-hosted AI starter kit on the client's VPC: an IMAP trigger ingests email, a Code node extracts the attachment, a local LLM runs schema-enforced extraction, a Switch routes by severity, and Salesforce/Slack nodes create the case and notify the adjuster.
- A self-hosted n8n + Postgres + Ollama stack in the client's VPC so claim data and the LLM both stay in-network.
- An extraction step that runs a local model with a structured JSON schema, then a Switch node that routes cases by severity.
- Salesforce Case creation and a Slack DM to the assigned adjuster, with an Approval node gating any auto-reply and every run logged to the client's SIEM.
A customized view of the system we shipped for this engagement — the components and how requests and data flow between them.
Before — manual bottleneck flow
Clerk opens each claim email, reads the attachment, and judges severity by hand.
Details are re-typed into a Salesforce case, with frequent transcription errors.
A supervisor manually assigns and emails the right adjuster, adding delay.
After — automated optimized flow
An inbound claim email fires the workflow and the attachment is extracted in-VPC.
A local model returns schema-valid structured data and a severity classification.
A Salesforce case is created and the assigned adjuster is DMed; the run is logged to the SIEM.
“Claims used to sit in an inbox until someone got to them. Now they're triaged the moment they land — case created, severity routed, adjuster notified — and our security team signed off because none of it leaves our network and every run lands in the SIEM.”

