n8n

3 min read

Publish, schedule and follow your posts from any n8n workflow with the Sofia node, verified by n8n: a single personal key is enough.

The Sofia node for n8n connects your account to your workflows, without writing a line of code: a form, a shop or a spreadsheet can trigger a post, and a post that is published or fails can start another workflow.

On this pageInstalling itConnecting itWhat is availableAn exampleErrors in n8n

Installing it

  • 1. Open the nodes panel. In a workflow, click “+” and search for “Sofia”.
  • 2. Install the node. Select Sofia, then “Install node”. The owner of the instance installs it once, for every member.
  • 3. Or install the package. On a self-hosted instance, open “Settings › Community nodes › Install” and enter the package name n8n-nodes-sofia-post.

Connecting it

  • 1. Create a personal key. In the settings, “Sofia API” page, “Personal access” tab, “New key”. It is shown only once.
  • 2. Create the credential in n8n. Add a “Sofia API” credential and paste the key into the “Personal Key” field (sofia_pk_live_…). Leave “API URL” as it is; n8n tests the key with GET /v1/me.
  • 3. Use it in a workflow. A single credential reaches all your establishments, with your rights.

What is available

ItemName in n8nWhat it does
ActionSofia › Post › CreatePublishes, schedules or saves a draft, with one post per chosen account and media by address
ActionSofia › Post › GetReads a post and the state of each network
TriggerSofia Trigger › Post PublishedStarts the workflow when a post is live on at least one network
TriggerSofia Trigger › Post FailedStarts the workflow when a network refuses a post, even if others published it

The “Establishment” and “Accounts” lists are filled from your establishments and connected accounts. Leave “Schedule At” empty to publish now; a date is read in the workflow’s time zone. “Draft” saves the post without publishing it. An inconsistent field (dated draft, incomplete media address) is refused before the post is created.

An example

  • 1. Create the post. Add a “Sofia” node on “Post › Create”, choose an establishment and its accounts, write the text, then add “Media URLs” and “Schedule At” under “Additional Fields”.
  • 2. Read its state. Add a second “Sofia” node on “Post › Get” and give it the id returned by the previous step. Once the post is out, its status is published, partial or failed, with the link and the answer of each network.
  • 3. React to a failure. Start another workflow with a “Sofia Trigger” node on “Post Failed”, and connect it to a Slack or email node with the message below.
{{ $json.platforms }}: {{ $json.errors }}

The trigger polls Sofia. It starts with the posts that appear after the workflow is activated: earlier posts are not replayed. “Fetch Test Event” shows the latest post so you can map its fields, and choosing an establishment watches only that one.

Errors in n8n

  • 401: the key is no longer valid, create a new one and paste it into the same credential.
  • 429: too many calls; the error says how many seconds to wait before trying again.
  • Any other refusal: Sofia’s error, with its code, is shown in n8n. With “Continue On Fail”, a refused item becomes an error item instead of stopping the workflow.

Use n8n when your automations already live there. Prefer Zapier if your tools plug into it, and webhooks or the Sofia API when you write code.