🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

n8n-nodes-meta-publisher

Package Overview
Dependencies
Maintainers
1
Versions
43
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

n8n-nodes-meta-publisher

Publish to Instagram, Facebook Pages, and Threads (images, videos, reels, stories, carousels) via Meta Graph APIs.

Source
npmnpm
Version
0.1.0
Version published
Weekly downloads
53
-29.33%
Maintainers
1
Weekly downloads
 
Created
Source

Banner image

n8n-nodes-meta-publisher

Publish to Instagram, Facebook Pages, and Threads from n8n — including Images, Videos, Reels, Stories, and Carousels — with a single, DRY node.

Built from the official n8n community node starter structure so you can develop, lint, and ship confidently.

Table of contents

  • Features
  • Supported platforms & operations
  • Prerequisites
  • Installation
  • Credentials
  • Quick start (Fields mode)
  • JSON payload mode (optional)
  • Outputs
  • Rate limits & retries
  • Development
  • Testing locally
  • Contributing
  • License

Features

  • One node to publish across Instagram / Facebook Pages / Threads

  • Create → poll → publish workflow handled for you

  • Reels, Stories, Carousels (IG) + Photos/Videos (FB) + Text/Image/Video/Carousel (Threads)

  • Two input styles:

    • Fields mode (simple UI fields)
    • JSON payload mode for programmatic/batch posting
  • Consistent JSON output (status, IDs, permalinks-ready payloads)

  • Friendly polling with jitter; configurable timeouts

Supported platforms & operations

Instagram

  • Publish Image, Publish Video (optional cover image)
  • Publish Reel (thumb offset, share to feed)
  • Publish Story (image/video)
  • Publish Carousel (2–10 items)

Facebook Pages

  • Publish Photo
  • Publish Video (status polled until ready)

Threads

  • Publish Text
  • Publish Image (optional alt text)
  • Publish Video (optional alt text)
  • Publish Carousel (2–20 items)

Prerequisites

You’ll need on your development machine:

  • git
  • Node.js v20+ and npm
  • n8n installed globally
npm install n8n -g

For a smooth developer experience, see n8n’s guide on setting up the node development environment.

Installation

  • Publish the package to npm, then install it from within n8n via Community Nodes.

Local (developers)

# in your repo
npm i
npm run build
# restart n8n pointing to your custom nodes folder if needed

The project follows the n8n node starter layout and build flow.

Credentials

Add a credential in n8n called Meta Graph API with an Access Token (prefer long-lived). The node will also attempt OAuth2 if configured in your instance, then fall back to the access token.

Keep tokens in Credentials, not in node fields. This keeps secrets secure and reusable across workflows.

Quick start (Fields mode)

  • Drag Meta Publisher into your workflow.

  • Choose Platform:

    • Instagram / Facebook Page / Threads
  • Choose Operation (e.g., Publish Reel).

  • Fill required fields (e.g., IG User ID, Media URL, Caption).

  • Optionally adjust Polling Interval and Max Wait.

  • Run the workflow.

Example (IG → Publish Image)

  • Platform: Instagram
  • Operation: Publish Image
  • IG User ID: 1789…
  • Image URL: https://…/photo.jpg
  • Caption: Hello from n8n 🚀

JSON payload mode (optional)

For advanced batching/programmatic posts, switch Input Source to From JSON Property and point to a JSON object/array in the incoming item (e.g. $json or data). Each object must include at least platform and operation. Any missing field falls back to node UI defaults.

Single job (from $json)

{
	"platform": "instagram",
	"operation": "publishImage",
	"igUserId": "1789...",
	"mediaUrl": "https://example.com/image.jpg",
	"caption": "Hello world",
	"autoPublish": true
}

Multiple jobs (from $json.data)

{
	"data": [
		{
			"platform": "threads",
			"operation": "threadsPublishText",
			"userId": "12345",
			"text": "Posting from n8n đź’š"
		},
		{
			"platform": "facebook",
			"operation": "publishFbPhoto",
			"pageId": "999999",
			"imageUrl": "https://example.com/photo.jpg",
			"caption": "FB photo!"
		}
	]
}

Set JSON Property Path to data for the second example.

Outputs

Every successful publish returns a consistent JSON shape (fields may vary slightly by platform/operation):

{
	"platform": "instagram|facebook|threads",
	"type": "image|video|reel|story|carousel|text",
	"creationId": "1789...", // IG/Threads container or parent (when applicable)
	"children": ["childId1"], // for carousels
	"status": "FINISHED|PUBLISHED|READY|ERROR|...",
	"published": true,
	"publishResult": { "id": "1790..." }, // media/thread object
	"videoId": "1234567890" // FB video id when relevant
}

Use this to chain downstream steps (e.g., fetch permalink, store IDs).

Rate limits & retries

  • The node polls at your chosen interval with gentle jitter to be friendly to API limits.
  • Increase Max Wait (sec) for long videos/reels.
  • For high-volume workflows, consider spacing items or batching upstream.

Development

This repo uses the same conventions as the n8n node starter:

  • TypeScript build to dist/
  • ESLint + Prettier for quality
  • Starter-like scripts: build, lint, lintfix

Typical loop:

npm i
npm run dev     # tsc --watch
# In another terminal, run n8n and test

Refer to n8n’s “Using this starter” steps (generate repo, install deps, lint, test locally, publish) for overall workflow.

Testing locally

n8n documents how to run your node locally; follow those instructions to link your development build and iterate quickly.

Contributing

Issues and PRs are welcome! Please:

  • Lint before committing (npm run lint / npm run lintfix)
  • Keep code DRY: use shared client, poller, and platform adapters

License

MIT — same as the official starter.

Notes

  • Ensure your Meta app has the appropriate permissions for your chosen platform(s) and that your IG account is a professional account linked to a Page when required.
  • Threads uses a separate host (graph.threads.net) under the Meta umbrella; this node handles it internally — you just choose Threads in the UI.

Keywords

n8n-community-node-package

FAQs

Package last updated on 22 Aug 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts