New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

n8n-nodes-bulkpublish

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

n8n-nodes-bulkpublish

n8n community node for BulkPublish — publish to 15 social media platforms from n8n workflows

latest
Source
npmnpm
Version
1.9.2
Version published
Weekly downloads
50
85.19%
Maintainers
1
Weekly downloads
 
Created
Source

n8n-nodes-bulkpublish

n8n community node for BulkPublish — publish to 15 social media platforms from your n8n workflows.

Supported Platforms

Facebook, Instagram, X (Twitter), TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr, Snapchat

The node also accepts reddit, and channels already connected to it keep publishing — but new Reddit connections are paused pending Reddit API approval, so it is not counted above.

Installation

In your n8n instance:

  • Go to Settings > Community Nodes
  • Enter n8n-nodes-bulkpublish
  • Click Install

Or via CLI:

npm install n8n-nodes-bulkpublish

Credentials

  • Sign up at app.bulkpublish.com
  • Go to Settings > Developer and create an API key
  • In n8n, add a BulkPublish API credential with your key

Operations

Post

  • Create — Create a draft or scheduled post to one or more channels (supports all post types: reels, stories, carousels, threads via postTypeOverrides)
  • Get — Get a post with platform statuses
  • List — List posts with filters (status, search, date)
  • Update — Update a draft or scheduled post
  • Delete — Delete a post
  • Publish — Publish a draft immediately
  • Retry — Retry failed platforms
  • Metrics — Get engagement metrics (impressions, likes, comments, shares) — see Reading metrics safely
  • Story Publish — Publish as a story to Facebook or Instagram
  • Bulk Operations — Bulk delete or retry multiple posts
  • Queue Slot — Get the next optimal time slot for a channel

Channel

  • List — List all connected social media channels
  • Get — Get a channel by ID
  • Health Check — Check channel token health
  • Get Options — Get platform-specific options (Pinterest boards, YouTube playlists)
  • Mentions Search — Search users for @mention (X, Bluesky)

Channel Set

  • Create — Save a named group of channels for one-click targeting (max 50 sets per organization; names are unique — duplicates return a 409 DUPLICATE_NAME error)
  • List — List channel sets
  • Update — Rename a set or change its channels
  • Delete — Delete a channel set

Media

  • Upload — Upload an image or video file
  • Upload Large File — Chunked multipart upload for large files (videos up to 1GB, images up to 100MB). The file is sent in 10MB parts; each part is retried independently, so a network drop never restarts the whole file. Note: the whole file is buffered in n8n memory before upload — make sure your n8n instance has enough RAM for the file size.
  • Get — Get a media file by ID
  • List — List uploaded media files
  • Delete — Delete a media file

Label

  • Create — Create a label
  • List — List all labels
  • Update — Update a label name or color
  • Delete — Delete a label

Analytics

  • Summary — Get analytics summary for a date range
  • Engagement — Get engagement data grouped by time period

Schedule

  • List — List recurring schedules
  • Create — Create a recurring schedule (frequency + time of day)
  • Update — Update a schedule
  • Delete — Delete a schedule

RSS Feed

  • Create — Add an RSS/Atom feed for autoposting (polled every 15 min; new items become posts). mode defaults to draft (items land as drafts for review); set publish to auto-publish. Max 20 feeds per organization. Optional Field Mapping (JSON) controls how items render (caption template with item tokens, media selection, HTML stripping, truncation, hashtags, per-channel overrides).
  • List — List RSS feeds (includes lastCheckedAt and lastError)
  • Update — Change name, URL, channels, mode, or enabled. Changing the feed URL re-baselines the feed — only items newer than the change are posted.
  • Delete — Delete an RSS feed

Quota

  • Usage — Get current plan limits and usage

Reading metrics safely

Every metric column is stored as an integer defaulting to 0, so a 0 does not always mean zero engagement — it may mean the platform has no such metric at all. Branch on the support fields, not on the number.

  • Post → Metrics returns metricsSupported and supportedMetrics on each platform entry. A key absent from supportedMetrics is not a measurement.
  • Analytics → Engagement returns supportedTotals (the union across the window — treat a total* field whose key is missing as "not available"), metricSupport (per-platform lists), partialTotals (platforms excluded from an otherwise-real total) and conditionalMetrics (supported but permission-gated).
PlatformReportsNever reports
Ximpressions, likes, comments, shares, saves (bookmarks)reach, clicks, video views
YouTubeimpressions, video views, likes, commentsreach, shares, saves, clicks
Instagramimpressions, reach, likes, comments, shares, savesclicks, video views
Facebooklikes, comments, shares + impressions, reach, clicks¹saves, video views
LinkedIn (company pages)impressions, reach, likes, comments, shares, clickssaves, video views
TikTokimpressions, video views, likes, comments, sharesreach, saves, clicks
Threadsimpressions, likes, comments, sharesreach, saves, clicks, video views
Pinterestimpressions, clicks, saves, likes, comments, video viewsreach
Blueskylikes, comments, shares, saves (bookmarks)impressions, reach, clicks, video views
Mastodonlikes, comments, shareseverything else
Redditlikes (score), comments, shares (crossposts)impressions, reach, saves, clicks, video views
Discordlikes (reaction counts), comments (thread replies)everything else
Snapchatimpressions, reach, likes, comments, shares, clicks, video viewssaves
Google Business, Telegram, Tumblrnothing
LinkedIn personal profilesnothing

¹ Facebook's impressions/reach/clicks come from Page Insights and need the read_insights permission; without it they stay 0.

engagementRate is derived from impressions, so it is always 0 where impressions are unsupported (Bluesky, Mastodon).

Two other legitimate zeroes: figures come from a snapshot refreshed every 6 hours (a just-published post starts at zero), and X's per-post sync is opt-in per channel and runs at most weekly because X bills every read — affected channels are listed in metricsDisabledChannels.

Example Workflows

Auto-post RSS feed items

  • RSS Feed Trigger → reads new items
  • BulkPublish → creates a scheduled post for each item

Post on GitHub release

  • GitHub Trigger → new release event
  • BulkPublish → creates and publishes announcement to all channels

License

MIT

Keywords

n8n-community-node-package

FAQs

Package last updated on 31 Aug 2026

Related posts