n8n
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.
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 withGET /v1/me. - 3. Use it in a workflow. A single credential reaches all your establishments, with your rights.
What is available
| Item | Name in n8n | What it does |
|---|---|---|
| Action | Sofia › Post › Create | Publishes, schedules or saves a draft, with one post per chosen account and media by address |
| Action | Sofia › Post › Get | Reads a post and the state of each network |
| Trigger | Sofia Trigger › Post Published | Starts the workflow when a post is live on at least one network |
| Trigger | Sofia Trigger › Post Failed | Starts 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
idreturned by the previous step. Once the post is out, itsstatusispublished,partialorfailed, 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
erroritem 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.