Skip to main content

Documentation Index

Fetch the complete documentation index at: https://vaquill.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

Automate batch legal research with a Google Sheet on one side and the Vaquill /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.
Google Sheet (questions) -> Vaquill /ask API -> Google Sheet (answers + sources)
Source: github.com/Vaquill-AI/integrations/n8n.

What you get

  • n8n-workflow.json - drop into any n8n instance
  • make-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 standard and deep mode per row by editing the request body
  • Support for chatHistory to 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

  1. Vaquill account - sign up at app.vaquill.ai
  2. Vaquill API key (vq_key_...) - generate in Settings > API Keys. See Authentication.
  3. Google account - for Google Sheets access
  4. 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:
ABCDE
questionanswersourcesmodestatus
Put your questions in column A. Leave B-E empty - the automation fills them in. Example rows:
questionanswersourcesmodestatus
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

POST https://api.vaquill.ai/api/v1/ask
Authorization: Bearer vq_key_YOUR_API_KEY
Content-Type: application/json
Request body:
{
  "question": "What is qualified immunity under 42 USC 1983?",
  "mode": "standard",
  "sources": ["corpus"],
  "chatHistory": []
}
FieldTypeDescription
questionstringThe legal question to research
modestring"standard" (fast) or "deep" (thorough multi-hop reasoning)
sourcesarray["corpus"] for case law, ["documents"] for your uploaded docs, or both
chatHistoryarrayPrevious Q&A pairs for follow-ups (empty for standalone queries)
Successful response (200):
{
  "data": {
    "answer": "Qualified immunity is a defense available to government officials...",
    "sources": [
      { "title": "Harlow v. Fitzgerald (1982)", "court": "Supreme Court of the United States" }
    ],
    "questionInterpreted": "qualified immunity 42 USC 1983",
    "mode": "standard"
  },
  "meta": {
    "creditsUsed": 1,
    "creditsRemaining": 99
  }
}
Error responses:
StatusMeaningWhat to do
401Invalid API keyCheck the key starts with vq_key_ and the Bearer prefix is present
402Insufficient creditsTop up at app.vaquill.ai/billing
429Rate limit exceededWait and retry (the templates handle this automatically)
See the Errors reference for the full list.

Option 1: n8n

Quickstart

1

Import the workflow

  1. Open your n8n instance (cloud or self-hosted)
  2. Go to Workflows > Add Workflow
  3. Click the three-dot menu (top right) > Import from File
  4. Upload n8n-workflow.json from the repo
2

Add the Google Sheets credential

  1. Click the New Question Added node
  2. Under Credential to connect with, click Create New Credential
  3. Select Google Sheets OAuth2 API
  4. Complete the OAuth flow and save
3

Add the Vaquill API key credential

  1. Click the Vaquill Ask API node
  2. Under Credential to connect with, click Create New Credential
  3. Select Header Auth
  4. Set:
    • Name: Authorization
    • Value: Bearer vq_key_YOUR_ACTUAL_KEY
  5. Save
4

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.
5

Test and activate

  1. Add a test question to column A of your sheet
  2. Click Test Workflow
  3. Verify the answer appears in column B
  4. Toggle the workflow to Active for automatic processing

Workflow shape

[New Question Added] -> [Filter Unanswered] -> [Vaquill Ask API] -> [Extract Response] -> [Write Answer]
                                                     |
                                                 (on error)
                                                     |
                                            [Insufficient Credits?]
                                              /              \
                                        (yes: 402)       (other error)
                                             |                |
                                     [Stop Workflow]   [Write Error to Sheet]
NodePurpose
New Question AddedTriggers on new rows in the Google Sheet
Filter UnansweredSkips rows that already have an answer
Vaquill Ask APICalls /ask; retries automatically on 429 / 5xx
Extract Response FieldsPulls answer, sources, mode from the JSON response
Write Answer to SheetUpdates 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

1

Import the blueprint

  1. Log in to make.com
  2. Click Create a new scenario
  3. Click the three-dot menu > Import Blueprint
  4. Upload make-blueprint.json
  5. Click Save
2

Connect Google Sheets

  1. Click the first module (Read Questions)
  2. Click Add next to Connection
  3. Sign in with Google and grant permissions
  4. Select your spreadsheet and sheet, and set Table Contains Headers to Yes
3

Add your Vaquill API key

  1. Click the second module (Call Vaquill /ask API)
  2. Find the Authorization header
  3. Replace YOUR_VAQUILL_API_KEY with your actual key:
    Bearer vq_key_abc123...
    
4

Wire the writer

  1. Click the third module (Write Answer Back)
  2. Verify the Google Sheets connection and select the same spreadsheet / sheet
  3. 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
5

Test and schedule

  1. Click Run once to test
  2. Check the sheet for results
  3. Click Schedule to enable automatic runs (e.g. every 15 minutes)

Configuration

Switch to deep mode

Change the request body mode 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 in chatHistory:
{
  "question": "What did the court say about the burden of proof?",
  "mode": "standard",
  "sources": ["corpus"],
  "chatHistory": [
    {
      "role": "user",
      "content": "What is qualified immunity under 42 USC 1983?"
    },
    {
      "role": "assistant",
      "content": "Qualified immunity is a defense available to government officials..."
    }
  ]
}

Search your own documents

Set sources 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:
Google Sheets -> Vaquill /ask -> Write Answer
                                    |
                                    +-> Slack notification
                                    +-> Email summary
                                    +-> Airtable record
                                    +-> Webhook to your app

Deployment

n8n self-hosted vs n8n Cloud

OptionBest for
n8n self-hosted (Docker)Teams that want full data control and unlimited workflow runs. Free, but you operate the infra.
n8n CloudTeams that want zero-ops and a managed UI. Paid plans starting around $20 USD/month.
Either way, the same 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).
For large nightly batches, n8n is usually more economical because pricing is per workflow execution, not per node operation.

Troubleshooting

ProblemCauseFix
401 UnauthorizedInvalid or missing API keyVerify the key starts with vq_key_ and the Bearer prefix is included
402 Payment RequiredNo credits remainingTop up at app.vaquill.ai/billing
429 Too Many RequestsRate limit hitAdd delays between requests; the n8n template retries automatically
Empty answerQuestion too vague or out of scopeRephrase; check that sources is set correctly
Google Sheets auth errorOAuth token expiredRe-authenticate the Google Sheets connection
Workflow not triggeringTrigger not activatedIn n8n, toggle the workflow to Active; in Make.com, click Schedule

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.