Immigration Digital Paralegal Pipeline

A boutique immigration firm was tracking 500+ active cases in shared Google Sheets, where paralegals copied document expiry dates by hand and version conflicts were constant. The rebuild moved the practice onto a relational database with automated client portals and cognitive document vetting, and the delivered pipeline turns 6-hour manual workflows into 22-minute automated runs that process 500+ cases a month with zero data-entry errors.

16.4x
Faster Processing
100%
Auto-Escalations
0%
Data Entry Errors

Quote this

Immigration Digital Paralegal Pipeline: 16.4x faster processing (6 hours to 22 minutes), 100% auto-escalations, 0% data entry errors.

Source: Dario Cositore, Immigration Digital Paralegal case study on dariocositore.com. Link: https://dariocositore.com/case-studies/immigration-digital-paralegal/

The problem

Google Sheets Bottleneck Causing Compliance Risk

A boutique immigration firm was tracking 500+ active cases across multiple visa categories using shared Google Sheets. Paralegals manually copied document expiry dates from scanned passports, employment contracts, and government letters into cells. With 15+ staff accessing the same sheets, version conflicts were constant. When IRP (Income Requirements) expiry dates changed or documents were uploaded late, there was no automated alert system. Two near-misses with expired applications within one month prompted leadership to seek a solid, automated solution that could handle relational data and trigger time-sensitive escalations.

The stack

Airtable Make.com Claude 4.7 Opus Softr Docparser Zapier SendGrid Supabase

Airtable serves as the relational engine with linked tables for Applications, Documents, Case Workers, and Reminders. Make.com orchestrates all automations including webhook processing, OCR routing, and escalation logic. Claude 4.7 Opus performs deterministic document vetting via JSON schema enforcement. Softr provides secure client portals filtered by logged-in user. A Supabase edge function handles high-volume webhook bursts with Redis caching for rate limiting.

The bottleneck

Manual Document Review & Data Entry at Scale

Three critical failures:

  1. Cross-Table Blindness: Google Sheets couldn't relate which documents belonged to which applications. A passport expiry change required manual search across 20+ tabs to find impacted cases.
  2. Timing Errors: With no automated reminders, 34% of clients submitted renewal applications 1-3 days late, requiring emergency filing fees averaging $1,200 per case.
  3. OCR Bottleneck: Paralegals spent 45 minutes per complex case extracting data from multi-page contracts (employment, financial, property). At 50 cases/month, that was 37.5 hours of billable paralegal time lost to data entry.

The architecture

Relational Document-to-Case Pipeline

Four-layer architecture spanning intake, verification, storage, and notification:

// LAYER 1: Client Upload (Softr Portal) > Client logs in via SSO → Uploads PDF to case-specific folder > Webhook fires to Make.com with {app_id, doc_type, file_url, uploader_id} // LAYER 2: Cognitive Extraction (Claude + Docparser) > IF doc_type = 'employment_contract': > Parse OCR → Claude JSON: {annual_salary, currency, hours_per_week} > IF doc_type = 'passport': > Extract dates → Validate expiry > 6 months > IF doc_type = 'utility_bill': > Extract address → Match against application residence // LAYER 3: Relational Updates (Airtable) > UPDATE Applications[required_docs] SET status = 'uploaded' > UPDATE Documents[verification_status] = 'ai_verified' > IF salary > threshold: UPDATE Applications[risk_level] = 'low' // LAYER 4: Escalation Engine (Make.com timers) > SCHEDULE: IF document_expiry < 90 days from today > → Create Reminder record > → Email client via SendGrid template > → SMS alert to assigned case worker

Airtable Schema: The Applications table links to 4 junction tables via primary keys: Documents (1-to-many), CaseNotes (1-to-many), Reminders (1-to-many), and Communications (1-to-many). Each document has a verification_status field that flows through automations to update the parent Application's overall completeness percentage.

Technical artifact

Airtable-Softr-OCR Pipeline Architecture

Softr Client Portal Upload Documents Make.com Orchestrator Webhook Router Claude 4.7 Opus JSON Schema Extraction Airtable Relational DB Applications | Documents Softr Portal Client View Only SendGrid Email Escalation Alerts Supabase Cache

Figure 1. The document pipeline, from client upload in Softr to the Airtable relational database and out to escalation alerts.

Before / after

Before

Processing Time: 6 hours avg
Manual Entry: 45 min per case
Error Rate: 8-12%
Reminder System: Manual emails
Relational Queries: Impossible
Client Access: None

After

Processing Time: 22 minutes avg
Manual Entry: 0 min
Error Rate: 0%
Reminder System: 100% automated
Relational Queries: Real-time
Client Access: Secure portal

Metrics

What broke (lessons learned)

  1. Claude JSON Schema Failures: Early iterations had Claude return freeform text instead of strict JSON when document quality was poor. Fix: Implemented XML-style system prompts with <json> tag enforcement, plus retry logic with degraded OCR extraction when JSON parsing fails.
  2. Make.com Rate Limits on Bulk Uploads: Client batch-uploaded 150 documents simultaneously, triggering 429 errors on Airtable API. Fix: Added Supabase queue layer with configurable rate limits (30 req/s) and exponential backoff.
  3. Softr Row-Level Security Bypass: Initial Softr setup allowed users to see all records via direct Airtable API links. Fix: Implemented pre-request code step in Make.com to verify user permissions against Supabase auth before returning any data.

What I built

Related systems

Related case studies

Operational dimensionLegacy baselineProduction system
Case processing time6 hours of manual reading and spreadsheet entry22 minutes per case end-to-end (16.4x faster)
Document expiry tracking20+ Google Sheets tabs with manual date checksRelational Airtable schema with 90/60/30-day automated alerts
Extraction accuracyFrequent manual transcription typos on passport dates0% data-entry error rate via strict JSON schema validation
Client status updatesConstant email and phone chasing by applicantsSelf-serve Softr portal showing real-time document verification status

Frequently asked questions

How does the pipeline handle low-quality scans or foreign-language documents?

Documents run through OCR and Claude schema extraction with field-level confidence checks. Any field that fails format validation or falls below the confidence threshold flags a human paralegal for review.

Why replace Google Sheets with Airtable for immigration case management?

Spreadsheets cannot enforce relational integrity between applicants, dependents, passports, and renewal timers. A relational schema links every document and expiry date to its parent application so status updates and escalations fire deterministically.

Are client passports and contracts kept private?

Yes. Documents are processed over zero-retention API endpoints with scoped portal permissions so client files never train external models.

Automate Your Document Workflows

Get the exact Airtable schema, Claude prompts, and Make.com architecture for zero-touch document processing.

Send the Broken Workflow

Stay in the loop.

Technical breakdowns, new system builds, and lessons from deploying autonomous AI. One email a week, direct to your inbox.

One email a week. Leave with one click.