n8n
Publish, schedule, and manage posts on 18 platforms from n8n workflows with the official community node: n8n-nodes-socifyr.
Install
- In n8n: Settings → Community Nodes → Install
- Enter
n8n-nodes-socifyr - Reload when prompted
n8n 1.x. The node is free and open source (
packages/n8n-nodes-socifyrin the Socifyr repo).
Credentials
Create a Socifyr API credential:
| Field | Value |
|---|---|
| API Key | sk_... — from Dashboard → API Keys |
| Workspace ID | your workspace id (workspace switcher, or GET /workspaces) |
| Base URL | https://api.socifyr.com/api (change only for self-hosted) |
Recommended: one key per workflow, with guardrails. In the dashboard, open the shield icon on any key and set a daily post limit, an X spend cap, and/or require approval. The node inherits them automatically — a runaway workflow hits a clear 403 from Socifyr instead of spamming your accounts (or burning X budget). See Agent guardrails.
Operations
Content → Create
| Operation | Endpoint | Notes |
|---|---|---|
| Create Text Post | POST /content/text | connections + text |
| Create Photo Post | POST /content/photos | medias = library IDs or public URLs |
| Create Video Post | POST /content/video | one video; use short_video format for Reels/Shorts |
| Create Document Post | POST /content/document | LinkedIn carousels / PDF |
| Bulk Schedule | POST /content/bulk-schedule | rows JSON or CSV, up to 500 |
Content → Fetch: Get Content · List Content (status/type/platform filters) · Check Status (requestId)
Content → Manage: Publish Draft · Publish Now · Submit for Approval · Approve Post · Reject Post · Retry Failed · Delete Content
Useful options live under Additional Fields: scheduledAt/timezone (schedule instead of publish), saveDraft, contentFormat, platformOptions (JSON), firstComment, idempotencyKey, and async (returns a requestId immediately — pair with Check Status).
Connections, not platform names
Every operation takes connection slugs like instagram-mybrand or x-myhandle — the stable identifiers from Connected Accounts. Multiple values: add them as separate items in the multi-value field.
Media files
The node posts media by library ID or public URL. To upload a file generated upstream in n8n: add an HTTP Request node doing POST {baseUrl}/media/upload (multipart, same auth headers), take the returned media ID, and pass it into the Socifyr node's Media field.
Outputs
Socifyr's { success, data } envelope is unwrapped — downstream nodes see data directly, so expressions like these work as-is:
{{ $json.uploadId }}
{{ $json.requestId }}
{{ $json.usage }}A list operation outputs one item per post.
Error handling
API failures throw the node with the Socifyr message (e.g. 403: API key "n8n-agent" reached its daily post limit (50/day)...). Wire a Catch branch on the node to alert or retry.
Recipe: RSS → drafted → approved → published
- RSS Read → 2. Socifyr: Create Text Post → 3. Slack/Email notify with the
uploadId. Turn on the key's require approval guardrail and step 2 already lands the post in pending approval — nothing publishes until a teammate approves it in the dashboard.