⚙Tool
Neo4j Tools
Run Cypher queries against a Neo4j database via the HTTP Query API.
The Neo4j provider executes Cypher statements against a Neo4j database through the HTTP Query API (/db/{database}/query/v2). Use it in a workflow to read from or write to a graph database — for example matching nodes, creating relationships, or running parameterized queries with values pulled from upstream blocks.
Overview
| Property | Value |
|---|---|
| Provider | neo4j |
| Category | tools |
| Auth | Basic Auth (username + password, Base64-encoded into the Authorization header) |
Operations
| Operation | Tool ID | Description |
|---|---|---|
| Run query | neo4j_run_query | Run a Cypher query against a Neo4j database via the HTTP Query API |
Configuration
neo4j_run_query
Runs a single Cypher statement (optionally parameterized) against the target database. It sends a POST to {dbUrl}/db/{database}/query/v2 with a Basic Auth header built from the username and password.
| Parameter | Type | Required | Description |
|---|---|---|---|
dbUrl | string | Yes | Neo4j database URL, e.g. https://<id>.databases.neo4j.io. (Visibility: user-only) |
username | string | Yes | Neo4j username. (Visibility: user-only) |
password | string | Yes | Secret — Neo4j password. Used to build the Basic Auth header. (Visibility: user-only) |
database | string | Yes | The database name (default neo4j). (Visibility: user-only) |
statement | string | Yes | The Cypher statement to execute, e.g. MATCH (n) RETURN n LIMIT 10. (Visibility: user-or-llm) |
parameters | json | No | Parameters referenced by the Cypher statement, e.g. { "name": "Jane" }. (Visibility: user-or-llm) |
Notes:
passwordis a secret credential — mark it as a secret/environment variable rather than hardcoding it.dbUrl,username,password, anddatabaseareuser-only, so the workflow-builder agent cannot fill them from the LLM — they must be supplied as block inputs.statementandparametersareuser-or-llm, so they may be generated by the agent or set directly.
Outputs
neo4j_run_query
data(json) — The Neo4j Query API result (the parsed JSON body returned by the/query/v2endpoint).metadata(json) — Response metadata (currently returned as an empty object).
YAML Example
neo4j_1:
type: neo4j
name: "Neo4j"
inputs:
operation: "neo4j_run_query"
dbUrl: "https://your-id.databases.neo4j.io"
username: "neo4j"
password: "{{NEO4J_PASSWORD}}"
database: "neo4j"
statement: "MATCH (p:Person {name: $name}) RETURN p LIMIT 10"
parameters:
name: "Jane"
connections:
outgoing:
- target: next-block-idTips
- Use parameterized Cypher (
$name) with theparametersfield instead of string-concatenating values intostatement— this avoids injection issues and lets you wire upstream values like{{previousBlock.field}}intoparameters. - Authentication is Basic Auth: the tool Base64-encodes
username:passwordinto theAuthorizationheader. Store thepasswordas an environment variable such as{{NEO4J_PASSWORD}}rather than inline. - Point
dbUrlat your HTTP Query API host (e.g. an AuraDB instancehttps://<id>.databases.neo4j.io). The tool always targets the/db/{database}/query/v2path, so setdatabase(defaultneo4j) to match the database you want to query. - The result graph/records live under the
dataoutput — reference them downstream with{{neo4j_1.data}}.