Package Information
Available Nodes
Documentation generating…
Documentation
n8n-nodes-quack-on-demand
An n8n community node that runs SQL against a Quack on Demand FlightSQL edge and returns each result row as an n8n item.
It talks to the edge over raw gRPC (Node has no first-party Flight SQL driver) and decodes the Arrow result stream with apache-arrow. The gRPC stack is @grpc/grpc-js, which is pure JavaScript with no native addon, so the node bundles cleanly. The Flight protocol is inlined, so there is no .proto asset to ship.
Operations
Each operation maps to a Flight SQL command the edge implements natively (no raw SQL workarounds). Int64 and Decimal columns are returned as strings so they serialize cleanly into n8n items.
| Operation | Flight SQL command | Result columns |
|---|---|---|
| Execute Query | CommandStatementQuery |
your query's columns |
| List Catalogs | CommandGetCatalogs |
catalog_name |
| List Schemas | CommandGetDbSchemas |
catalog_name, db_schema_name |
| List Tables | CommandGetTables |
catalog_name, db_schema_name, table_name, table_type |
- Execute Query runs once per input item and emits one output item per row.
- List Schemas / List Tables accept optional LIKE filters (e.g.
tpch%). - List Tables offers a Schema dropdown populated from the edge's schemas (via
CommandGetDbSchemas), so you can browse without typing SQL.
Credentials
Quack on Demand API:
| Field | Default | Purpose |
|---|---|---|
| Host | 127.0.0.1 |
FlightSQL edge host |
| Port | 31338 |
FlightSQL edge port |
| Tenant | acme |
Routing tenant |
| Pool | bi |
Routing pool |
| User / Password | admin / admin |
HTTP Basic credential |
| Superuser | true |
Authenticate against the system realm (bypasses the ACL gate) |
| Use TLS | true |
Edge listens with TLS (the default) |
| Verify TLS Certificate | false |
Validate the chain; leave off to accept the auto-generated self-signed cert |
Install
The package is published on npm as n8n-nodes-quack-on-demand. All install methods require a self-hosted n8n instance (community nodes are not available on n8n Cloud's verified-only mode unless the package is verified).
In the n8n UI (recommended)
- Open Settings → Community Nodes.
- Click Install, enter
n8n-nodes-quack-on-demand, and confirm. - n8n fetches the package from npm and restarts the node loader; the Quack on Demand node then appears in the node picker.
Manual install with npm
For instances where the Community Nodes UI is disabled, install the package into n8n's user nodes directory:
cd ~/.n8n/nodes # create it if it does not exist
npm install n8n-nodes-quack-on-demand
# then restart n8n
Docker
Install the package into the container's nodes directory, for example with a derived image:
FROM docker.n8n.io/n8nio/n8n
USER root
RUN mkdir -p /home/node/.n8n/nodes \
&& cd /home/node/.n8n/nodes \
&& npm install n8n-nodes-quack-on-demand \
&& chown -R node:node /home/node/.n8n
USER node
From source (local development)
npm install
npm run build
# link into your n8n custom extensions directory
mkdir -p ~/.n8n/custom
npm link
cd ~/.n8n/custom && npm link n8n-nodes-quack-on-demand
# then restart n8n
Quick start
Start a Quack on Demand FlightSQL edge if you do not have one running yet:
uvx qod start --demoInstall the node (see above) and restart n8n.
Create a Quack on Demand API credential (Settings → Credentials or from the node itself) pointing at your FlightSQL edge; the defaults match the local demo setup from step 1.
Add the Quack on Demand node to a workflow, pick an operation, and run:
Execute Query against the TPC-H sample data seeded by the demo, for
example:SELECT c_mktsegment, count(*) AS customers FROM tpch1.customer GROUP BY c_mktsegment ORDER BY customers DESCEach result row becomes one n8n item, so this emits one item per market segment.
List Catalogs / Schemas / Tables to browse the edge's catalog without writing SQL.
Releasing a new version (maintainers)
The package is published on npm as a community node (installable on self-hosted n8n). It is not eligible for n8n verification / n8n Cloud: verified nodes may not declare runtime dependencies, and this node bundles @grpc/grpc-js, @grpc/proto-loader, apache-arrow, and protobufjs.
npm install
npm run lint # n8n node conventions (eslint-plugin-n8n-nodes-base)
npm run build # emits dist/ and copies the icon
npm version patch # or minor / major
npm publish # publishConfig.access is already "public"
prepublishOnly re-runs build and lint before every publish.
Notes and limitations
- Self-hosted only in practice. A Code node cannot
requirethese npm packages on n8n Cloud; this packaged node sidesteps that, but installing a community node still needs a self-hosted instance. - TLS. The node pins the edge's self-signed certificate off the wire when Verify TLS Certificate is off. For a hardened deployment install a CA-signed cert on the edge and turn verification on.
- One statement per query. The edge runs a single statement per call; the node does not split multi-statement input.
License
Apache-2.0