n8n-nodes-sendit 1.2.1 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,10 +4,13 @@ This is an n8n community node for [SendIt](https://sendit.infiniteappsai.com), a
4
4
 
5
5
  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
6
6
 
7
- ## Release Notes (v1.2.0)
7
+ ## Release Notes (v1.3.1)
8
8
 
9
- `1.2.0` is a major maintainability and feature parity release:
9
+ `1.3.1` is a verification-readiness release:
10
10
 
11
+ - **n8n verification readiness**: Added GitHub Actions provenance publishing support for npm releases
12
+ - **Cloud-safe media upload**: Removed host file path reads; media uploads now use n8n binary data only
13
+ - **Standalone package fix**: Removed package imports from the SendIt server codebase
11
14
  - **Refactored architecture**: Monolithic 2,842-line node split into handler-per-resource dispatch map (23 handler modules)
12
15
  - **New resources**: Dead Letter Queue, Audit Log, Conversions
13
16
  - **Expanded resources**: Brand Voice (get/update/delete), Webhooks (list/get/update), AI (reply suggestions, mention summary, feedback)
@@ -23,7 +26,33 @@ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes
23
26
  npm install n8n-nodes-sendit
24
27
  ```
25
28
 
26
- ## Node Coverage (v1.2.0)
29
+ ## Quick Start
30
+
31
+ ### 1. Get your API key
32
+
33
+ Sign in to [SendIt](https://sendit.infiniteappsai.com), go to **Dashboard > API Keys > Create New Key**, and copy the key (format: `sk_live_...`).
34
+
35
+ ### 2. Add credentials in n8n
36
+
37
+ Go to **Credentials > Add Credential**, search for **SendIt API**, paste your key, and save. n8n tests the connection automatically.
38
+
39
+ ### 3. Publish your first post
40
+
41
+ Add a **SendIt** node to a workflow, select **Post > Publish**, pick your target platforms, enter text, and execute. That's it.
42
+
43
+ ### 4. Set up a trigger
44
+
45
+ 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.
46
+
47
+ ### 5. Example: AI social publishing pipeline
48
+
49
+ ```
50
+ [Google Sheets] → [SendIt: AI > Generate Content] → [SendIt: Post > Publish] → [SendIt Trigger: post.published]
51
+ ```
52
+
53
+ Read content ideas from a spreadsheet, generate AI copy, publish to multiple platforms, and get notified on success.
54
+
55
+ ## Node Coverage (v1.3.1)
27
56
 
28
57
  ### Trigger
29
58
 
@@ -40,31 +69,31 @@ npm install n8n-nodes-sendit
40
69
 
41
70
  ### Actions
42
71
 
43
- | Resource | Operation(s) |
44
- |----------|---------------|
45
- | `post` | `publish`, `publishAi` |
46
- | `ai` | `generate`, `replySuggestions`, `mentionSummary`, `feedback` |
47
- | `media` | `upload` |
48
- | `scheduledPost` | `create`, `getAll`, `delete`, `trigger` |
49
- | `account` | `getAll` |
50
- | `validation` | `validate` |
51
- | `analytics` | `getAnalytics` |
52
- | `brandVoice` | `create`, `list`, `get`, `update`, `delete` |
53
- | `campaign` | `plan`, `list`, `schedule` |
54
- | `inbox` | `list`, `reply`, `getThread`, `updateStatus` |
55
- | `listening` | `refresh`, `listKeywords`, `createKeyword`, `getKeyword`, `updateKeyword`, `deleteKeyword`, `listMentions`, `getMention`, `markMentionsRead`, `archiveMentions`, `listAlerts`, `markAlertsRead`, `dismissAlerts`, `getSummary` |
56
- | `aiMedia` | `create`, `getStatus` |
57
- | `meta` | `getCapabilities`, `getRequirements`, `getPlatformSettingsSchema`, `getBestTimes`, `getWebhookEventsCatalog`, `getWebhookTriggers` |
58
- | `contentScore` | `score` |
59
- | `library` | `list`, `create`, `get`, `update`, `delete`, `listCategories`, `listTags` |
60
- | `approvals` | `list`, `approve`, `reject` |
61
- | `bulkSchedule` | `listImports`, `getImport`, `validateCsv`, `importCsv`, `downloadTemplate` |
62
- | `connect` | `getConnectAction`, `connectToken`, `connectWebhook` |
63
- | `webhooks` | `list`, `get`, `update`, `testWebhook` |
64
- | `deadLetter` | `list`, `requeue`, `discard` |
65
- | `auditLog` | `list` |
66
- | `conversions` | `track` |
67
- | `advanced` | `apiRequest` |
72
+ | Resource | Operation(s) |
73
+ | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
74
+ | `post` | `publish`, `publishAi` |
75
+ | `ai` | `generate`, `replySuggestions`, `mentionSummary`, `feedback` |
76
+ | `media` | `upload` |
77
+ | `scheduledPost` | `create`, `getAll`, `delete`, `trigger` |
78
+ | `account` | `getAll` |
79
+ | `validation` | `validate` |
80
+ | `analytics` | `getAnalytics` |
81
+ | `brandVoice` | `create`, `list`, `get`, `update`, `delete` |
82
+ | `campaign` | `plan`, `list`, `schedule` |
83
+ | `inbox` | `list`, `reply`, `getThread`, `updateStatus` |
84
+ | `listening` | `refresh`, `listKeywords`, `createKeyword`, `getKeyword`, `updateKeyword`, `deleteKeyword`, `listMentions`, `getMention`, `markMentionsRead`, `archiveMentions`, `listAlerts`, `markAlertsRead`, `dismissAlerts`, `getSummary` |
85
+ | `aiMedia` | `create`, `getStatus` |
86
+ | `meta` | `getCapabilities`, `getRequirements`, `getPlatformSettingsSchema`, `getBestTimes`, `getWebhookEventsCatalog`, `getWebhookTriggers` |
87
+ | `contentScore` | `score` |
88
+ | `library` | `list`, `create`, `get`, `update`, `delete`, `listCategories`, `listTags` |
89
+ | `approvals` | `list`, `approve`, `reject` |
90
+ | `bulkSchedule` | `listImports`, `getImport`, `validateCsv`, `importCsv`, `downloadTemplate` |
91
+ | `connect` | `getConnectAction`, `connectToken`, `connectWebhook` |
92
+ | `webhooks` | `list`, `get`, `update`, `testWebhook` |
93
+ | `deadLetter` | `list`, `requeue`, `discard` |
94
+ | `auditLog` | `list` |
95
+ | `conversions` | `track` |
96
+ | `advanced` | `apiRequest` |
68
97
 
69
98
  ### Global Optional Headers
70
99
 
@@ -84,7 +113,7 @@ The node ships with the full SendIt platform catalog option list and should be t
84
113
  `Credentials JSON` example:
85
114
 
86
115
  ```json
87
- {"apiKey":"your-platform-key","apiSecret":"your-platform-secret"}
116
+ { "apiKey": "your-platform-key", "apiSecret": "your-platform-secret" }
88
117
  ```
89
118
 
90
119
  ### Create library item (`library.create`)
@@ -1,5 +1,18 @@
1
- import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
1
+ import { IExecuteFunctions, ILoadOptionsFunctions, INodeExecutionData, INodePropertyOptions, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
2
  export declare class SendIt implements INodeType {
3
3
  description: INodeTypeDescription;
4
+ methods: {
5
+ loadOptions: {
6
+ getBrandVoices(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
7
+ getCampaigns(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
8
+ getScheduledPosts(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
9
+ getWebhooks(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
10
+ getLibraryItems(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
11
+ getListeningKeywords(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
12
+ getConnectedPlatforms(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
13
+ getDeadLetterPosts(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
14
+ getInboxThreads(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
15
+ };
16
+ };
4
17
  execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
18
  }