threads-publisher

n8n community node for publishing and managing content on Meta Threads

Package Information

Released: 1 mo ago
Downloads: 0 weekly / 0 monthly
Latest Version: 0.1.2

Available Nodes

Documentation generating…

Documentation

n8n-nodes-threads-publisher

Donate

An n8n community node for publishing and managing content on Meta Threads via the Threads API.

Designed to run alongside n8n-nodes-instagram-publisher — both nodes use separate OAuth2 credential types, so there is no conflict.


Features

Resources & Operations

Resource Operation Description
Post Create Publish text, image, video, or carousel posts
Post Get Retrieve a post by ID with selectable fields
Post Delete Delete a post by ID
Profile Get My Profile Retrieve your account info (name, bio, followers)
Profile Get My Threads List all posts you have published
Reply Get Replies Fetch top-level replies on a thread
Reply Get Conversation Fetch the full reply tree (replies + sub-replies)
Reply Hide Reply Hide a reply from public view
Reply Unhide Reply Restore a previously hidden reply
Insights Get Thread Insights Engagement metrics for a specific post (likes, views, reposts, replies, quotes)
Insights Get Profile Insights Account-level metrics (follower count, profile views, etc.)
Quota Check Publishing Limit See how many posts you have used in the current 24-hour window

UX Design

  • Resource → Operation hierarchy — browse by what you want to do, not a flat list of 15+ options
  • Post Type dropdown — choose Text / Image / Video / Carousel from one place; only the relevant fields appear
  • Selectable fields — pick exactly what data you want returned using multi-select checkboxes
  • Smart defaults — sensible field selections pre-checked so you can run the node immediately
  • Return All / Limit toggle — paginate through all results or cap at a number
  • Date range picker — filter profile insights to a specific time window
  • Hint text — guidance on character limits, URL requirements, and format constraints shown inline

Prerequisites

  1. A Meta Developer App with the Threads use case enabled
  2. A Threads Business or Creator account linked to your app
  3. The following OAuth2 permissions approved for your app:
    • threads_basic
    • threads_content_publish
    • threads_read_replies (for Get Replies / Get Conversation)
    • threads_manage_replies (for Hide / Unhide Reply)
    • threads_manage_insights (for Insights operations)

Installation

Via n8n UI (Community Nodes)

  1. Open n8n → Settings → Community Nodes
  2. Click Install
  3. Enter n8n-nodes-threads-publisher
  4. Restart n8n

Via npm (self-hosted)

npm install n8n-nodes-threads-publisher

Credential Setup

  1. In n8n → Credentials → Add Credential → Threads OAuth2 API
  2. Enter your Meta App's Client ID and Client Secret
  3. Set the redirect URI shown in n8n inside your Meta App dashboard
  4. Click Connect to complete the OAuth2 flow

Long-Lived Tokens (optional)

Short-lived tokens expire in ~1 hour. Exchange for a 60-day token:

GET https://graph.threads.net/access_token
  ?grant_type=th_exchange_token
  &client_secret={app-secret}
  &access_token={short-lived-token}

Refresh before expiry:

GET https://graph.threads.net/refresh_access_token
  ?grant_type=th_refresh_token
  &access_token={long-lived-token}

Media Requirements

Type Requirements
Image JPEG or PNG, max 8 MB, publicly accessible URL
Video MP4 (H.264), max 5 minutes, publicly accessible URL
Carousel 2–10 items (images and videos can be mixed)
Text Max 500 characters; URLs expand automatically

Development

# Install dependencies
npm install --ignore-scripts

# Build TypeScript → dist/
npm run build

# Watch mode
npm run dev

# Lint
npm run lint
npm run lint:fix

Local Testing with n8n

npm run build
npm link

# In your n8n installation
npm link n8n-nodes-threads-publisher
# Then restart n8n

Publishing to npm

Manual release (recommended for getting started)

Go to GitHub → Actions → Publish to npm → Run workflow → select patch, minor, or major.

This will:

  1. Run npm run build
  2. Bump the version in package.json
  3. Create a git tag (vX.Y.Z)
  4. Publish to npm
  5. Push the tag back to GitHub

Automatic release via Conventional Commits

When you push to main, semantic-release automatically:

  • Analyzes commit messages following the Conventional Commits format
  • Determines the next version (fix: → patch, feat: → minor, feat!: → major)
  • Generates CHANGELOG.md entries
  • Bumps package.json
  • Publishes to npm
  • Creates a GitHub Release

Commit message format:

feat: add carousel support
fix: correct status polling timeout
feat!: breaking change in credential scope

Required GitHub Secrets

Secret Description
NPM_TOKEN Your npm access token (from npmjs.com → Access Tokens → Granular)

The GITHUB_TOKEN is provided automatically by GitHub Actions.


Support the Creator

If you find this node useful and it saves you time, please consider supporting its continued development!

Donate


License

MIT


Related

Discussion