Alchemy RecipeIntermediateworkflow

Insurance claim assessment report generation from documents

Published

Insurance claim assessment is a process that drowns organisations in paperwork. A claim arrives; someone prints it, reads it, extracts key details, cross-references policy documents, writes up findings, then routes the report to the next person. Each step introduces delays, human error, and the constant risk of something falling through the cracks. For more on this, see Insurance claim documentation and assessment automation.

The real problem is that these documents are not inherently difficult to analyse. PDFs contain structured data. Policy documents sit in your system. The work is repetitive, rule-based, and perfectly suited to automation. Yet most insurers still process claims manually because no one tool does everything, and wiring multiple tools together has seemed too complicated for the average operations team.

This workflow changes that. By combining CaseGuard Studio AI for document analysis, Chat with PDF by Copilotus for intelligent document querying, and Wordsmith AI for report generation, you can build a fully automated claim assessment pipeline. A claim document arrives, gets analysed for key facts, cross-referenced against policy terms, and a formal assessment report is generated and stored, all without anyone touching a keyboard....... For more on this, see Automated legal document review and client summary genera....

The Automated Workflow

This workflow is best built in n8n. Whilst Zapier and Make can handle parts of it, n8n gives you the control and webhook flexibility you need for insurance documents, where accuracy and audit trails matter. If you prefer a fully hosted solution with less setup overhead, Make works well too.

Architecture Overview

The workflow moves through four stages: document ingestion, fact extraction, policy cross-reference, and report generation.

When a claim document lands in your email inbox or cloud storage (we will use email as the trigger for this example), the workflow activates. CaseGuard Studio AI scans the document for claimant details, incident dates, damage descriptions, and liability indicators. Those extracted facts are then sent to Chat with PDF by Copilotus, which queries your stored policy documents to flag any coverage gaps or exclusions that apply. Finally, Wordsmith AI stitches everything together into a professionally formatted assessment report, which is saved to your records system and a copy sent to the claims manager via email.

Setting Up n8n

First, download and install n8n locally, or sign up for n8n Cloud. The local version is free and fine for testing; Cloud is about £50 per month for production use.

Once running, you need to:

  1. Create a Webhook trigger node to receive documents.
  2. Add an Email trigger node to watch your claims inbox.
  3. Connect nodes for document extraction, querying, and generation.
  4. Test against a real claim PDF.

Step 1: Email Trigger

Configure n8n to monitor your email account. You can use Gmail, Outlook, or any IMAP-enabled provider. The trigger watches for emails with attachments (your claim PDFs).


Email Trigger Configuration:
- Service: Gmail (or your email provider)
- Mailbox: Claims@yourinsurer.com
- Attachment handling: Download attachments
- Only process new emails: Yes
- Polling interval: Every 5 minutes

Step 2: CaseGuard Studio AI Document Analysis

CaseGuard extracts structured data from insurance documents. You will need your API key from the CaseGuard dashboard. The API accepts base64-encoded PDFs and returns JSON with extracted fields.

First, convert the PDF attachment to base64. In n8n, use the "Move Binary File" node to prepare the attachment, then the "Function" node to encode it.

// Function node in n8n to prepare the document
const attachmentData = $input.first().binary.data;
const base64String = Buffer.from(attachmentData).toString('base64');

return {
  document_base64: base64String,
  document_name: $input.first().json.attachmentName
};

Then add an HTTP Request node to call CaseGuard:


HTTP Request Node:
- Method: POST
- URL: https://api.caseguard.io/v1/documents/analyse
- Authentication: Bearer Token
- Token: [Your CaseGuard API Key]
- Body (JSON):
{
  "document_base64": "{{ $node.FunctionNode.json.document_base64 }}",
  "document_type": "claim_form",
  "extract_fields": [
    "claimant_name",
    "claimant_contact",
    "incident_date",
    "incident_location",
    "damage_description",
    "claim_amount",
    "liability_assessment",
    "witness_details"
  ]
}

CaseGuard returns a response like this:

