n8n
n8n’s HTTP Request node is all you need — no community node.
-
Make a credential. In n8n, create a Header Auth credential: name
Authorization, valueBearer pbv_…. -
Add an HTTP Request node after whatever produces the post — a form, an RSS item, a row from a sheet — and set:
Field Value Method POSTURL https://app.pubrivo.com/api/postsAuthentication Generic Credential Type → Header Auth → the credential above Send Body On, as JSON, using JSON -
Write the body with expressions from the earlier node:
{"text": {{ JSON.stringify($json.text) }},"channelIds": ["5b0b6c1e-9f4a-4a57-8d1e-2c3f4a5b6c7d"],"scheduledAt": "{{ $json.when }}"}JSON.stringifykeeps quotes and line breaks in the text from breaking the JSON.whenmust be an ISO instant withZor an offset — in n8n,{{ $json.when.toISO() }}from a Luxon date gives one.
Get the Channel ids once, with a GET to https://app.pubrivo.com/api/channels using the same
credential.
A refused Post is a 422 with blockers. Turn on Never Error in
the node’s options, or its error output, to route those on instead of stopping the workflow.