Introduction
Legal teams spend countless hours on repetitive document work. A contract lands in your inbox; you skim it, extract key terms, identify risks, write a summary, then move it into your case management system. If you handle ten contracts a week, that's entire days lost to mechanical reading and retyping.
The frustration is compounded because you're not doing anything a machine can't do better. You're not making strategic decisions; you're extracting facts. Yet without automation, this work stays on your task list, blocking time you could spend on actual legal analysis or client strategy.
This workflow combines three AI tools to turn document analysis into a hands-free process. Once you send a PDF to a designated folder or email address, the system reads it, extracts a structured summary, and delivers the results to your team. No copy-pasting. No manual handoffs between tools. Just documents in, insights out.
The Automated Workflow
We'll build this workflow using four components: a trigger (document arrival), three AI analysis layers, and a final destination (your team). Zapier or Make work well for this; we'll show both approaches. If you prefer lower-cost automation, n8n runs on your own infrastructure. Claude Code is useful for testing API responses locally before wiring everything together.
Why This Combination?
Chat-with-PDF-by-Copilotus extracts granular information from PDFs through conversational queries. Resoomer-AI generates concise bullet-point summaries from longer text. Wordsmith-AI polishes and reframes output into structured formats. Together, they handle extraction, condensing, and presentation. Each tool does one job well; orchestration glues them into a pipeline.
Architecture Overview
The flow looks like this:
- Document uploaded to cloud storage (Google Drive, OneDrive, Dropbox)
- Orchestrator detects new file, passes it to Chat-with-PDF
- Chat-with-PDF extracts key clauses, obligations, and dates
- Raw extraction sent to Resoomer for condensing
- Condensed summary sent to Wordsmith for formatting
- Final output posted to Slack, saved to Google Sheets, or emailed to your team
Using Zapier
Zapier is easiest for non-technical users. Create a new zap with these steps:
Step 1: Trigger. Choose "Google Drive" and select "New File in Folder". Point it to your legal intake folder.
Step 2: Format data. Use a Formatter step to extract the file ID and pass it to Chat-with-PDF.
Step 3: Call Chat-with-PDF. Use Zapier's "Webhooks by Zapier" action to POST to the Chat-with-PDF API:
POST https://api.chat-with-pdf-by-copilotus.com/v1/analyze
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"file_url": "https://drive.google.com/uc?id={{FILE_ID}}",
"queries": [
"What are the key parties to this agreement?",
"What are the main obligations and deadlines?",
"What termination clauses exist?",
"What are the payment terms?",
"What liability or indemnification clauses are present?"
]
}
The API returns structured JSON with extracted answers. Store these in a variable for the next step.
Step 4: Send to Resoomer. Use another Webhook action to post the Chat-with-PDF output:
POST https://api.resoomer.com/api/summarize
Content-Type: application/json
Authorization: Bearer YOUR_RESOOMER_KEY
{
"text": "{{CHAT_WITH_PDF_OUTPUT}}",
"summary_type": "bullet_points",
"language": "en",
"level": 2
}
Resoomer returns a condensed bullet-point summary. Use Zapier's "Filter by Zapier" action to handle errors: if the response contains an error status, log it and alert you.
Step 5: Send to Wordsmith for formatting. Wordsmith accepts plain text and restructures it. Use a Webhook action:
POST https://api.wordsmith.ai/v1/format
Content-Type: application/json
Authorization: Bearer YOUR_WORDSMITH_KEY
{
"content": "{{RESOOMER_OUTPUT}}",
"template": "legal_summary",
"style": "formal",
"include_metadata": true
}
Step 6: Store the result. Choose a Zapier action for your destination. For a Google Sheet:
Action: Google Sheets - Create Spreadsheet Row
Spreadsheet: Legal Documents Summary
Sheet: Contracts
Fields:
- Document Name: {{FILE_NAME}}
- Upload Date: {{FILE_CREATED}}
- Key Parties: {{CHAT_WITH_PDF_PARTIES}}
- Summary: {{WORDSMITH_OUTPUT}}
- URL to Original: {{FILE_LINK}}
Turn on the Zap. Test it with a sample contract PDF.
Using Make (Integromat)
Make offers more control and lower cost than Zapier at scale. Build the same workflow this way:
-
Create a new scenario. Add a Google Drive trigger: "Watch Files" on your legal folder.
-
Add a "Make an HTTP Request" module to call Chat-with-PDF:
Method: POST
URL: https://api.chat-with-pdf-by-copilotus.com/v1/analyze
Headers:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Body (JSON):
{
"file_url": "{{1.download_url}}",
"queries": ["What are the key parties?", "What are the obligations?", "What is the termination clause?", "What are payment terms?"]
}
- Add a text aggregator to combine the Chat-with-PDF output into a single string, then feed it to Resoomer:
Method: POST
URL: https://api.resoomer.com/api/summarize
Headers:
Authorization: Bearer YOUR_RESOOMER_KEY
Body (JSON):
{
"text": "{{2.body}}",
"summary_type": "bullet_points",
"language": "en"
}
- Pass Resoomer's output to Wordsmith. Add another HTTP Request module:
Method: POST
URL: https://api.wordsmith.ai/v1/format
Headers:
Authorization: Bearer YOUR_WORDSMITH_KEY
Body (JSON):
{
"content": "{{3.body.summary}}",
"template": "legal_summary"
}
- Add a final module to save results. Use Google Sheets "Add a Row":
Spreadsheet: Legal Documents
Sheet: Contracts
Row with:
Document: {{1.filename}}
Parties: {{2.parties}}
Summary: {{4.body.formatted_text}}
Date: {{now}}
Make routes errors through its built-in error handler. Right-click any module and set "Continue on error" if you want the workflow to skip a step gracefully.
Using n8n
If you want zero cloud dependency, run n8n on your own server. The workflow is similar, but you control the infrastructure.
Install n8n and create a new workflow. Add nodes in this order:
-
Google Drive Trigger node: "On File Created" pointing to your intake folder.
-
HTTP Request node for Chat-with-PDF:
Method: POST
URL: https://api.chat-with-pdf-by-copilotus.com/v1/analyze
Authentication: Bearer Token
Token: YOUR_API_KEY
Body (JSON):
{
"file_url": "={{$node["Google Drive Trigger"].data.webViewLink}}",
"queries": ["What are the key parties?", "What are the main obligations?", "What is the term?", "What are the payment terms?"]
}
- Code node to clean up Chat-with-PDF output. Use this snippet:
const response = JSON.parse(items[0].json.body);
return {
json: {
parties: response.answers[0],
obligations: response.answers[1],
term: response.answers[2],
payment: response.answers[3],
raw_text: response.full_text
}
};
- HTTP Request node for Resoomer:
Method: POST
URL: https://api.resoomer.com/api/summarize
Authentication: Bearer Token
Token: YOUR_RESOOMER_KEY
Body (JSON):
{
"text": "={{$node["Code"].json.raw_text}}",
"summary_type": "bullet_points"
}
- HTTP Request node for Wordsmith:
Method: POST
URL: https://api.wordsmith.ai/v1/format
Authentication: Bearer Token
Token: YOUR_WORDSMITH_KEY
Body (JSON):
{
"content": "={{$node["Resoomer"].json.summary}}"
}
- Google Sheets node to write the final row:
Operation: Append
Spreadsheet: Legal Documents
Sheet: Contracts
Columns: Document Name, Parties, Obligations, Summary, Upload Date
n8n's advantage: you pay nothing per execution, only for the server. Disadvantage: you maintain it yourself.
Testing and Validation
Before going live, test each connection individually. Use Claude Code or Postman to make direct API calls:
curl -X POST https://api.chat-with-pdf-by-copilotus.com/v1/analyze \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"file_url":"https://example.com/contract.pdf","queries":["What are the key dates?"]}'
Inspect the JSON response. Does it contain what you expect? If an API returns an error, check your authentication token and the file URL format. Once each tool works independently, wire them into your orchestrator.
The Manual Alternative
If you prefer more control over each step, you can run the tools sequentially without full automation. This suits teams where contract analysis varies widely in scope.
-
Upload PDF to Chat-with-PDF-by-Copilotus via their web interface. Ask specific questions about the contract (parties, obligations, dates, payment terms, termination clauses).
-
Copy the extracted information into a text editor.
-
Paste the text into Resoomer's web interface to generate a condensed summary.
-
Take the summary and paste it into Wordsmith, selecting the "legal summary" template for formatting.
-
Copy the final output into your Google Sheet or case management system.
This approach takes 15 to 20 minutes per contract, compared to 5 to 10 minutes fully automated. The upside is flexibility; you can ask ad-hoc questions and tweak the analysis on the fly. The downside is that it still involves manual copying and pasting, which defeats much of the efficiency gain.
For teams handling more than five contracts per week, full automation pays for itself quickly.
Pro Tips
Rate Limiting and Batch Processing
Chat-with-PDF-by-Copilotus typically allows 100 API calls per day on starter plans. If your firm processes 20 contracts daily, you'll hit that limit. Solution: schedule the Zap or Make scenario to run during off-hours, batching documents overnight. Use a delay module (5 second pause between API calls) to avoid throttling.
Error Handling and Retries
PDFs with scans or poor OCR sometimes confuse the AI tools. Set up error notifications: if Chat-with-PDF returns low confidence on key fields, send a Slack message asking a human to review. In Make, use the error handler to retry failed API calls twice with exponential backoff (5 second wait, then 10 seconds) before alerting you.
Partial Extractions
Wordsmith occasionally outputs incomplete formatting if the input is malformed. Test with a variety of contract types (NDAs, service agreements, employment contracts) before going live. If you see pattern failures on certain document types, adjust the queries you send to Chat-with-PDF or pre-process the text in a Code step.
Cost Optimisation
Chat-with-PDF charges per page analysed. A 50-page contract costs more than a 5-page NDA. If you're processing high-volume short documents, switching to a per-document flat rate plan saves money. Resoomer charges per summarisation; set a limit of 2 to 3 summaries per document to avoid doubling up on work. Wordsmith is typically included in Zapier or Make bundles, so incremental cost is negligible.
Audit Trail
Store the original PDF URL and timestamps in your Google Sheet. If a stakeholder questions why a certain clause was summarised a certain way, you can trace back to the original and verify the AI's work. Include a "Human Review" column and mark contracts reviewed before relying on them for legal decisions.
Cost Breakdown
| Tool | Plan Needed | Monthly Cost | Notes |
|---|---|---|---|
| Chat-with-PDF-by-Copilotus | Pro (500 API calls) | £25–40 | Pay per API call after limit; £0.05–0.10 per extra call |
| Resoomer-AI | Standard (50 summaries/month) | £10–20 | Add-on subscriptions available for higher volume |
| Wordsmith-AI | Included in Make/Zapier | £0 | Bundled; no separate fee |
| Zapier | Team plan (100 tasks/month) | £25–50 | Scale up if processing >100 documents monthly |
| Make | Standard (1,000 operations) | £10–30 | Operations are cheaper than Zapier at volume |
| n8n | Self-hosted (free) + server | £0–30/month | Only cost is your cloud server (AWS, Linode, etc.) |
Total monthly cost using Zapier and APIs: approximately £60–130 for a small team processing 20-40 contracts monthly. Using Make instead of Zapier reduces this to £40–80. Self-hosted n8n pushes it to £30–50 if you run a low-cost server.
The time savings alone justify the expense. If a paralegal spends 10 hours weekly on contract summaries at £25/hour, that's £1,000 monthly in labour cost. Automation recouples that spend within two to three months, then runs essentially free.