Build a publishing workflow
Create a draft from n8n input, validate it, and inspect delivery.
Build the workflow in explicit steps. Creating a Publication does not schedule or publish it.
1. Start with input
Use a Schedule Trigger for a recurring workflow, a Webhook for event-driven input, or another node that returns content. Keep one intended Publication per input item.
2. Create a draft
Add an OpenPost node and choose Publication > Create. Map the workspace, internal title, content profile, source text, and destination accounts from the incoming item.
For the first run, leave the draft unpublished. Open it in Publications and check the accounts, text, media, and provider settings.
The package includes a create-draft example. Replace its placeholder workspace and account IDs before running it.
Upload media
Use Media > Upload Binary when an earlier n8n node returns an image or video as binary data.
- Select the OpenPost workspace.
- Set the binary property name, such as
data. - Add alt text for visual media when the upstream source does not supply it.
- Run the node and keep the returned media ID.
- Map that ID into the Publication or Rendition media field.
The node runs the full OpenPost upload-session flow. It creates the media record, uploads bytes to the returned storage target, and completes the session through authenticated OpenPost REST.
The OpenPost bearer token is never sent to an external storage upload URL. The node sends only the headers returned for that upload target.
OpenPost still checks workspace quotas, MIME type, file size, media processing, and provider limits. A successful byte upload can still require processing before the item is ready to publish.
Use Media > Get Many when the workflow should select an existing library item instead of uploading another copy.
3. Validate
Add Publication > Validate with the created Publication ID. Stop the workflow or route the item for review when validation returns issues.
Provider readiness and destination settings can change. Validation at publish time is still required even when an earlier draft was valid.
4. Schedule or publish
Add Publication > Schedule or Publication > Publish Now. Pass the revision returned by the latest create, update, or Set Renditions action.
Scheduling uses the saved scheduled_at. Use Posting Schedule > Get Next Available Slot before an update when the workflow should use a workspace slot.
5. Verify the result
When the lifecycle action returns a job ID, use Job > Get until the job reaches a final state. Then use Publication > Get or Publication > Get Events to inspect each Rendition.
Keep the Publication and job IDs in workflow output. A queued action is not proof that every provider published the content.