Package Information
Documentation
n8n-nodes-encelade
This is an n8n community node. It lets you use Encelade in your n8n workflows.
Encelade turns a prompt and a few hints into a fully designed, on-brand presentation. This package wraps the Encelade public API so you can plan outlines, generate decks, manage presentations, and react to generation events — all from n8n.
n8n is a fair-code licensed workflow automation platform.
Installation
Operations
Credentials
Compatibility
Usage
Resources
Installation
Follow the installation guide in the n8n community nodes documentation.
In short: in your n8n instance go to Settings → Community Nodes → Install, enter n8n-nodes-encelade, and confirm. After installation you will have two nodes available: Encelade (actions) and Encelade Trigger (events).
A ready-to-import example workflow lives in examples/generate-deck.json — it generates a deck from a prompt and polls until it's ready. Import it (n8n → ⋯ → Import from File), select your Encelade API credential on the two Encelade nodes, and run.
Operations
Encelade (action node)
Presentation
| Operation | Description | API |
|---|---|---|
| Generate | Plan and generate a deck in one async call. Returns a sessionId to poll. |
POST /api/public/v1/projects/generate |
| Plan Outline | Generate an editable outline (synchronous by default). | POST /api/public/v1/projects/plan |
| Generate From Plan | Build a deck from an existing/edited plan. Async by default. | POST /api/public/v1/projects/generate-from-plan |
| Get | Retrieve a presentation by ID. | GET /api/public/v1/projects/{id} |
| Get Many | List presentations (supports Return All). | GET /api/public/v1/projects |
| Get Published | Retrieve a published deck by its public slug. | GET /api/public/published/{slug} |
| Update | Update presentation settings. | PATCH /api/public/v1/projects/{id} |
| Delete | Delete a presentation. | DELETE /api/public/v1/projects/{id} |
Session
| Operation | Description | API |
|---|---|---|
| Get Status | Poll a generation session for status/result. | GET /api/public/v1/sessions/{sessionId} |
| Cancel | Cancel an in-progress generation. | DELETE /api/public/v1/sessions/{sessionId} |
The Generate and Plan Outline operations both expose Topic, Outline Hints (required) and Page Count up front. Everything else — Tone, Audience, Image Style, Verbosity, Model, Theme, Theme Mode, Media Provider, Icon Family, Call To Action (text + toggle), Deep Research, Use Connectors, End-User Email/Role, Callback URL — lives under Additional Fields, plus a Supporting Materials collection.
Polling is not handled inside the node.
Generatereturns asessionIdimmediately; you decide how to wait (a Wait node + Get Status loop, or the Encelade Trigger node). This keeps long-running generations from tying up an n8n worker.
Encelade Trigger (trigger node)
Starts a workflow when a generation finishes. On activation it registers a webhook with Encelade (POST /api/public/v1/webhooks) using the node's webhook URL and a generated secret; on deactivation it removes it. Inbound calls are verified against the X-Webhook-Signature HMAC-SHA256 header, so unsigned/forged requests are rejected.
- Generation Completed (
generation.completed) - Generation Failed (
generation.failed)
Credentials
You need an Encelade API token.
- Get a token the quick way at encelade.ai/setup/n8n — sign in and click Mint (it provisions your account if needed). Or create one manually in your Encelade account / API settings.
- Grant the scopes your workflow needs (each operation needs only the scopes listed):
project:plan— Plan Outlineproject:plan+project:generate— Generate (it plans then generates, so it needs both)project:generate— Generate From Planproject:read— Get / Get Many (also the credential Test button)project:write— Updateproject:delete— Deletesession:read— Get Statussession:write— Cancelwebhook:read+webhook:write— Encelade Trigger
- In n8n create Encelade API credentials and paste the token into API Key. The token is sent as
Authorization: Bearer <token>and the tenant is derived from the token — no extra header needed. - Base URL defaults to
https://www.encelade.ai; change it only for self-hosted deployments.
Use the credential's Test button to verify the token (it calls GET /api/public/v1/projects?limit=1).
The Test button needs the
project:readscope, since that is the endpoint it probes. Full-access tokens (OAuth-minted or legacy tokens with no scope restriction) and any token that includesproject:readpass it. A narrowly-scoped token withoutproject:read(for example a generate-only or webhook-only token) is still valid and will work in its operations, but the Test button will report a 403 — addproject:readif you want it to pass.
Compatibility
Built and tested against n8n with n8n-workflow 2.x (n8n nodes API version 1). Requires Node.js 20+.
Usage
Generate → Poll (recommended)
Generate plans and builds the deck in a single call — there is no separate plan step to run first. Planning happens inside the operation, which is why the initial response reads status: "planning". It returns a sessionId immediately; you then poll for the result:
- Encelade → Generate with a Topic and at least one Outline Hint → returns
{ sessionId, status: "planning" }. - Wait node (e.g. 15–30s).
- Encelade → Session: Get Status with the
sessionId. - IF
phaseisdone→ continue (the response includesprojectPidandlink;shareLinkis present only when the deck was generated for an end user via End-User Email). Ifphaseisfailed→ handle the error. Otherwise loop back to the Wait node. - Optionally Encelade → Get or Get Published to fetch the finished deck.
Review the outline first (optional)
Use this only when a human (or another workflow step) needs to review or edit the outline before slides are built. Note that Generate ignores a plan — to build from an edited outline you must use Generate From Plan, not Generate:
- Encelade → Plan Outline with a Topic and Outline Hints → returns an editable
plan. - Edit the
planas needed (e.g. a Set/Edit Fields node or a manual approval step). - Encelade → Generate From Plan with that plan → returns a
sessionId. - Poll Session → Get Status as in steps 2–5 above.
Event-driven (no polling)
Instead of polling, add an Encelade Trigger node, subscribe to Generation Completed / Generation Failed, and activate the workflow before generating. The trigger fires with { event, sessionId, projectPid, timestamp } when the deck is ready.
Generation typically takes up to ~3 minutes for a 10–15 page deck (longer with Deep Research).