Build
n8n
The Postika node for n8n: schedule posts from any workflow, with your channels in a dropdown and photos from any previous node.
Install the node
- 1In n8n, open Settings → Community nodes and click Install.
- 2Enter
n8n-nodes-postika, accept the notice and install. The Postika node appears in the nodes panel.
Self-hosted with Docker or npm, without the UI? Install it in n8n's custom folder and restart n8n:
cd ~/.n8n/nodes # create it if needed
npm install n8n-nodes-postikaCommunity nodes need a self-hosted n8n, or an n8n Cloud plan that allows them. Without them, use the HTTP Request recipe: same API, a few more fields to fill.
Credentials
- 1In Postika, open your project → Connect AI (Conectar IA) → Project keys (Claves de proyecto) and create a key.
- 2In the Postika node, Credential to connect with → Create new credential, paste the key in API Key and save. n8n tests it right away.
| Field | Value |
|---|---|
| API Key | ptk_… |
| Base URL | https://postika.app. Change it only for a self-hosted or test server. |
Operations
| Resource | Operation | API |
|---|---|---|
| Post | Create | POST /api/v1/posts |
| Post | Get | GET /api/v1/posts/:id |
| Post | Get Many | GET /api/v1/posts |
| Post | Delete | DELETE /api/v1/posts/:id |
| Channel | Get Many | GET /api/v1/channels |
| Project | Get Many | GET /api/v1/projects |
Every operation returns the API's data: lists come out as one item per post, channel or project. The node can also be used as a tool by n8n's AI Agent.
Create a post
| Field | Notes |
|---|---|
| Text | 1 to 5000 characters. Map it from the trigger, e.g. {{ $json.title }}. |
| Channel Names or IDs | Pick them from the list, or map an array or comma-separated string of channel IDs. |
| Mode | Send for Approval (default, safest while testing), Schedule, Draft or Publish Now. |
| When | Project local time YYYY-MM-DD HH:MM. ISO dates are accepted too (their time zone is ignored). |
| Options → Media URLs | Public https links straight to photos or videos, comma or newline separated. |
| Options → Binary Properties | Binary fields of the incoming item to upload, e.g. data from Google Drive or HTTP Request. |
| Options → Per-Channel Texts | A different text for some channels. |
| Options → Note | For whoever approves it. Not published. |
When, as an expression
{{ $now.plus({ days: 1 }).set({ hour: 9, minute: 30 }).toFormat('yyyy-MM-dd HH:mm') }}Example workflows
New blog post → LinkedIn and X
- 1RSS Feed Trigger with your blog feed.
- 2Postika → Post → Create: Text
{{ $json.title }} {{ $json.link }}, your LinkedIn and X channels, Mode Schedule, When one hour from now.
Photo dropped in Google Drive → Instagram
- 1Google Drive Trigger (file created in a folder) → Google Drive → Download.
- 2Postika → Post → Create with your Instagram channel, Mode Send for Approval and Options → Binary Properties
data. The photo is uploaded to Postika and attached.
Daily alert for failed posts
- 1Schedule Trigger every morning.
- 2Postika → Post → Get Many with Filters → Status
Failed. - 3Send each item to Slack or email with the channel error from
channels[].error.
Triggers
There is no Postika trigger node yet, because the API has no webhooks. To react to changes, poll Get Many with a Schedule Trigger, as in the alert above.
AI Agent with MCP
To let an n8n AI Agent decide what to post, you can also give it Postika's MCP server as a tool: see Automations → AI Agent with MCP.