n8n Node — Coding Agent Reference
Attach this document at the start of any AI session where you are building VH3 AI n8n workflows. It covers the node’s resources, operations, routing decisions, patterns, and constraints, and works with Claude.ai, Claude Code, Cursor, or any chat session with the file attached.
- Source: github.com/VH3DIGITAL/n8n-nodes-vh3ai
- npm: n8n-nodes-vh3ai
- Agent prompts: /agent-kits/n8n-agents
Connecting your AI assistant to n8n
The recommended setup: official n8n connector + this document
The official n8n connector (developed by n8n GmbH, available in the Claude connector directory) connects Claude to your live n8n instance. On instances running n8n v2.18.4 or higher, it exposes the full instance-level MCP — including workflow building, not just execution. What it can do (verified on VH3-managed instances):
Setup (Claude.ai) — step by step:
1
Open Claude Code in Code mode
Switch to Code mode in Claude.ai. Your active connectors appear in the input bar at the bottom of the screen.

2
Open Connectors → Browse connectors
Click on the Connectors area, then click Add → Browse connectors to open the connector directory.

3
Search for n8n in the directory
In the Directory, select Connectors and search for n8n. The official n8n connector by n8n GmbH will appear.

4
In n8n, open Settings → Instance-level MCP
Switch to your n8n instance. Click Settings in the left sidebar and select Instance-level MCP from the menu.

5
Enable MCP and copy the Server URL
Toggle Instance-level MCP on, then copy the Server URL shown in the Connection details panel. This is the URL you’ll paste back into Claude.

VH3-managed instances: Your URL is
https://{your-company}.n8n.vh3.ai/mcp-server/http. Contact VH3 support if Instance-level MCP is not yet enabled on your instance.6
Paste the Server URL and connect
Back in the Claude connector directory, click the n8n connector. When the Install n8n dialog appears, paste your Server URL into the field and click Continue.
7
Allow OAuth access
Claude will ask for permission to access your n8n instance. Click Allow — this grants Claude the ability to list, execute, create, and update workflows on your behalf.

8
Connector active — start building
The n8n connector now appears in your directory and is active in the Claude Code input bar. You can now ask Claude to build, validate, and deploy workflows directly on your instance.

