@scale-out-at/n8n-nodes-phoenix
v0.1.0
Published
n8n node to fetch prompts from Arize Phoenix Prompt Management
Maintainers
Readme
n8n-nodes-phoenix
An n8n community node to fetch prompts from Arize Phoenix Prompt Management.
It mirrors the Langfuse "Get Prompt" node: retrieve a prompt version by latest, by tag (label), or by version ID.
Installation · Operations · Credentials · Development · Resources
Installation
Follow the community node installation guide.
Install via the package name:
@scale-out-at/n8n-nodes-phoenixOn n8n Cloud / self-hosted: Settings → Community Nodes → Install and enter the package name above.
Operations
Prompt → Get
Retrieves a prompt version. Choose Retrieve By:
| Retrieve By | Inputs | Phoenix endpoint |
| --- | --- | --- |
| Latest | Prompt Name or ID | GET /v1/prompts/{identifier}/latest |
| Tag (Label) | Prompt Name or ID + Tag Name | GET /v1/prompts/{identifier}/tags/{tag} |
| Version ID | Prompt Version ID | GET /v1/prompt_versions/{id} |
Returns the PromptVersion payload ({ data: { ... } }) — template, model, invocation parameters, tools, etc.
Variables
Optionally fill Mustache placeholders in the fetched prompt before it leaves the node. Add rows
under Variables (an array of Name / Value pairs); each {{Name}} in the prompt template is
replaced with its Value.
- Inner whitespace is allowed:
{{Name}}and{{ Name }}both match. - Substitution is scoped to the template only — chat
messages[].content(string or content-part arrays) and string templates. All other fields (ids, model, invocation parameters, message roles) are left untouched. - Single pass: a
Valuethat itself contains{{...}}is not re-substituted. - Unmatched placeholders are left as-is. Leaving Variables empty returns the prompt unchanged.
Example: prompt content Hello {{name}}, welcome to {{product}} with rows
name = Ada, product = Phoenix → Hello Ada, welcome to Phoenix.
Credentials
Create an Arize Phoenix API credential:
- Phoenix Base URL — e.g.
https://app.phoenix.arize.com(cloud) orhttp://localhost:6006(self-hosted). - API Key — sent as
Authorization: Bearer <key>.
The credential Test calls GET /v1/projects to verify access.
Development
Requires Node.js >=20.15.
npm install
npm run build # tsc + copy icons to dist/
npm run lint # eslint-plugin-n8n-nodes-base
npm test # jest unit tests (variable substitution)Tests live in test/ and run on every PR via .github/workflows/ci.yaml; results are published as a
Unit Tests check with a pass/fail summary.
Local testing: npm link this package into ~/.n8n/custom and restart n8n. See the n8n node dev docs.
Versioning & releases
Releases are automated. Versioning uses GitVersion driven by
Conventional Commits (GitVersion.yaml):
feat:→ minor bumpfix:/perf:→ patch bump!orBREAKING CHANGE:→ major bumpnone:/skip:→ no bump
Every push to main runs .github/workflows/cicd.yaml, which computes the version, builds, lints,
publishes to npm, and creates a v<version> git tag + GitHub release. Requires an NPM_TOKEN repo secret.