{
  "document_id": "doc_a1b2c3d4",
  "extracted_fields": {
    "claimant_name": "Sarah Mitchell",
    "claimant_contact": "sarah.mitchell@email.com",
    "incident_date": "2024-02-15",
    "incident_location": "45 Chapel Road, Bristol, BS1 5BB",
    "damage_description": "Water damage to ground floor following pipe burst. Estimated repair cost £8,500.",
    "claim_amount": "8500",
    "liability_assessment": "Insured party not at fault; third party liability unlikely",
    "witness_details": "None"
  },
  "confidence_scores": {
    "claimant_name": 0.98,
    "incident_date": 0.95,
    "claim_amount": 0.92
  }
}

Store this output in a variable so you can reference it in the next steps.

Step 3: Policy Cross-Reference with Chat with PDF

Now you have the claim facts. The next step is to check them against the relevant policy document. Chat with PDF by Copilotus lets you upload policy PDFs and query them with natural language.

You will need to set this up slightly differently from a standard API call. Chat with PDF works best when you upload your policy PDFs once and store their document IDs. Then, for each claim, you send a query about what you extracted.

First, upload your policy documents to Chat with PDF and note their document IDs:


Chat with PDF Upload:
- Go to https://chat-with-pdf.copilotus.ai/
- Upload your master policy document
- Note the document_id from the response
- Store this in n8n as a variable (e.g., POLICY_DOCUMENT_ID)

Then, in your n8n workflow, add an HTTP Request node to query the policy:


HTTP Request Node:
- Method: POST
- URL: https://api.copilotus.ai/chat/query
- Authentication: Bearer Token
- Token: [Your Chat with PDF API Key]
- Body (JSON):
{
  "document_id": "{{ $env.POLICY_DOCUMENT_ID }}",
  "query": "Does this policy cover water damage to a residential property from internal pipe burst at {{ $node.CaseGuardAnalysis.json.extracted_fields.incident_location }}? Are there any exclusions that apply?"
}

The response will be something like:

{
  "answer": "Yes, internal water damage is covered under Section 3 (Accidental Damage) with no specific exclusion for pipe bursts. However, the policy requires that the damage was not caused by lack of maintenance or failure to carry out repairs. Damage is covered up to £15,000.",
  "relevant_sections": [
    {
      "section": "Section 3: Accidental Damage",
      "page": 8,
      "excerpt": "We cover accidental damage to the insured property, including water damage caused by burst pipes, excluding damage caused by gradual seepage..."
    }
  ],
  "confidence": 0.94
}

Store this in another variable for the final step.

Step 4: Report Generation with Wordsmith AI

Wordsmith AI is a text generation tool that takes structured data and turns it into professionally formatted documents. You provide the facts and a template, and it writes the report.

Add a Function node to compile all your data into a prompt for Wordsmith:

// Function node to prepare data for Wordsmith
const claimData = $node.CaseGuardAnalysis.json.extracted_fields;
const policyData = $node.PolicyQuery.json;

const prompt = `
Generate a professional insurance claim assessment report using the following information:

CLAIM DETAILS:
- Claimant: ${claimData.claimant_name}
- Contact: ${claimData.claimant_contact}
- Incident Date: ${claimData.incident_date}
- Location: ${claimData.incident_location}
- Damage Description: ${claimData.damage_description}
- Claimed Amount: £${claimData.claim_amount}
- Liability Assessment: ${claimData.liability_assessment}

POLICY REVIEW:
${policyData.answer}

REPORT STRUCTURE:
1. Executive Summary
2. Claim Details
3. Incident Assessment
4. Policy Coverage Analysis
5. Preliminary Recommendation
6. Next Steps

Use professional insurance language. Keep the tone neutral and factual.
`;

return {
  prompt: prompt,
  claimant_name: claimData.claimant_name,
  claim_id: $node.CaseGuardAnalysis.json.document_id
};

Then call Wordsmith AI:


HTTP Request Node:
- Method: POST
- URL: https://api.wordsmith.ai/generate
- Authentication: Bearer Token
- Token: [Your Wordsmith API Key]
- Body (JSON):
{
  "prompt": "{{ $node.PreparePrompt.json.prompt }}",
  "style": "professional",
  "length": "medium",
  "format": "markdown"
}

