n8n-nodes-nashir 0.4.0 → 0.6.0

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
@@ -1,150 +1,171 @@
1
- # n8n-nodes-nashir
2
-
3
- n8n community nodes for [nashir.ai](https://nashir.ai) — publish to Facebook, Instagram, TikTok, LinkedIn, YouTube, WhatsApp and Telegram, and manage AI-driven conversations.
4
-
5
- > Requires nashir.ai API v0.3.0+ for conversation management operations.
6
-
7
- ## Installation
8
-
9
- In your n8n instance, go to **Settings → Community Nodes → Install** and enter:
10
-
11
- ```
12
- n8n-nodes-nashir
13
- ```
14
-
15
- ## Nodes
16
-
17
- ### Nashir WhatsApp
18
-
19
- | Operation | Description |
20
- |-----------|-------------|
21
- | Send Message | Send text, template, or media message to a phone number |
22
- | Reply to Message | Reply to a specific message by ID |
23
- | Get Messages | Retrieve recent WhatsApp messages |
24
- | Mark as Read | Mark a message as read |
25
- | **Get Conversation History** | Fetch the last N messages for a phone number |
26
- | **Get AI Status** | Check if AI auto-reply is active or paused for a conversation |
27
- | **Set AI Status** | Pause or resume AI auto-reply for a conversation |
28
- | **Save Message to Inbox** | Store an external message in nashir.ai (ingest) |
29
- | **Get Contact** | Fetch contact details by phone number |
30
-
31
- ### Nashir Contact
32
-
33
- | Operation | Description |
34
- |-----------|-------------|
35
- | Get Contact | Fetch contact details by phone number |
36
- | **Update Contact Tags** | Add tags to a contact (idempotent, comma-separated) |
37
-
38
- ### Nashir Facebook
39
-
40
- | Operation | Description |
41
- |-----------|-------------|
42
- | Publish Post | Publish a post / reel to a Facebook Page |
43
- | Schedule Post | Schedule a post for later |
44
- | Get Posts | List posts published via nashir.ai |
45
- | Delete Post | Remove a post from the page |
46
- | Get Comments | List comments received on Page posts |
47
- | Reply to Comment | Reply to a Page comment |
48
- | **Delete Comment** | Delete a Page comment via the team's page token (used by AI moderation) |
49
- | Get Messages | List inbound Messenger messages |
50
- | Reply to Message | Reply to a Messenger thread |
51
-
52
- ### Nashir Instagram
53
-
54
- | Operation | Description |
55
- |-----------|-------------|
56
- | Publish Post | Publish a feed post / reel / story / carousel |
57
- | Schedule Post | Schedule a post for later |
58
- | Get Posts | List posts published via nashir.ai |
59
- | Delete Post | Remove a post |
60
- | Get Comments | List comments received on IG media |
61
- | Reply to Comment | Reply to an IG comment |
62
- | **Delete Comment** | Delete an IG comment via the team's page token (used by AI moderation) |
63
- | Get Messages | List inbound DMs |
64
- | Reply to Message | Reply to a DM thread |
65
-
66
- ### Nashir TikTok
67
- Publish video and photo posts (Direct Post API).
68
-
69
- ### Nashir LinkedIn
70
- Publish posts and articles.
71
-
72
- ### Nashir YouTube
73
- Upload and schedule videos.
74
-
75
- ### Nashir Telegram
76
- Send messages and media to Telegram channels/groups.
77
-
78
- ## Credentials
79
-
80
- Create a **Nashir API** credential with your API key from [nashir.ai/settings](https://nashir.ai/settings).
81
-
82
- The credential supports an optional **Base URL** field (default: `https://nashir.ai`) — override this for self-hosted or staging environments.
83
-
84
- ## Example: Conversation History Lookup
85
-
86
- This workflow fetches the last 10 messages for an inbound WhatsApp number and passes them to an AI node:
87
-
88
- 1. **Webhook** receives a WhatsApp message (phone in `body.phone`)
89
- 2. **Nashir WhatsApp** → *Get Conversation History*
90
- - Phone: `={{ $json.body.phone }}`
91
- - Limit: `10`
92
- 3. **AI Agent** receives the message array as context
93
- 4. **Nashir WhatsApp** → *Set AI Status* (pause while agent replies)
94
- - Phone: `={{ $json.body.phone }}`
95
- - Action: `pause`
96
- - Reason: `Human-in-the-loop`
97
-
98
- ---
99
-
100
- ## Changelog
101
-
102
- ### 0.4.0 — Apr 2026
103
-
104
- **New operation: Delete Comment (Facebook + Instagram)**
105
-
106
- - **Delete Comment** on `Nashir Facebook` and `Nashir Instagram` — removes a comment via Meta Graph using the team's page token, looked up server-side. No `META_PAGE_ACCESS_TOKEN` env var required in n8n.
107
- - Auto-resolves the account/page from the stored comment row — only the `commentId` (nashir.ai message id) is needed. No account dropdown.
108
- - Idempotent: re-deleting an already-removed comment returns `{ success: true, already_deleted: true }`.
109
- - Recoverable Meta errors (`not_found`, `permission_denied`) return `{ success: false, error, detail }` with HTTP 200 so the workflow can continue. Token / network errors return HTTP 502 so n8n surfaces them.
110
- - Backed by `POST /api/v1/comments/:id/delete` on nashir.ai.
111
- - Bumped Meta Graph API version to `v25.0` for both reply and delete endpoints.
112
-
113
- ### 0.3.0 — Apr 2026
114
-
115
- **New WhatsApp operations**
116
-
117
- - **Get Conversation History** — fetch last N messages for a phone (`GET /api/v1/conversations/:phone/messages?limit=N`)
118
- - **Get AI Status** — check if AI is paused/active for a conversation (`GET /api/v1/conversations/:phone/ai-status`)
119
- - **Set AI Status**pause or resume AI auto-reply with optional reason (`POST /api/v1/conversations/:phone/ai-toggle`)
120
- - **Save Message to Inbox** — store external messages in nashir.ai with role, media type, and `is_from_ai` flag (`POST /api/v1/messages/ingest`)
121
- - **Get Contact**fetch contact details by phone number (`GET /api/v1/contacts/:phone`)
122
-
123
- **New Contact node**
124
-
125
- - **Update Contact Tags** add tags to a contact, idempotent, comma-separated input (`POST /api/v1/contacts/:phone/tags`)
126
-
127
- **Improvements**
128
-
129
- - Configurable Base URL in credentials (default `https://nashir.ai`, override for dev/staging)
130
- - Friendly error messages: 401/403 clear auth error, 404 context-aware not-found message
131
- - Full TypeScript types for all response shapes
132
-
133
- ### 0.2.2 — Apr 2026
134
-
135
- **TikTok node — full Direct Post API compliance update**
136
-
137
- - `privacy_level` now required field with 3 options: Public to Everyone, Friends Only, Only Me
138
- - Interactions renamed to "Allow Comments / Allow Duet / Allow Stitch" (all default `false` per TikTok guidelines)
139
- - `brand_content_toggle` renamed to **Content Disclosure** in UI
140
- - Removed `FOLLOWER_OF_CREATOR` privacy option (not supported by Direct Post API)
141
-
142
- ### 0.2.1Mar 2026
143
-
144
- - TikTok node: add `brand_content_toggle`, `brand_organic_toggle`, `brand_branded_content_toggle`
145
- - TikTok node: carousel support via comma-separated image URLs
146
- - YouTube node: `madeForKids`, `tags`, `category`, `license`, `notifySubscribers`, `comments` fields
147
-
148
- ### 0.2.0 — Feb 2026
149
-
150
- - Initial release: Facebook, Instagram, TikTok, LinkedIn, YouTube, WhatsApp, Telegram nodes
1
+ # n8n-nodes-nashir
2
+
3
+ n8n community nodes for [nashir.ai](https://nashir.ai) — publish to Facebook, Instagram, TikTok, LinkedIn, YouTube, WhatsApp and Telegram, and manage AI-driven conversations.
4
+
5
+ > Requires nashir.ai API v0.3.0+ for conversation management operations.
6
+
7
+ ## Installation
8
+
9
+ In your n8n instance, go to **Settings → Community Nodes → Install** and enter:
10
+
11
+ ```
12
+ n8n-nodes-nashir
13
+ ```
14
+
15
+ ## Nodes
16
+
17
+ ### Nashir WhatsApp
18
+
19
+ | Operation | Description |
20
+ |-----------|-------------|
21
+ | Send Message | Send text, template, or media message to a phone number |
22
+ | Reply to Message | Reply to a specific message by ID |
23
+ | Get Messages | Retrieve recent WhatsApp messages |
24
+ | Mark as Read | Mark a message as read |
25
+ | **Get Conversation History** | Fetch the last N messages for a phone number |
26
+ | **Get AI Status** | Check if AI auto-reply is active or paused for a conversation |
27
+ | **Set AI Status** | Pause or resume AI auto-reply for a conversation |
28
+ | **Save Message to Inbox** | Store an external message in nashir.ai (ingest) |
29
+ | **Get Contact** | Fetch contact details by phone number |
30
+
31
+ ### Nashir Contact
32
+
33
+ | Operation | Description |
34
+ |-----------|-------------|
35
+ | Get Contact | Fetch contact details by phone number |
36
+ | **Update Contact Tags** | Add tags to a contact (idempotent, comma-separated) |
37
+ | **Get Conversation History** | Fetch recent messages by sender id for AI agent context (cross-platform: FB / IG / WhatsApp) |
38
+ | **Search Knowledge Base** | Find relevant knowledge chunks from the business's knowledge base for AI agent context (server-side embedding) |
39
+
40
+ ### Nashir Facebook
41
+
42
+ | Operation | Description |
43
+ |-----------|-------------|
44
+ | Publish Post | Publish a post / reel to a Facebook Page |
45
+ | Schedule Post | Schedule a post for later |
46
+ | Get Posts | List posts published via nashir.ai |
47
+ | Delete Post | Remove a post from the page |
48
+ | Get Comments | List comments received on Page posts |
49
+ | Reply to Comment | Reply to a Page comment |
50
+ | **Delete Comment** | Delete a Page comment via the team's page token (used by AI moderation) |
51
+ | Get Messages | List inbound Messenger messages |
52
+ | Reply to Message | Reply to a Messenger thread |
53
+
54
+ ### Nashir Instagram
55
+
56
+ | Operation | Description |
57
+ |-----------|-------------|
58
+ | Publish Post | Publish a feed post / reel / story / carousel |
59
+ | Schedule Post | Schedule a post for later |
60
+ | Get Posts | List posts published via nashir.ai |
61
+ | Delete Post | Remove a post |
62
+ | Get Comments | List comments received on IG media |
63
+ | Reply to Comment | Reply to an IG comment |
64
+ | **Delete Comment** | Delete an IG comment via the team's page token (used by AI moderation) |
65
+ | Get Messages | List inbound DMs |
66
+ | Reply to Message | Reply to a DM thread |
67
+
68
+ ### Nashir TikTok
69
+ Publish video and photo posts (Direct Post API).
70
+
71
+ ### Nashir LinkedIn
72
+ Publish posts and articles.
73
+
74
+ ### Nashir YouTube
75
+ Upload and schedule videos.
76
+
77
+ ### Nashir Telegram
78
+ Send messages and media to Telegram channels/groups.
79
+
80
+ ## Credentials
81
+
82
+ Create a **Nashir API** credential with your API key from [nashir.ai/settings](https://nashir.ai/settings).
83
+
84
+ The credential supports an optional **Base URL** field (default: `https://nashir.ai`) override this for self-hosted or staging environments.
85
+
86
+ ## Example: Conversation History Lookup
87
+
88
+ This workflow fetches the last 10 messages for an inbound WhatsApp number and passes them to an AI node:
89
+
90
+ 1. **Webhook** receives a WhatsApp message (phone in `body.phone`)
91
+ 2. **Nashir WhatsApp** → *Get Conversation History*
92
+ - Phone: `={{ $json.body.phone }}`
93
+ - Limit: `10`
94
+ 3. **AI Agent** receives the message array as context
95
+ 4. **Nashir WhatsApp** → *Set AI Status* (pause while agent replies)
96
+ - Phone: `={{ $json.body.phone }}`
97
+ - Action: `pause`
98
+ - Reason: `Human-in-the-loop`
99
+
100
+ ---
101
+
102
+ ## Changelog
103
+
104
+ ### 0.6.0 Apr 2026
105
+
106
+ **New operation: Search Knowledge Base on `Nashir Contact`**
107
+
108
+ - **Search Knowledge Base** on `Nashir Contact` — retrieve the top N most relevant chunks from the team's knowledge base. The customer passes plain text; nashir.ai handles embedding (OpenAI `text-embedding-3-small`) and vector similarity server-side. No `OPENAI_API_KEY` or Supabase credentials needed in n8n.
109
+ - Inputs: `query` (required the customer's question or topic) and `kbLimit` (default 4, max 10).
110
+ - Returns `{ chunks: [{ id, content, metadata, similarity }, ...], count }`.
111
+ - Backed by `POST /api/v1/knowledge/search` on nashir.ai.
112
+ - Used by the v2 AI Auto Reply template to replace the four `Supabase Vector Store` + `OpenAI Embeddings` node pairs — knowledge retrieval is now a single nashir-native call.
113
+
114
+ ### 0.5.0 — Apr 2026
115
+
116
+ **New operation: Get Conversation History on `Nashir Contact`**
117
+
118
+ - **Get Conversation History** on `Nashir Contact` fetch the last N messages exchanged with a sender across any platform (FB Messenger, IG Direct, FB/IG comments, WhatsApp). Returns chronological `{ role, content, created_at }` rows ready to inject into an AI agent prompt.
119
+ - Inputs: `senderId` (requiredthe platform-specific sender id from the inbound webhook payload) and `limit` (default 20, max 50).
120
+ - Backed by `GET /api/v1/conversations/by-sender/:sender_id?limit=N` on nashir.ai.
121
+ - Used by the v2 AI Auto Reply template to replace the n8n `memoryBufferWindow` step history is now persisted server-side in `inbox_messages` and shared across workflow executions.
122
+
123
+ ### 0.4.0 — Apr 2026
124
+
125
+ **New operation: Delete Comment (Facebook + Instagram)**
126
+
127
+ - **Delete Comment** on `Nashir Facebook` and `Nashir Instagram` — removes a comment via Meta Graph using the team's page token, looked up server-side. No `META_PAGE_ACCESS_TOKEN` env var required in n8n.
128
+ - Auto-resolves the account/page from the stored comment row — only the `commentId` (nashir.ai message id) is needed. No account dropdown.
129
+ - Idempotent: re-deleting an already-removed comment returns `{ success: true, already_deleted: true }`.
130
+ - Recoverable Meta errors (`not_found`, `permission_denied`) return `{ success: false, error, detail }` with HTTP 200 so the workflow can continue. Token / network errors return HTTP 502 so n8n surfaces them.
131
+ - Backed by `POST /api/v1/comments/:id/delete` on nashir.ai.
132
+ - Bumped Meta Graph API version to `v25.0` for both reply and delete endpoints.
133
+
134
+ ### 0.3.0 — Apr 2026
135
+
136
+ **New WhatsApp operations**
137
+
138
+ - **Get Conversation History** fetch last N messages for a phone (`GET /api/v1/conversations/:phone/messages?limit=N`)
139
+ - **Get AI Status** check if AI is paused/active for a conversation (`GET /api/v1/conversations/:phone/ai-status`)
140
+ - **Set AI Status** pause or resume AI auto-reply with optional reason (`POST /api/v1/conversations/:phone/ai-toggle`)
141
+ - **Save Message to Inbox** — store external messages in nashir.ai with role, media type, and `is_from_ai` flag (`POST /api/v1/messages/ingest`)
142
+ - **Get Contact** fetch contact details by phone number (`GET /api/v1/contacts/:phone`)
143
+
144
+ **New Contact node**
145
+
146
+ - **Update Contact Tags** — add tags to a contact, idempotent, comma-separated input (`POST /api/v1/contacts/:phone/tags`)
147
+
148
+ **Improvements**
149
+
150
+ - Configurable Base URL in credentials (default `https://nashir.ai`, override for dev/staging)
151
+ - Friendly error messages: 401/403 → clear auth error, 404 → context-aware not-found message
152
+ - Full TypeScript types for all response shapes
153
+
154
+ ### 0.2.2 — Apr 2026
155
+
156
+ **TikTok node — full Direct Post API compliance update**
157
+
158
+ - `privacy_level` now required field with 3 options: Public to Everyone, Friends Only, Only Me
159
+ - Interactions renamed to "Allow Comments / Allow Duet / Allow Stitch" (all default `false` per TikTok guidelines)
160
+ - `brand_content_toggle` renamed to **Content Disclosure** in UI
161
+ - Removed `FOLLOWER_OF_CREATOR` privacy option (not supported by Direct Post API)
162
+
163
+ ### 0.2.1 — Mar 2026
164
+
165
+ - TikTok node: add `brand_content_toggle`, `brand_organic_toggle`, `brand_branded_content_toggle`
166
+ - TikTok node: carousel support via comma-separated image URLs
167
+ - YouTube node: `madeForKids`, `tags`, `category`, `license`, `notifySubscribers`, `comments` fields
168
+
169
+ ### 0.2.0 — Feb 2026
170
+
171
+ - Initial release: Facebook, Instagram, TikTok, LinkedIn, YouTube, WhatsApp, Telegram nodes
@@ -1 +1 @@
1
- {"version":3,"file":"NashirContact.node.d.ts","sourceRoot":"","sources":["../../../nodes/NashirContact/NashirContact.node.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,MAAM,cAAc,CAAC;AAItB,qBAAa,aAAc,YAAW,SAAS;IAC9C,WAAW,EAAE,oBAAoB,CAiD/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAwCvE"}
1
+ {"version":3,"file":"NashirContact.node.d.ts","sourceRoot":"","sources":["../../../nodes/NashirContact/NashirContact.node.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,MAAM,cAAc,CAAC;AAItB,qBAAa,aAAc,YAAW,SAAS;IAC9C,WAAW,EAAE,oBAAoB,CA+G/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAgEvE"}
@@ -11,7 +11,7 @@ class NashirContact {
11
11
  group: ['transform'],
12
12
  version: 1,
13
13
  subtitle: '={{$parameter["operation"]}}',
14
- description: 'Manage contacts in nashir.ai',
14
+ description: 'Manage contacts and retrieve knowledge from nashir.ai',
15
15
  defaults: { name: 'Nashir Contact', color: '#6366f1' },
16
16
  inputs: ['main'],
17
17
  outputs: ['main'],
@@ -25,6 +25,17 @@ class NashirContact {
25
25
  options: [
26
26
  { name: 'Get Contact', value: 'getContact', action: 'Get contact details' },
27
27
  { name: 'Update Contact Tags', value: 'updateTags', action: 'Add tags to a contact' },
28
+ {
29
+ name: 'Get Conversation History',
30
+ value: 'getConversationHistory',
31
+ action: 'Fetch recent messages with a contact for AI agent context',
32
+ },
33
+ {
34
+ name: 'Search Knowledge Base',
35
+ value: 'searchKnowledge',
36
+ action: "Find relevant knowledge from the business's knowledge base for AI agent context",
37
+ description: "Find relevant knowledge from the business's knowledge base for AI agent context",
38
+ },
28
39
  ],
29
40
  default: 'getContact',
30
41
  },
@@ -50,6 +61,52 @@ class NashirContact {
50
61
  description: 'Comma-separated list of tags to apply to the contact (idempotent)',
51
62
  displayOptions: { show: { operation: ['updateTags'] } },
52
63
  },
64
+ // ── Get Conversation History fields ──────────────────────────────────────
65
+ // Cross-platform: senderId is whatever Meta / WhatsApp sent in the inbound
66
+ // webhook payload (FB/IG numeric user id, WA phone, etc.). The backend
67
+ // scopes the query to this team's rows automatically.
68
+ {
69
+ displayName: 'Sender ID',
70
+ name: 'senderId',
71
+ type: 'string',
72
+ default: '',
73
+ required: true,
74
+ placeholder: '={{ $json.body.sender_id }}',
75
+ description: 'Platform-specific sender id from the inbound webhook (FB/IG user id or WhatsApp phone). Used as the lookup key in inbox_messages.',
76
+ displayOptions: { show: { operation: ['getConversationHistory'] } },
77
+ },
78
+ {
79
+ displayName: 'Limit',
80
+ name: 'limit',
81
+ type: 'number',
82
+ typeOptions: { minValue: 1, maxValue: 50 },
83
+ default: 20,
84
+ description: 'How many recent messages to return (oldest → newest). Capped at 50 server-side.',
85
+ displayOptions: { show: { operation: ['getConversationHistory'] } },
86
+ },
87
+ // ── Search Knowledge Base fields ─────────────────────────────────────────
88
+ // Server-side: nashir.ai embeds the query (text-embedding-3-small) and
89
+ // runs vector similarity against the team's knowledge_chunks. The team
90
+ // is derived from the API key — never trusted from the request body.
91
+ {
92
+ displayName: 'Query',
93
+ name: 'query',
94
+ type: 'string',
95
+ default: '',
96
+ required: true,
97
+ placeholder: '={{ $json.effective_message }}',
98
+ description: "The customer's question or topic to search for in the knowledge base. Plain text — no embedding step required on your side.",
99
+ displayOptions: { show: { operation: ['searchKnowledge'] } },
100
+ },
101
+ {
102
+ displayName: 'Limit',
103
+ name: 'kbLimit',
104
+ type: 'number',
105
+ typeOptions: { minValue: 1, maxValue: 10 },
106
+ default: 4,
107
+ description: 'How many top chunks to return (1–10). Default 4 is a good balance for AI agent context.',
108
+ displayOptions: { show: { operation: ['searchKnowledge'] } },
109
+ },
53
110
  ],
54
111
  };
55
112
  }
@@ -73,6 +130,19 @@ class NashirContact {
73
130
  .filter(Boolean);
74
131
  responseData = await (0, api_1.nashirApiRequest)(this, 'POST', `/contacts/${phone}/tags`, { tags });
75
132
  }
133
+ else if (operation === 'getConversationHistory') {
134
+ const senderId = encodeURIComponent(this.getNodeParameter('senderId', i));
135
+ const limit = this.getNodeParameter('limit', i, 20);
136
+ responseData = await (0, api_1.nashirApiRequest)(this, 'GET', `/conversations/by-sender/${senderId}`, undefined, { limit });
137
+ }
138
+ else if (operation === 'searchKnowledge') {
139
+ const query = this.getNodeParameter('query', i).trim();
140
+ if (!query) {
141
+ throw new Error('Search Knowledge Base: query is required');
142
+ }
143
+ const limit = this.getNodeParameter('kbLimit', i, 4);
144
+ responseData = await (0, api_1.nashirApiRequest)(this, 'POST', `/knowledge/search`, { query, limit });
145
+ }
76
146
  else {
77
147
  throw new Error(`Unknown operation: ${operation}`);
78
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NashirContact.node.js","sourceRoot":"","sources":["../../../nodes/NashirContact/NashirContact.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NashirContact.node.js","sourceRoot":"","sources":["../../../nodes/NashirContact/NashirContact.node.ts"],"names":[],"mappings":"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"}