VH3-managed instances: Your n8n URL is
https://{your-company}.n8n.vh3.ai. The n8n-nodes-vh3ai community node and VH3 credentials are pre-installed. Contact VH3 support if you need your MCP access token or API key.This reference document — the VH3 AI layer
The official n8n MCP knows n8n’s built-in nodes and the Workflow SDK. It does not know the VH3 AI community node — its resources, operations, routing rules, or patterns. Without this document, an AI assistant will not know:- Which resource and operation to choose for a given question (section 5)
- That
jobFeedshould be preferred overjobsfor reads (section 3d) - The correct
timeAxisfor performance vs intake questions (section 4) - How
ingestEmailstatus values route downstream (section 6.8) - That custom field IDs must be fetched from the job type first (section 10)
- The exact node type name (
n8n-nodes-vh3ai.vh3Ai) and credential type (vh3AiApi)
Optional: czlonkowski/n8n-mcp (Cursor and offline authoring)
czlonkowski/n8n-mcp is a separate community MCP server. It is not what the official Claude n8n connector uses, and is not required for the build experience described above. Consider it if you are working in Cursor or another editor, want stricter pre-deploy validation, or need offline node schema lookup without a live n8n connection. It uses different tool names (n8n_create_workflow, get_node, etc.) and requires a one-time install via npx or Docker.
Setup: github.com/czlonkowski/n8n-mcp
Summary
1. Identity
2. Credential: vh3AiApi
Four fields are stored in the credential. Two are fixed defaults and should not be changed unless VH3 support instructs otherwise.
When generating a VH3 AI node block in JSON, reference the credential as:
3. Resource taxonomy
The node exposes 30 resources split across three internal API layers. This split is invisible in the UI but critical for understanding timeout, latency, and data freshness expectations.3a. BigChange data resources (CRUD)
These map directly to the BigChange field-service platform. Operations are typically fast (<2 s). The resource values are used in$parameter["resource"].
3b. Web Services resources (BigChange driver API)
Thin proxy over the BigChange Web Services layer. Responses use different envelope shapes (result array, not data).
3c. VH3 AI intelligence resources
These call the FSI intelligence layer. They are slower (2–25 s depending on operation) and consume LLM tokens for synthesis operations.3d. FSI-first principle
When both a BigChange resource and a VH3 AI intelligence resource can answer the same question, prefer the intelligence layer. The FSI layer ingests and enriches all job data continuously. For read operations — job feeds, aggregations, search, analysis, monitoring — it is faster (often cached), returns richer data, and avoids unnecessary load on the BigChange API.The intelligence layer does not write to BigChange. It is read-only for operational intelligence. To create or modify records — jobs, contacts, invoices, notes — use the BigChange CRUD resources (section 3a).
4. The time axis — critical for data quality
Several Job Feed and Aggregate Jobs operations accept adateField or timeAxis parameter. Choosing the wrong axis produces misleading results.
Available timestamp fields
Decision rules
Default toactualStartAt for any performance or workload question. It reflects real field activity and excludes jobs that were planned but never worked.
this_week) is still in progress, say so before drawing conclusions. The compareTo parameter (previous_period, same_period_last_week, same_period_last_month) handles apples-to-apples comparison automatically — prefer it over inventing date ranges.
5. Routing guide — which resource and operation to use
Use this table when the user’s intent is expressed in natural language, to select the right VH3 AI node operation.6. Per-resource operation reference
6.1 Job Feed (jobFeed)
Aggregate metrics:
job_count, completion_rate, first_visit_fix_rate, avg_start_delta_mins, avg_end_delta_mins.
Period presets: today, yesterday, this_week, last_week, this_month, last_month, last_7_days, last_30_days, last_90_days. Override with startDate/endDate for custom ranges.
6.2 Search (search)
Date filtering on semantic search operations is applied client-side after the API responds. Set
maxAgeMonths to limit result age.
6.3 Sentinel (sentinel)
Available sentinels:
carryover_accumulation, customer_noncomplete_anomaly, customer_risk_escalation, data_quality_alert, engineer_performance_slip, fvf_rate_drop, new_problem_site, repeat_failure_escalation, scheduling_accuracy_drift, site_deterioration, sla_breach_cluster, workload_imbalance.
6.4 Report (reports)
Report types:
start_of_day, midday, close_of_business, day_review, start_of_week, midweek, end_of_week.
Set workflow/node timeout to ≥ 30 s for narrative reports.
6.5 Investigate (investigate)
6.6 Case (cases)
6.7 Connie (connie)
For AI Agent workflows, use
connieChat with sessionKey-scoped sessionId so follow-up messages retain context.
6.8 Email (email)
ingestEmail status values — every implementation must route on this field:
PDF vs HTML input: Many FM portals send job orders as PDF attachments rather than HTML body. The
ingestEmail operation accepts plain text (emailText) — it does not process binary PDFs directly. For PDF-based portals, extract the text first using n8n’s Extract From File node before passing it to ingestEmail. Build your workflow to switch on whether the email has a PDF attachment and handle both paths feeding the same ingestEmail node.6.9 Briefing (briefing)
6.10 Account Report (accountReport)
6.11 Pulse (pulse)
6.12 Intelligence (intelligence)
6.13 Weather (weather)
6.14 Users (users)
7. BigChange CRUD resources — operation summary
All BigChange resources follow a consistent pattern. Key operations per resource:Jobs (jobs)
create, update, get, getAll, delete, schedule, unschedule, start, setResult, cancel, addStock, deleteStock, updateStockQty, addWaypoint, deleteWaypoint, addRecurrence
Contacts (contacts)
create, update, get, getAll, getByRef, delete, getGroups
Resources/Engineers (resources)
get, getAll, getGroups
Vehicles (vehicles)
get, getAll, create, update, getGroups
Invoices (invoices)
get, getAll, create, addLine, markSent, markPaid, cancel
Notes (notes)
create, update, get, getAll, delete
Persons (persons)
create, update, get, getAll, delete, getConsentHistory
Quotes (quotes)
get, getAll, create, update, addLine, markSent, markAccepted, markRejected
Sales Opportunities (salesOpportunities)
get, getAll, update, addLine, deleteLine, listProbabilities, listStages
Purchase Orders (purchaseOrders)
get, getAll, create, update, addLine, listSeries
Job Groups (jobGroups)
get, getAll, getStatusHistory
Stock (stock)
getCategories, getDetails, getItems, getMovements, getSuppliers
Reference Data (referenceData)
getDepartmentCodes, getNominalCodes
Worksheets (worksheets)
get, getAll, getQuestions, getAnswers
Worksheet Groups (worksheetGroups)
get, getAll
Job Types (jobTypes)
getAll
8. Using the node as an AI Tool sub-node
BecauseusableAsTool: true is set, the node can be attached directly to an AI Agent node as a tool. The agent reads each operation’s description field at runtime to decide which to call.
Architecture for an agent workflow
Key agent configuration notes
- System prompt: Copy the system message from /agent-kits/n8n-agents. It encodes the time-axis rules, identity scoping, and response format. Do not re-describe parameter enums in the system prompt — they live in the tool descriptions already.
- Memory: Use Buffer Window with
contextWindowLength: 10. SetsessionKeyto the channel ID or user ID so follow-up queries retain context. - Timeouts: Set the VH3 AI Tool timeout to ≥ 30 s. Investigation and narrative reports regularly take 20–25 s; default short timeouts will fail silently.
- Token cost: Each tool call adds tokens. Prefer fast operations (
search,jobFeed,sentinel) in high-frequency triggers. Reserveinvestigateandreportsfor steps that genuinely need language synthesis.
Combining the VH3 AI Tool with other LangChain sub-nodes
Complex ingestion workflows often pair the VH3 AI Tool with other LangChain nodes in the same agent or as adjacent steps. A common pattern is using the Information Extractor node (with a lightweight model such as Gemini Flash) to extract typed custom field values from unstructured email or document text — using the custom field schema fetched from Job Types at runtime to build the extraction prompt. This keeps field extraction data-driven rather than hardcoded to a specific job type, and handles schema changes without workflow edits. See Pattern F in section 9.When to use deterministic nodes vs. an AI Agent
9. Workflow patterns
Pattern A: Daily sentinel digest to Slack
Pattern B: Email triage pipeline
Pattern C: Enriched job briefing on job creation
Pattern D: Monthly account report loop
Pattern E: Conversational ops assistant (AI Agent)
Pattern F: FM portal email → job creation with custom field extraction
This is the core portal ingestion pattern. The key non-obvious steps are the PDF/HTML split, the Information Extractor for custom fields, and the Wait + verify step that handles indexing lag between BigChange creation and FSI visibility.Pattern G: Bulk tabular import (CSV / XLSX → jobs)
Converting spreadsheet rows into synthetic portal email bodies lets the sameingestEmail pipeline handle both live emails and bulk imports without duplicating job creation logic.
10. Important constraints
General
- Never expose internal IDs in agent replies. Use job references, engineer names, customer names, and site addresses.
companyIdin credentials is required for single-record Get operations on BigChange resources. It is not required for VH3 AI intelligence operations.simplify: true(where available) strips null, empty string, and empty array fields from responses — recommended when passing data downstream.returnAll: trueon list operations uses automatic pagination. Only use it when you genuinely need the full dataset; large tenants can have thousands of jobs.- Batch email classification (
batchClassifyEmail) is significantly more efficient than callingclassifyEmailin a loop. Use it whenever you have multiple emails to process in the same step. - Binary data in workflows. Any workflow that handles file attachments (PDFs, spreadsheets, images) should have Binary mode set to Filesystem in the workflow settings. Without this, binary payloads are stored inline with execution records, which causes memory pressure and can silently fail on large files. Set this before building any attachment-handling or import workflow.
Destructive actions — confirm before generating
Custom fields on jobs — fetch the job type first
BigChange jobs support custom fields whose schema is defined per job type. The available fields, their IDs, and their value types vary by tenant configuration. The same principle applies to other entities with custom field support (contacts, resources). If you are unsure whether custom fields are involved, ask.Polling frequency
- Avoid high-frequency polling loops with expensive operations.
investigate,generateReport, andgenerateBriefingare not suitable for loops that run more than once per trigger event. - For sentinel monitoring, prefer
getSentinelResults(cached, returns pre-computed results instantly) overrunSentinels(re-computes) in any schedule that runs more than once or twice per day. - Where BigChange supports webhooks or event-based triggers, use them in preference to polling on a tight schedule.
- If a workflow needs to wait for a job status to change, use a wait/delay node with a reasonable interval rather than a tight loop.
Relative timestamps in expressions
Hardcoded dates make workflows brittle. Use n8n’s Luxon-based$now expression for any date that should be calculated at runtime.
dateFrom, dateTo, startDate, endDate, and month fields. Never hardcode a date string in a workflow intended to run on a schedule.
11. Workflow authoring practice
Sticky notes
Use n8n’s Sticky Note node liberally on the canvas. Add a sticky note:- At the top of every workflow describing its purpose, trigger conditions, and any VH3 or BigChange-specific context a future editor will need.
- Beside any node that calls a write operation, explaining why the write is necessary and what happens if it fails.
- Wherever a parameter value is non-obvious (e.g. a specific contact ID, hardcoded job type, or calculated expression) to explain the reasoning.
- At branch points (Switch, IF) to document the routing logic in plain English.
Capturing user preferences and recurring patterns
When building workflows for a specific tenant or user, notice patterns that emerge in how they describe their work:- Preferred job statuses, result values, or engineer groupings they always filter by.
- Specific customers or sites they monitor closely.
- Report cadences and delivery channels they rely on.
- Naming conventions for workflows, notes, and cases.
12. Quick reference: n8n JSON node block shape
subtitle expression on the node is:
={{$parameter["operation"] + " (" + $parameter["resource"] + ")"}} — you do not need to set it manually in JSON.
Related
n8n Community Node
Installation, credentials, hosting, and operation list.
n8n Agent Prompts
System prompt for AI Agent node workflows.
Verified on n8n
Official integration page and full action catalogue.
GitHub
Source code, changelog, and contribution guide.