Wordsmith returns:

{
  "generated_text": "# CLAIM ASSESSMENT REPORT\n\n**Claim ID:** doc_a1b2c3d4\n**Claimant:** Sarah Mitchell\n**Assessment Date:** 15 February 2024\n\n

## Executive Summary\nThis claim relates to water damage sustained at 45 Chapel Road, Bristol, resulting from an internal pipe burst.

The claimed amount is £8,500. Initial policy review indicates coverage is likely available under the Accidental Damage section, subject to standard conditions...",
  "word_count": 1247,
  "estimated_read_time": "5 minutes"
}

Step 5: Save and Send

Finally, save the report. Use a "Write Binary File" node to save it as a PDF, or simply write it to your database.

Then send it to the claims manager via email:


Email Node:
- To: claims-manager@yourinsurer.com
- Subject: Claim Assessment Report - {{ $node.PreparePrompt.json.claimant_name }}
- Body: Please see attached assessment report for claim {{ $node.PreparePrompt.json.claim_id }}
- Attachment: [Generated report PDF]

Complete Workflow Diagram (Text)

Email arrives with claim PDF → CaseGuard extracts facts → Function node prepares policy query → Chat with PDF checks coverage → Function node compiles report prompt → Wordsmith generates report → Save to database → Email report to claims team.

Each step passes its output as input to the next. There are no manual handoffs, no copy-pasting, no opportunity for human error.

The Manual Alternative

If you prefer more control over each step, or if your policies are too complex for automated querying, you can run this workflow with human approval gates.

Add a "Wait for Webhook" or "Manual Trigger" node after CaseGuard extracts the facts. A claims manager reviews the extracted data, confirms it is correct, and manually approves the policy check. Only then does the workflow proceed to report generation.

This hybrid approach trades some automation benefit for added accuracy and compliance confidence, which some organisations prefer, especially for high-value claims.

Pro Tips

Error Handling and Confidence Thresholds

CaseGuard and Chat with PDF both return confidence scores. If CaseGuard returns a confidence below 0.85 for critical fields like claim amount, do not auto-generate the report. Instead, flag the claim for manual review. Add a conditional node in n8n:


Conditional Node Logic:
- If confidence_score < 0.85 for claim_amount: Route to manual review queue
- Else: Proceed to policy query

This prevents low-quality extractions from creating bad reports.

Rate Limits and Throttling

CaseGuard and Chat with PDF both have rate limits. CaseGuard allows 100 documents per minute on the Standard plan. If your claims volume exceeds this, use n8n's "Queue" functionality to spread requests over time, rather than processing all claims simultaneously. This also protects your API quota.

Testing Against Real Documents

Before deploying to production, run the workflow against 10-20 real historical claims. Compare the auto-generated reports to your existing manual assessments. You will likely need to tweak the Wordsmith prompt or add additional data fields. Do not skip this step.

Cost Optimisation: Batch Processing

If you process claims in batches (daily or weekly digests rather than real-time), use n8n's Scheduler node to trigger the workflow at off-peak times. This can reduce costs if your plan charges by peak usage, and it also ensures reports are ready for morning review meetings.

Audit Trail and Compliance

Insurance is heavily regulated. Log every step of this workflow. Store the CaseGuard extraction output, the Chat with PDF query and response, and the final generated report in your database, linked to the claim ID. This creates an audit trail showing exactly what the system saw and how it decided. Your compliance team will thank you.

Cost Breakdown

ToolPlan NeededMonthly CostNotes
CaseGuard Studio AIStandard£200100 documents per minute; overage at £2 per 10 documents
Chat with PDF by CopilotusProfessional£100Unlimited queries on stored documents; £0.05 per page for new uploads
Wordsmith AIBusiness£1505,000 generations per month; £0.03 per generation over limit
n8n CloudPro£50Production-grade hosting; local version is free if self-hosted
Total£500For a team processing 200+ claims per month

If you self-host n8n locally, the total drops to £450 per month. If your claim volume is under 50 per month, use n8n's free tier and drop to £350 total.

More Recipes