Description
n8n-nodes-sendit
This is an n8n community node for SendIt, an AI-native multi-platform social publishing API.
n8n is a fair-code licensed workflow automation platform.
Release Notes (v1.3.2)
1.3.2 is an n8n verification follow-up release:
- n8n verification readiness: Added GitHub Actions provenance publishing support for npm releases
- n8n review fixes: Uses
NodeConnectionTypes.Main, removes unused request defaults, adds a credential icon, and returnsNodeOperationErrorfor JSON object validation - Cloud-safe media upload: Removed host file path reads; media uploads now use n8n binary data only
- Standalone package fix: Removed package imports from the SendIt server codebase
- Refactored architecture: Monolithic 2,842-line node split into handler-per-resource dispatch map (23 handler modules)
- New resources: Dead Letter Queue, Audit Log, Conversions
- Expanded resources: Brand Voice (get/update/delete), Webhooks (list/get/update), AI (reply suggestions, mention summary, feedback)
- Multi-event triggers: Trigger node now supports subscribing to multiple events at once
- Pagination: Added limit/offset to account, campaign, approvals, and brand voice list operations
- Quick fixes: Credential test uses
/capabilities(lighter, scope-free), removed deadgulpdependency, fixed ESLint 9 lint script, scopedrequestTimeoutMsto advanced resource, added missing operation descriptions, narrowed type casts
Installation
Follow the installation guide in the n8n community nodes documentation.
npm install n8n-nodes-sendit
Quick Start
1. Get your API key
Sign in to SendIt, go to Dashboard > API Keys > Create New Key, and copy the key (format: sklive...).
2. Add credentials in n8n
Go to Credentials > Add Credential, search for SendIt API, paste your key, and save. n8n tests the connection automatically.
3. Publish your first post
Add a SendIt node to a workflow, select Post > Publish, pick your target platforms, enter text, and execute. That’s it.
4. Set up a trigger
Add a SendIt Trigger node as the first node in a new workflow. Select events to listen for (e.g., Post Published, Post Failed). Activate the workflow and n8n registers a webhook with SendIt automatically.
5. Example: AI social publishing pipeline
[Google Sheets] → [SendIt: AI > Generate Content] → [SendIt: Post > Publish] → [SendIt Trigger: post.published]
Read content ideas from a spreadsheet, generate AI copy, publish to multiple platforms, and get notified on success.
Node Coverage (v1.3.2)
Trigger
SendIt Trigger supports catalog events with multi-select plus custom override:
post.published, post.scheduled, post.failed, post.deleted, post.dead_letteredaccount.connected, account.disconnected, account.tokenexpiring, account.tokenrefreshfailed, account.reconnectrequired, account.refreshrecovered, account.authrecovery_completedmention.detected, mention.negative_sentimentteam.memberjoined, team.memberleft, team.memberrolechanged, team.invitationsent, team.invitationaccepted, team.invitation_declinedapproval.submitted, approval.stepapproved, approval.requestchanges, approval.rejectedanalytics.anomalydetected, security.apikeyrotationdue, audit.criticalCustom Event lets you subscribe to an event string not listed yet in the static dropdown.
Actions
| Resource | Operation(s) |
| ————— | —————————————————————————————————————————————————————————————————————————— |
| post | publish, publishAi |
| ai | generate, replySuggestions, mentionSummary, feedback |
| media | upload |
| scheduledPost | create, getAll, delete, trigger |
| account | getAll |
| validation | validate |
| analytics | getAnalytics |
| brandVoice | create, list, get, update, delete |
| campaign | plan, list, schedule |
| inbox | list, reply, getThread, updateStatus |
| listening | refresh, listKeywords, createKeyword, getKeyword, updateKeyword, deleteKeyword, listMentions, getMention, markMentionsRead, archiveMentions, listAlerts, markAlertsRead, dismissAlerts, getSummary |
| aiMedia | create, getStatus |
| meta | getCapabilities, getRequirements, getPlatformSettingsSchema, getBestTimes, getWebhookEventsCatalog, getWebhookTriggers |
| contentScore | score |
| library | list, create, get, update, delete, listCategories, listTags |
| approvals | list, approve, reject |
| bulkSchedule | listImports, getImport, validateCsv, importCsv, downloadTemplate |
| connect | getConnectAction, connectToken, connectWebhook |
| webhooks | list, get, update, testWebhook |
| deadLetter | list, requeue, discard |
| auditLog | list |
| conversions | track |
| advanced | apiRequest |
Global Optional Headers
The action node supports optional request-scoped headers:
teamId -> sent as X-Team-IDidempotencyKey -> sent as Idempotency-KeySupported Platforms
The node ships with the full SendIt platform catalog option list and should be treated as catalog-driven. Always use capabilities/meta operations (meta.getCapabilities) to verify current operator-side availability.
Examples
Connect token credentials (connect.connectToken)
Credentials JSON example:
{ "apiKey": "your-platform-key", "apiSecret": "your-platform-secret" }
Create library item (library.create)
libraryTitle: Weekly Product UpdatelibraryText: New launch highlights...libraryType: templatelibraryTargetPlatforms: linkedin, xApprove scheduled post (approvals.approve)
approvalPostId: sched_abc123approvalComment: Approved for publishingRequeue a failed post (deadLetter.requeue)
deadLetterId: dl_abc123Track a conversion (conversions.track)
conversionTrackedLinkId: tl_abc123conversionType: signupconversionValue: 10Advanced request (advanced.apiRequest)
method: GETpath: /api/v2/capabilitiesqueryJson: {"include_beta":"1"}responseMode: jsonAllowed path prefixes:
/api/v1//api/v2/API Contract Notes
text in POST /api/v1/inbox/:threadId/reply.brief + platforms (optional postCount, startDate, endDate).provider, prompt, media_type, and parameters.csvContent.Developer Note: 1.2.0 Endpoint Map
Typed coverage
/capabilities, /requirements, /platforms/schema, /best-times, /webhooks/events-catalog, /webhooks/triggers/publish, /publish-ai, /schedule, /scheduled, /scheduled/:id, /scheduled/:id/trigger/ai/generate-content, /ai/reply-suggestions, /ai/mention-summary, /ai/feedback, /media/upload, /ai-media, /ai-media/:id/validate, /content-score, /analytics/inbox, /inbox/:threadId, /inbox/:threadId/reply, /inbox/:threadId/status/listening/* keyword/mention/alert/summary/refresh routes/library, /library/:id, /library/categories, /library/tags/brand-voice, /brand-voice/:id (full CRUD)/approvals, /approvals/:postId/approve, /approvals/:postId/reject/bulk-schedule, /bulk-schedule/:id, /bulk-schedule/validate, /bulk-schedule/import, /bulk-schedule/template/connect/:platform, /connect/token, /connect/webhook/webhooks, /webhooks/:id, /webhooks/:id/test (list, get, update, test)/dead-letter, /dead-letter/:id/requeue, /dead-letter/:id/discard/audit-log/conversionsAdvanced coverage (long-tail + v2)
Use advanced.apiRequest for operations outside typed coverage, including v2 dashboard-heavy surfaces.
Credentials
To use this node, you need a SendIt API key:
1. Sign in to SendIt
2. Open your Dashboard
3. Create an API key in API Keys
4. Configure in n8n under Credentials -> SendIt API
API key format:
sklive<32characterstring>