socialrails

n8n community node for SocialRails – schedule social media posts, view analytics, generate AI content, and manage accounts.

Package Information

Downloads: 77 weekly / 77 monthly
Latest Version: 0.2.1

Documentation

n8n-nodes-socialrails

npm version
n8n community node

n8n community node for SocialRails — schedule social media posts, view analytics, generate AI content, and manage connected accounts from your n8n workflows.

Features:

  • Schedule and manage posts across 9 social platforms
  • Generate AI-powered content (captions, tweets, articles)
  • View posting analytics and performance metrics
  • List and manage connected social accounts
  • Full support for media attachments, platform settings, and batch posting

Installation

Method 1: Community Nodes UI (Recommended)

  1. Open your n8n instance
  2. Go to Settings > Community Nodes
  3. Enter n8n-nodes-socialrails
  4. Click Install

Method 2: npm CLI

cd ~/.n8n/nodes
npm install n8n-nodes-socialrails

Then restart n8n.

Method 3: Docker

Add to your Dockerfile:

RUN cd /home/node/.n8n/nodes && npm install n8n-nodes-socialrails

Or set the environment variable:

EXTRA_NODE_MODULES=n8n-nodes-socialrails

Authentication

  1. Log in to your SocialRails dashboard
  2. Navigate to Settings > API Keys
  3. Click Create API Key and select the scopes you need:
    • read — list posts, accounts, analytics, workspace info
    • write — create, update, delete posts and upload media
    • ai — generate AI content (costs 2 credits per request)
  4. Copy the key (starts with sr_live_)
  5. In n8n, add a new SocialRails API credential and paste the key

API access is available on all paid plans (Creator, Business, Agency).


Operations Reference

Post > Create

Create a new social media post (draft or scheduled).

Inputs:

Field Type Required Description
Content string Yes Post text (max 5,000 chars)
Platform select Yes Target platform
Schedule For dateTime No ISO 8601 date (omit for draft)
Media string[] No R2 keys from media upload
Platform Settings json No Platform-specific overrides

Output example:

{
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "content": { "all": "Hello from n8n!" },
    "platform": "twitter",
    "status": "scheduled",
    "scheduled_for": "2026-03-15T14:30:00.000Z",
    "created_at": "2026-03-04T10:00:00.000Z"
  }
}

Post > List

List posts with optional filters.

Inputs:

Field Type Description
Status select Filter: scheduled, posted, draft, failed
Platform select Filter by platform
Limit number Results per page (1-100, default 50)
Sort select Sort by created_at or scheduled_for
From / To dateTime Date range filter

Output example:

{
  "data": [
    { "id": "...", "content": { "all": "..." }, "platform": "twitter", "status": "scheduled" }
  ],
  "pagination": { "total": 42, "limit": 50, "offset": 0 }
}

Analytics > Get

Retrieve posting analytics for your workspace.

Inputs:

Field Type Description
Period select 7d, 30d, 90d, or 365d
Platform select Filter by platform
Post ID string Analytics for a specific post

Output example:

{
  "data": {
    "period": "30d",
    "total_posts": 127,
    "by_platform": [
      { "platform": "twitter", "posts_published": 45 },
      { "platform": "linkedin", "posts_published": 32 }
    ]
  }
}

AI > Generate

Generate AI-powered social media content. Costs 2 AI credits per request.

Inputs:

Field Type Required Description
Prompt string Yes What to generate (max 2,000 chars)
Platform select No Optimize for a specific platform
Tone string No professional, casual, excited, humorous

Output example:

{
  "data": {
    "content": "Excited to share our latest feature! We've been working hard to make social media management effortless.",
    "platform": "linkedin",
    "tone": "excited"
  }
}

Account > List

List all connected social media accounts.

Output example:

{
  "data": [
    { "id": "...", "provider": "twitter", "name": "myhandle", "status": "connected" },
    { "id": "...", "provider": "linkedin", "name": "My Company", "status": "connected" }
  ]
}

Workflow Examples

Content Calendar Automation

Automatically schedule posts for the week:

  1. Schedule Trigger — fires every Monday at 9 AM
  2. SocialRails: AI Generate — create content for each weekday
  3. SocialRails: Post Create — schedule each post with a date

AI-Powered Social Scheduling

Generate and schedule an AI post when a new blog article is published:

  1. RSS Feed Trigger — watch your blog RSS
  2. SocialRails: AI Generate — prompt: "Summarize this blog post for Twitter: {{$json.title}} - {{$json.description}}"
  3. SocialRails: Post Create — schedule the generated content for Twitter

Cross-Platform Publishing

Post the same content across all connected platforms:

  1. Webhook Trigger — receive content from your CMS
  2. SocialRails: Account List — get all connected platforms
  3. Loop — for each account, create a post with platform-appropriate settings

Platform Notes

Platform Char Limit Media Key Setting
Twitter/X 280 4 images or 1 video selectedCommunities
LinkedIn 3,000 9 images or 1 video selectedLocation (company)
Facebook 420 10 images or 1 video selectedPage (required)
Instagram 2,200 10 images or 1 video postType (reel/story)
TikTok 2,200 35 images or 1 video privacy_status, interactions
Bluesky 300 4 images or 1 video
Pinterest 500 1 image or 1 video selectedBoard (required)
Threads 500 10 images or 1 video reply_control
YouTube 5,000 1 video

Troubleshooting

Error Cause Fix
UNAUTHORIZED Invalid or missing API key Check your credential in n8n. Keys start with sr_live_.
FORBIDDEN Missing scope Your API key needs the right scope (read/write/ai). Create a new key with the needed scopes.
LIMIT_EXCEEDED Monthly post limit reached Upgrade your plan or wait for the next billing cycle.
RATE_LIMITED (429) Too many requests Wait and retry. Limits: Creator 60/hr, Business 300/hr, Agency 1000/hr.
BAD_REQUEST Invalid input Check the error message for details. Common: missing content, invalid platform, date in the past.

Links

License

MIT

Discussion