There is no custom node to install
Publishing here is one HTTP call, so the built-in HTTP Request node is the whole integration — nothing to add from a community registry, nothing to keep in sync with our API. Point it at the publish endpoint and pass the HTML your earlier nodes produced.
The node configuration
Set the HTTP Request node to POST against the publish endpoint, JSON body, and
map the HTML in from a previous node:
Method: POST
URL: https://read.botook.ai/v1/publish
Body: JSON
{
"content": "{{ $json.html }}",
"expires_in_hours": 168,
"password": "optional"
}The response comes back with the shareable URL on {{ $json.url }}, ready to feed
into the next node — an email, a Slack message, a database row.
With an API key, to keep and update it
The anonymous endpoint above is fine for throwaway output. To claim the site and rewrite it on
the next run, add an Authorization header and keep the returned id:
Header: Authorization: Bearer otr_live_YOUR_KEY
URL: https://read.botook.ai/sites (first run — returns an id)
URL: https://read.botook.ai/sites/{{ $json.id }} (later runs — PUT, same link)A nightly workflow that regenerates a report can PUT the same site id every run, so the
address you circulated once always shows last night's numbers.
A scheduled report, end to end
- A Schedule trigger fires nightly.
- Your data nodes build the numbers and render them to a single HTML string.
- An HTTP Request node publishes it — first run creates the site, later runs
PUTthe same id. - A gate node is optional: pass
passwordor set an email-domain gate viaPATCH /sites/:id. - A final node sends the link — the reader opens it with no account.
What travels and what does not
The same boundary as everywhere else: publish a document, not an application. A self-contained HTML report rendered inside the workflow travels intact. A page that still calls a service on your private network does not — render the view first, then publish the render.
Questions
Is there an official n8n community node?
You do not need one — the standard HTTP Request node covers publish, update and gating. If a wrapper node appears it is convenience over the same HTTP calls shown here.
How do I keep the link stable across runs?
Store the id from the first publish (n8n static data or a database), then PUT
to /sites/{id} on every later run. The token never changes.
Can the workflow publish without a key?
Yes — POST /v1/publish is anonymous and rate-limited, and the link is short-lived by
default. Add a key when the output needs to outlive a day or be updated in place.