Home/Developers/n8n Integration

n8n Integration

Wire Growero into any n8n workflow. Schedule LinkedIn posts, react to publish events, and build multi-step content pipelines.

n8n Community NodeLinkedIn live · more rolling out

Overview

The n8n-nodes-growero community node connects Growero to n8n's 700+ integrations. Common use cases:

  • Auto-publish content from RSS feeds, databases, or AI generators to LinkedIn
  • Trigger automations when posts publish (notify Slack, log to Google Sheets, create follow-ups)
  • Bulk-import scheduled posts from spreadsheets or other tools
  • AI pipelines: generate content with OpenAI/Claude, then schedule via Growero

0 deps

Zero dependencies

3.7 KB

Package size

LinkedIn

Live channel

Installation

From n8n UI (recommended)

  1. Open your n8n instance
  2. Go to Settings → Community Nodes
  3. Click Install
  4. Enter n8n-nodes-growero and confirm
  5. Wait ~10 seconds; the Growero node appears in the palette

Self-hosted (Docker)

Shell
docker exec -it <n8n-container> sh -c \
  "cd /home/node/.n8n/nodes && npm install n8n-nodes-growero"
docker restart <n8n-container>

From tarball (air-gapped)

docker cp n8n-nodes-growero-0.1.1.tgz <container>:/tmp/
docker exec -it <container> sh -c \
  "cd /home/node/.n8n/nodes && npm install /tmp/n8n-nodes-growero-0.1.1.tgz"
docker restart <container>
Requirements: n8n 1.0+, Node.js 18+

Authentication

  1. Generate an API key at app.growero.io → Settings → API Keys
  2. In n8n, add a new Growero API credential
  3. Paste your API key (growero_live_... for production)
  4. (Optional) Override the Base URL for self-hosted Growero
  5. n8n tests the credential against /api/v1/whoami automatically
Sandbox mode: Use a growero_test_... key to test workflows without actually publishing to social channels.

Operations

OperationWhat it doesScope
Post → ListGet up to 200 posts, filter by status/platformposts:read
Post → GetFetch a single post by IDposts:read
Post → CreateSchedule a new post (LinkedIn live; more channels rolling out)posts:write
Post → DeleteDelete a scheduled postposts:write

Channel availability

LinkedIn liveX rolling outFacebook rolling outInstagram rolling outThreads plannedBluesky plannedTikTok plannedReddit plannedPinterest planned

Example Workflows

RSS feed → AI rewrite → LinkedIn post

Workflow structure
Schedule Trigger (every hour)
  ↓
RSS Feed Read (your blog URL)
  ↓
Filter (only items < 1 hour old)
  ↓
OpenAI Node (rewrite headline for LinkedIn tone)
  ↓
Growero Node (Post → Create)
  - Platform: linkedin
  - Text: {{ $json.rewritten_text }}
  - Scheduled at: (leave blank for immediate)

Google Sheets content calendar → Growero

Workflow structure
Schedule Trigger (daily at 8am)
  ↓
Google Sheets (read rows where "status" = "ready")
  ↓
Loop Over Items
  ↓
Growero Node (Post → Create)
  - Platform: linkedin
  - Text: {{ $json.post_text }}
  - Scheduled at: {{ $json.publish_date }}
  ↓
Google Sheets (update status → "scheduled")

Post published → Slack notification

Workflow structure
Cron Trigger (every 5 minutes)
  ↓
Growero Node (Post → List, status: published)
  ↓
Function (filter to posts published since last run)
  ↓
Slack Node (send to #marketing)

Webhook trigger (real-time)

For instant reactions, use Growero's outbound webhooks instead of polling:

Workflow structure
n8n Webhook Node (receives POST from Growero)
  - URL: https://your-n8n.example.com/webhook/growero
  ↓
Switch Node (route by event type)
  ↓
  post.published → Slack notification
  post.failed → Email alert
  comment.received → AI reply generator

Webhook Triggers

Instead of polling, configure Growero to push events to your n8n webhook endpoint in real-time.

Setup steps

  1. In n8n, add a Webhook node and copy its URL
  2. In Growero (CLI or app), create a webhook endpoint pointing to that URL:
CLI
growero webhooks create \
  --url https://your-n8n.example.com/webhook/abc123 \
  --events post.published,post.failed,comment.received
  1. Test it: growero webhooks test
  2. Your n8n workflow triggers instantly when events fire

Available webhook events

post.createdpost.publishedpost.failedpost.updatedpost.deletedcomment.receivedmention.receivedfollower.gainedping.test

Verifying webhook signatures

Every webhook delivery includes an X-Growero-Signature header (HMAC-SHA256). Validate it in a Function node:

n8n Function Node
const crypto = require('crypto');
const secret = 'your_signing_secret';
const body = JSON.stringify($input.first().json);
const sig = $input.first().headers['x-growero-signature'];
const [tPart, vPart] = sig.split(',');
const ts = tPart.split('=')[1];
const expected = crypto
  .createHmac('sha256', secret)
  .update(ts + '.' + body)
  .digest('hex');
if (vPart.split('=')[1] !== expected) {
  throw new Error('Invalid webhook signature');
}
return $input.all();

Security

  • Zero runtime dependencies — the published package contains 5 files totaling 3.7 KB
  • No postinstall / preinstall scripts — zero install-time code execution
  • API key is stored encrypted in n8n's credential store, never logged
  • All API calls use HTTPS + Bearer auth header (no query-string secrets)
  • Package provenance verifiable via npm audit signatures

Troubleshooting

"Node not found in palette"

Restart n8n after installing. For Docker: docker restart n8n

"Authentication failed"

Check your API key at app.growero.io → Settings → API Keys. Ensure it hasn't been revoked.

"SLOT_TAKEN" error on Create

Another post is already scheduled for that exact time. Offset by 1 minute or use a different time slot.

Rate limited (429)

Default: 60 reads/min, 30 writes/min per key. Add a Wait node between bulk operations.