n8n-nodes-postifys
v0.6.10
Published
n8n community node for publishing Facebook, Instagram, YouTube, Pinterest, LinkedIn, and TikTok posts through Postifys.
Maintainers
Readme
n8n-nodes-postifys
Publish Facebook, Instagram, YouTube, Pinterest, LinkedIn, and TikTok posts from n8n through Postifys.
API documentation: https://postifys.com/api-docs
Features
- Credential type for your Postifys API key
- Credential test using your Postifys server
- Media → Upload — upload any image or video URL to Postifys and return a hosted media URL
- Dynamic dropdowns for connected Facebook Pages, Instagram accounts, YouTube channels, Pinterest accounts/boards, LinkedIn accounts, and TikTok accounts
- Auto field mapping for common input fields such as
url,media_url,serve_url,drive_link,title, andcaption - Normalized post output with
success,platform,operation,postId,status,url,historyId, andraw Post -> Get Statusoperation for polling a configurable Postifys status endpoint- Instagram video/Reel posts can run asynchronously and return a
postIdimmediately for status polling - Simple media output with only
nameandserve_url - Publish Facebook Page images
- Publish Facebook Page Reels
- Publish Instagram images
- Publish Instagram videos/Reels
- Upload YouTube videos
- Publish Pinterest image pins
- Publish LinkedIn member posts
- Publish TikTok videos
Prerequisites
- Log in to Postifys at https://postifys.com/login
- Open https://postifys.com/settings and create an API key
- Connect your Facebook Pages and Instagram professional accounts in Postifys
- Connect your YouTube channel in Postifys if you want to upload YouTube videos
- Connect your Pinterest account(s) in Postifys if you want to publish pins
- Connect your LinkedIn account(s) in Postifys if you want to publish LinkedIn member posts
- Read the full REST API reference at https://postifys.com/api-docs
Credentials
Create a new Postifys API credential in n8n.
| Field | Value |
|---|---|
| API Key | Your key from Postifys Settings |
| Postifys Server | https://postifys.com |
The credential test calls:
GET /api/key/test
Authorization: Bearer YOUR_API_KEYThe media upload operation uses Postifys Server and calls the Postifys media queue.
Recommended workflow
Use two Postifys nodes in sequence when a platform needs a direct public media URL:
- Postifys — Resource:
Media, Operation:Upload, URL: your image/video URL
→ queues the media on Postifys, waits until it is ready, and outputsnameandserve_url - Postifys — Resource:
Post, pick your platform, set Media/Video/Image URL to={{ $json.serve_url }}
Do not pass raw drive.google.com, Dropbox, or rednote.postifys.com/media/temp/... links directly to post nodes. Upload them with Media -> Upload first, then use the returned Postifys serve_url (https://postifys.com/media/tmp/...).
For batch workflows, leave Auto Map Input Fields enabled:
- Media upload can read common fields such as
url,source_url,drive_link, orpath - Posting reads
url,media_url,serve_url, and other common direct media fields - Blank captions/titles can fall back to
titleorcaption - Rows without media can be skipped instead of failing the whole workflow
Status Polling
Use Resource: Post -> Operation: Get Status after a create step if your Postifys server exposes a status endpoint. The default path is:
GET /api/posts/status?postId=POST_ID&platform=instagramYou can change Status Endpoint Path to match the deployed Postifys API, for example a future /api/history/status route.
Node Usage
Add the Postifys node.
- Resource:
Post - Operation:
Create - Platform:
Facebook - Facebook Page: select a connected Page
- Media Type:
ImageorVideo / Reel - Text: post text
- Media URLs:
={{ $json.serve_url }}from the upload node
The node calls:
POST /api/facebook/post- Resource:
Post - Operation:
Create - Platform:
Instagram - Instagram Account: select a connected Instagram professional account
- Media Type:
ImageorVideo / Reel - Text: caption text
- Media URLs:
={{ $json.serve_url }}from the upload node - Post Asynchronously: enabled for videos/Reels to avoid long n8n request timeouts
The node calls:
POST /api/instagram/postYouTube
- Resource:
Post - Operation:
Create - Platform:
YouTube - YouTube Channel: select the connected channel
- Title: video title
- Description: video description
- Video URL:
={{ $json.serve_url }}from the upload node - Thumbnail URL: optional public image URL for a custom thumbnail
- Privacy Status:
Private,Unlisted, orPublic - Tags: comma-separated list
- Category ID: default
22 - Notify Subscribers: optional
The node calls:
POST /api/youtube/post- Resource:
Post - Operation:
Create - Platform:
Pinterest - Pinterest Account: select a connected Pinterest account
- Pinterest Board: select a board for the chosen account
- Title: pin title
- Description: optional pin description
- Link: optional destination URL
- Image URL:
={{ $json.serve_url }}from the upload node
The node calls:
POST /api/pinterest/post- Resource:
Post - Operation:
Create - Platform:
LinkedIn - LinkedIn Account: select a connected LinkedIn member account
- LinkedIn Post Type:
Text,Image,Video, orLink Preview - Text: required post text
- Image URL:
={{ $json.serve_url }}for image posts - Video URL:
={{ $json.serve_url }}for video posts - Title: optional image or link title
- Link: required for link preview posts
The node calls:
POST /api/linkedin/postIf you connect multiple Pinterest accounts in Postifys, choose the account first so the board dropdown loads boards for that account.
TikTok
- Resource:
Post - Operation:
Create - Platform:
TikTok - TikTok Account: select a connected TikTok account
- Caption: optional caption text
- Video URL:
={{ $json.serve_url }}from the upload node - TikTok Privacy:
Public to Everyone,Mutual Follow Friends, orSelf Only
The node calls:
POST /api/tiktok/postOutput Shape
Post operations return normalized fields:
{
"success": true,
"platform": "instagram",
"operation": "create",
"postId": "POST_OR_HISTORY_ID",
"status": "PROCESSING",
"url": "",
"historyId": "POSTIFYS_HISTORY_ID",
"raw": {}
}Use raw when you need the full Postifys/platform response.
Install in n8n
In n8n, go to Settings → Community Nodes, then install:
n8n-nodes-postifysDevelopment
npm install
npm run build
npm test
npm run release:checkLicense
MIT
