Automate batch legal research with a Google Sheet on one side and the VaquillDocumentation Index
Fetch the complete documentation index at: https://vaquill.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
/ask API on the other. This integration ships two pre-built templates - one for n8n (open-source, self-hostable) and one for Make.com (cloud, no-code) - that implement the same flow.
What you get
n8n-workflow.json- drop into any n8n instancemake-blueprint.json- drop into any Make.com scenario- Trigger on new rows in a Google Sheet, write answers + sources back automatically
- Automatic retry on 429 / 5xx, graceful stop on 402 (insufficient credits)
- Switch between
standardanddeepmode per row by editing the request body - Support for
chatHistoryto chain follow-up questions
Use cases
- Batch legal research - drop 50 questions into a sheet, get answers with cited sources in minutes
- Automated Q&A pipelines - connect a form to Vaquill for instant responses
- Case-law monitoring - schedule periodic queries about evolving legal topics
- Due-diligence checklists - process compliance questions in bulk
- Client-intake triage - route incoming questions through Vaquill, then forward results to your team
Prerequisites
- Vaquill account - sign up at app.vaquill.ai
- Vaquill API key (
vq_key_...) - generate in Settings > API Keys. See Authentication. - Google account - for Google Sheets access
- n8n instance (cloud or self-hosted) or a Make.com account
Google Sheet setup
Create a Google Sheet with these column headers in row 1:| A | B | C | D | E |
|---|---|---|---|---|
| question | answer | sources | mode | status |
| question | answer | sources | mode | status |
|---|---|---|---|---|
| What is qualified immunity under 42 USC 1983? | (filled by Vaquill) | |||
| What does FRCP Rule 12(b)(6) require? | (filled by Vaquill) | |||
| Find Supreme Court cases on First Amendment compelled speech | (filled by Vaquill) |
Vaquill API reference
| Field | Type | Description |
|---|---|---|
question | string | The legal question to research |
mode | string | "standard" (fast) or "deep" (thorough multi-hop reasoning) |
sources | array | ["corpus"] for case law, ["documents"] for your uploaded docs, or both |
chatHistory | array | Previous Q&A pairs for follow-ups (empty for standalone queries) |
| Status | Meaning | What to do |
|---|---|---|
| 401 | Invalid API key | Check the key starts with vq_key_ and the Bearer prefix is present |
| 402 | Insufficient credits | Top up at app.vaquill.ai/billing |
| 429 | Rate limit exceeded | Wait and retry (the templates handle this automatically) |
Option 1: n8n
Quickstart
Import the workflow
- Open your n8n instance (cloud or self-hosted)
- Go to Workflows > Add Workflow
- Click the three-dot menu (top right) > Import from File
- Upload
n8n-workflow.jsonfrom the repo
Add the Google Sheets credential
- Click the New Question Added node
- Under Credential to connect with, click Create New Credential
- Select Google Sheets OAuth2 API
- Complete the OAuth flow and save
Add the Vaquill API key credential
- Click the Vaquill Ask API node
- Under Credential to connect with, click Create New Credential
- Select Header Auth
- Set:
- Name:
Authorization - Value:
Bearer vq_key_YOUR_ACTUAL_KEY
- Name:
- Save
Point at your sheet
On the New Question Added, Write Answer to Sheet, and Write Error to Sheet nodes, select your spreadsheet and sheet (e.g.
Sheet1) from the dropdowns.Workflow shape
| Node | Purpose |
|---|---|
| New Question Added | Triggers on new rows in the Google Sheet |
| Filter Unanswered | Skips rows that already have an answer |
| Vaquill Ask API | Calls /ask; retries automatically on 429 / 5xx |
| Extract Response Fields | Pulls answer, sources, mode from the JSON response |
| Write Answer to Sheet | Updates the original row with results |
| Insufficient Credits? | On 402, stops the workflow; on other errors, marks the row as error |
Option 2: Make.com
Quickstart
Import the blueprint
- Log in to make.com
- Click Create a new scenario
- Click the three-dot menu > Import Blueprint
- Upload
make-blueprint.json - Click Save
Connect Google Sheets
- Click the first module (Read Questions)
- Click Add next to Connection
- Sign in with Google and grant permissions
- Select your spreadsheet and sheet, and set Table Contains Headers to Yes
Add your Vaquill API key
- Click the second module (Call Vaquill /ask API)
- Find the Authorization header
-
Replace
YOUR_VAQUILL_API_KEYwith your actual key:
Wire the writer
- Click the third module (Write Answer Back)
- Verify the Google Sheets connection and select the same spreadsheet / sheet
- The response mapping is pre-configured:
- Column B (answer):
{{2.data.data.answer}} - Column C (sources): joined source titles
- Column D (mode):
{{2.data.data.mode}} - Column E (status):
processed
- Column B (answer):
Configuration
Switch to deep mode
Change the request bodymode field from "standard" to "deep" for questions that need multi-hop reasoning across multiple cases. Deep mode uses a more capable model and additional retrieval strategies but costs more credits.
Follow-up questions with chatHistory
To chain questions in the same thread, pass previous exchanges inchatHistory:
Search your own documents
Setsources to ["documents"] to search only your uploaded documents, or ["corpus", "documents"] to search both case law and your uploads.
Rate-limit handling
- n8n - the template retries automatically on 429 and 5xx (up to 2 retries with 5-second intervals)
- Make.com - add a Sleep module (e.g. 2 seconds) between iterations for large batches, or enable the built-in error handler with retry
Extending the workflow
Both templates compose with the rest of n8n / Make.com:Deployment
n8n self-hosted vs n8n Cloud
| Option | Best for |
|---|---|
| n8n self-hosted (Docker) | Teams that want full data control and unlimited workflow runs. Free, but you operate the infra. |
| n8n Cloud | Teams that want zero-ops and a managed UI. Paid plans starting around $20 USD/month. |
n8n-workflow.json import works.
Make.com tiers
Make.com is cloud-only. The free tier covers ~1,000 operations per month, which is enough for small batches. Paid plans scale up. Make.com counts each HTTP module call and each sheet row read / written, so a single Vaquill query typically consumes 3 operations (read row, call API, write row).Troubleshooting
| Problem | Cause | Fix |
|---|---|---|
| 401 Unauthorized | Invalid or missing API key | Verify the key starts with vq_key_ and the Bearer prefix is included |
| 402 Payment Required | No credits remaining | Top up at app.vaquill.ai/billing |
| 429 Too Many Requests | Rate limit hit | Add delays between requests; the n8n template retries automatically |
| Empty answer | Question too vague or out of scope | Rephrase; check that sources is set correctly |
| Google Sheets auth error | OAuth token expired | Re-authenticate the Google Sheets connection |
| Workflow not triggering | Trigger not activated | In n8n, toggle the workflow to Active; in Make.com, click Schedule |
Related
Ask API
The endpoint these templates call.
Authentication
Generate and rotate API keys.
Credits
How credit consumption works.
GitHub
Template JSON files and issue tracker.

