Description
n8n-nodes-buildonce
An n8n community node for buildonce.app: templates,
brand assets and a render API for agents, automations and your own product. Use it to render
images and PDFs from your buildonce.app templates directly inside n8n workflows.
Installation
In n8n: Settings → Community Nodes → Install, and search for n8n-nodes-buildonce.
Or via npm, in a self-hosted n8n instance:
npm install n8n-nodes-buildonce
Credentials
1. Sign in to buildonce.app and open Settings → API Keys
(workspace admins only).
2. Create a new key. It starts with fllive (or fltest for a key labelled test), and
is shown only once.
3. In n8n, add a new buildonce.app API credential and paste the key in.
A key has full access to its workspace’s API and is bound to that one workspace. The
credential’s Domain field defaults to https://api.buildonce.app; only change it if you’re
pointed at a different environment.
Operations
Pick a Resource, then an Operation.
Template
- Render: render a template to PNG, JPEG, PDF, or a video (MP4, WebM, GIF) with its
- Get: fetch a single template’s metadata.
- Get Many: list templates in your workspace, with search/sort/folder filters.
- Get Parameters: list the variables a template accepts (the keys you can set under
- Get: fetch a render by its ID, with its files and status (
queued,processing, - Get Many: list past renders in the workspace, filterable by format or template.
- Re-Render: render an existing render again with new variable values, from that render’s
- Get: the workspace, plan and credits this API key is bound to. Credits come as
used, - Get Activity Log: the workspace’s activity log (renders, template changes, key events and
- buildonce.app only delivers to public HTTPS URLs, so a self-hosted n8n needs a public
- Each active trigger uses one of the workspace’s 10 webhook endpoints.
- If you delete the webhook in buildonce.app while the workflow is active, deactivate and
- buildonce.app Trigger: a new trigger node that starts a workflow on 11 events (renders,
- Resources: operations are grouped under Template, Render and Account. Pick a
- Render → Re-Render: render an existing render again with new values, keeping its edits;
- Account → Get: workspace, plan and credits, including
remaining. - Account → Get Activity Log: the workspace’s activity log, filterable by source, status,
- Built and linted with n8n’s own
@n8n/node-cli, and released through its publish flow. - Video rendering: Render Template now renders MP4, WebM and GIF, with video options
- Get Render: a new operation that fetches a render by ID, with its files and status.
- Complete lists: Return All on List Templates and List Renders now returns every result,
- Video formats in the List Renders filter.
- Continue On Fail works for every operation; a failed or timed-out video also outputs its
- New look: the buildonce.app name and logo, and working documentation links.
- Requires Node.js 22 or later when installed outside n8n’s own runtime.
- buildonce.app documentation
- API keys
- Render API reference
- Renders API reference
- n8n community nodes documentation
animations, optionally overriding variable values, and get back the resulting file’s URL. A
video takes a few seconds or more to render: by default the node waits for it (up to
Timeout); turn off Wait for Completion to get the render ID straight away. Videos
cost 1 credit per started second, at most 60 s.
Modifications on Render).
Render
succeeded or failed). Use it to pick up a video you didn’t wait for.
Useful for polling for new renders.
own saved design, so any edits made to it are kept. Every page is rendered; keys can target
one page (page2@headline, or ), and a page key beats a plain one. Keep
the original format or pick another, including video (which waits like Template → Render).
The result is a new render whose sourceRenderId points back at the original.
Account
limit and remaining (null on an unlimited plan), so a workflow can check them before
rendering.
more), newest first, filterable by source, status, action prefix (e.g. render.) and a
From/To window. Times without a time zone are read as UTC.
Trigger
buildonce.app Trigger starts a workflow when something happens in your workspace:
| Group | Events |
|—|—|
| Renders | Render Completed, Render Failed, Render Edited (saved in the embedded editor) |
| Templates | Template Created, Template Updated, Template Deleted |
| Social posts | Post Scheduled, Post Published, Post Failed |
| Credits | Credits Running Low (80%), Credits Used Up (100%) |
Activating the workflow registers a webhook in buildonce.app (it shows up under
Settings → Webhooks as “n8n: workflow name“); deactivating it removes the webhook. Each
delivery is checked against its BuildOnce-Signature (HMAC-SHA256 of the exact body, with a
5-minute timestamp window), so a forged or replayed request never starts the workflow. The
output is the event as buildonce.app sends it: type, id, createdat, workspaceid and
data, plus the deliveryId. Turn on Include Test Events to also run on “Send test event”.
address (N8NWEBHOOKURL); localhost won’t work.
activate the workflow again to re-register it.
Development
Built with n8n’s @n8n/node-cli:
npm run build, npm run lint (n8n’s community-node rules, strict mode) and npm run dev
(an n8n with this node, rebuilt on change).
Releases are published from GitHub Actions only: merge a version bump, then push a v* tag.
The Publish workflow runs npm run release (lint, build, publish with npm provenance) and then
checks the published version with n8n’s scan-community-package. A plain npm publish is
refused on purpose.
Example workflow
1. Render Template: pick a template, set a headline modification to a value from an
earlier node.
2. Use the returned url field to download the rendered image or post it somewhere else in
your workflow (Slack, email, social, etc).
What’s new
0.3.0
templates, social posts and credits), registers its own webhook when the workflow is
activated, and checks the signature of every delivery. See Trigger.
resource, then an operation.
page-specific keys like page2@headline change one page only.
action and date range.
0.2.0
(frames per second, quality, scale). By default the node waits for the video and returns its
file; turn off Wait for Completion to get the render ID straight away.
not just the first 100, and the template picker lists all templates, sorted by name.
render ID.
Compatibility
Works with n8n 1.x and 2.x (last tested on n8n 2.44), with n8n-workflow as a peer
dependency.