n8n-nodes-yourang 0.1.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/LICENSE.md ADDED
@@ -0,0 +1,19 @@
1
+ Copyright 2025 Reddoak SRL
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+ of the Software, and to permit persons to whom the Software is furnished to do
8
+ so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,86 @@
1
+ # n8n-nodes-yourang
2
+
3
+ This is an n8n community node. It lets you use Yourang.ai in your n8n workflows.
4
+
5
+ Yourang.ai is a 24/7 AI phone assistant that handles calls, appointments, and customer interactions automatically. It provides intelligent call routing, appointment scheduling, transcription services, and customer data collection.
6
+
7
+ [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
8
+
9
+ [Installation](#installation)
10
+ [Operations](#operations)
11
+ [Credentials](#credentials)
12
+ [Compatibility](#compatibility)
13
+ [Usage](#usage)
14
+ [Resources](#resources)
15
+
16
+ ## Installation
17
+
18
+ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
19
+
20
+ ## Operations
21
+
22
+ This node supports the following operations:
23
+
24
+ ### Call Operations
25
+ - **Get Call**: Retrieve details of a specific call by ID
26
+ - **Get All Calls**: Retrieve all calls with optional filtering by date range and status
27
+ - **Get Call Transcript**: Get the transcript of a specific call
28
+
29
+ ### Appointment Operations
30
+ - **Create**: Schedule a new appointment with customer details
31
+ - **Update**: Modify an existing appointment
32
+ - **Get**: Retrieve details of a specific appointment
33
+ - **Get All**: List all appointments
34
+ - **Cancel**: Cancel an existing appointment
35
+
36
+ ### Contact Operations
37
+ - **Create**: Add a new customer contact
38
+ - **Update**: Modify existing contact information
39
+ - **Get**: Retrieve details of a specific contact
40
+ - **Get All**: List all contacts
41
+
42
+ ### Analytics Operations
43
+ - **Get Call Statistics**: Retrieve call metrics and performance data
44
+ - **Get Performance Report**: Generate performance reports for specified time periods
45
+
46
+ ## Credentials
47
+
48
+ To use this node, you need to set up authentication with Yourang.ai:
49
+
50
+ 1. Sign up for a Yourang.ai account at [yourang.ai](https://yourang.ai/)
51
+ 2. Access your dashboard to generate an API key
52
+ 3. In n8n, create new credentials for "Yourang API"
53
+ 4. Enter your API key and base URL (default: https://api.yourang.ai/v1)
54
+
55
+ The node uses Bearer token authentication for all API requests.
56
+
57
+ ## Compatibility
58
+
59
+ - **Minimum n8n version**: 0.87.0
60
+ - **Tested with**: n8n 1.105.4
61
+
62
+ ## Usage
63
+
64
+ ### Basic Workflow Examples
65
+
66
+ 1. **Call Monitoring**: Set up automated workflows to process completed calls and sync data to your CRM
67
+ 2. **Appointment Management**: Automatically create calendar events when new appointments are scheduled
68
+ 3. **Customer Data Sync**: Keep customer information synchronized between Yourang.ai and other systems
69
+ 4. **Analytics Reports**: Generate daily/weekly reports on call performance and metrics
70
+
71
+ ### Common Use Cases
72
+
73
+ - Sync call data to external CRM systems
74
+ - Send notifications when important calls are completed
75
+ - Automatically schedule follow-up tasks based on call outcomes
76
+ - Generate performance dashboards from analytics data
77
+
78
+ ## Resources
79
+
80
+ * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
81
+ * [Yourang.ai website](https://yourang.ai/)
82
+ * [Yourang.ai Developer Documentation](https://developers.yourang.ai/)
83
+
84
+ ## License
85
+
86
+ [MIT](LICENSE.md)
@@ -0,0 +1,9 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class YourangApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ authenticate: IAuthenticateGeneric;
8
+ test: ICredentialTestRequest;
9
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.YourangApi = void 0;
4
+ class YourangApi {
5
+ constructor() {
6
+ this.name = 'yourangApi';
7
+ this.displayName = 'Yourang API';
8
+ this.documentationUrl = 'https://developers.yourang.ai/';
9
+ this.properties = [
10
+ {
11
+ displayName: 'API Key',
12
+ name: 'apiKey',
13
+ type: 'string',
14
+ typeOptions: {
15
+ password: true,
16
+ },
17
+ default: '',
18
+ description: 'Your Yourang API key. Get it from your Yourang dashboard.',
19
+ },
20
+ {
21
+ displayName: 'API Base URL',
22
+ name: 'baseUrl',
23
+ type: 'string',
24
+ default: 'https://api.yourang.ai/v1',
25
+ description: 'The base URL for the Yourang API',
26
+ },
27
+ ];
28
+ this.authenticate = {
29
+ type: 'generic',
30
+ properties: {
31
+ headers: {
32
+ Authorization: '={{"Bearer " + $credentials.apiKey}}',
33
+ 'Content-Type': 'application/json',
34
+ },
35
+ },
36
+ };
37
+ this.test = {
38
+ request: {
39
+ baseURL: '={{$credentials?.baseUrl}}',
40
+ url: '/status',
41
+ method: 'GET',
42
+ },
43
+ };
44
+ }
45
+ }
46
+ exports.YourangApi = YourangApi;
47
+ //# sourceMappingURL=YourangApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YourangApi.credentials.js","sourceRoot":"","sources":["../../credentials/YourangApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QACpB,gBAAW,GAAG,aAAa,CAAC;QAC5B,qBAAgB,GAAG,gCAAgC,CAAC;QACpD,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACZ,QAAQ,EAAE,IAAI;iBACd;gBACD,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,2DAA2D;aACxE;YACD;gBACC,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,2BAA2B;gBACpC,WAAW,EAAE,kCAAkC;aAC/C;SACD,CAAC;QAIF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,sCAAsC;oBACrD,cAAc,EAAE,kBAAkB;iBAClC;aACD;SACD,CAAC;QAGF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,4BAA4B;gBACrC,GAAG,EAAE,SAAS;gBACd,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AA5CD,gCA4CC"}
@@ -0,0 +1,5 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class Yourang implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Yourang = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const YourangDescription_1 = require("./YourangDescription");
6
+ class Yourang {
7
+ constructor() {
8
+ this.description = {
9
+ displayName: 'Yourang',
10
+ name: 'yourang',
11
+ icon: { light: 'file:yourang.svg', dark: 'file:yourang.svg' },
12
+ group: ['transform'],
13
+ version: 1,
14
+ subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
15
+ description: 'Interact with Yourang.ai - 24/7 AI phone assistant',
16
+ defaults: {
17
+ name: 'Yourang',
18
+ },
19
+ inputs: ["main"],
20
+ outputs: ["main"],
21
+ usableAsTool: true,
22
+ credentials: [
23
+ {
24
+ name: 'yourangApi',
25
+ required: true,
26
+ },
27
+ ],
28
+ requestDefaults: {
29
+ baseURL: '={{$credentials.baseUrl}}',
30
+ headers: {
31
+ Accept: 'application/json',
32
+ 'Content-Type': 'application/json',
33
+ },
34
+ },
35
+ properties: [
36
+ {
37
+ displayName: 'Resource',
38
+ name: 'resource',
39
+ type: 'options',
40
+ noDataExpression: true,
41
+ options: [
42
+ {
43
+ name: 'Call History',
44
+ value: 'callHistory',
45
+ description: 'Retrieve and manage call history records',
46
+ },
47
+ {
48
+ name: 'Contact',
49
+ value: 'contact',
50
+ description: 'Manage customer contacts and information',
51
+ },
52
+ {
53
+ name: 'Action',
54
+ value: 'action',
55
+ description: 'Execute actions and manage action configurations',
56
+ },
57
+ ],
58
+ default: 'callHistory',
59
+ },
60
+ ...YourangDescription_1.yourangOperations,
61
+ ...YourangDescription_1.yourangFields,
62
+ ],
63
+ };
64
+ }
65
+ async execute() {
66
+ const items = this.getInputData();
67
+ const returnData = [];
68
+ const resource = this.getNodeParameter('resource', 0);
69
+ const operation = this.getNodeParameter('operation', 0);
70
+ const credentials = await this.getCredentials('yourangApi');
71
+ const baseUrl = credentials.baseUrl;
72
+ for (let i = 0; i < items.length; i++) {
73
+ try {
74
+ let responseData;
75
+ if (resource === 'callHistory') {
76
+ if (operation === 'get') {
77
+ const callId = this.getNodeParameter('callId', i);
78
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
79
+ method: 'GET',
80
+ url: `${baseUrl}/call-history/${callId}`,
81
+ });
82
+ }
83
+ if (operation === 'getAll') {
84
+ const returnAll = this.getNodeParameter('returnAll', i);
85
+ const filters = this.getNodeParameter('filters', i);
86
+ let qs = {};
87
+ if (!returnAll) {
88
+ const limit = this.getNodeParameter('limit', i);
89
+ qs.limit = limit;
90
+ }
91
+ if (filters.sort)
92
+ qs.sort = filters.sort;
93
+ if (filters.call_type)
94
+ qs.call_type = filters.call_type;
95
+ if (filters.call_status)
96
+ qs.call_status = filters.call_status;
97
+ if (typeof filters.is_outbound === 'boolean')
98
+ qs.is_outbound = filters.is_outbound;
99
+ if (filters.phone_number)
100
+ qs.phone_number = filters.phone_number;
101
+ if (filters.contact_id)
102
+ qs.contact_id = filters.contact_id;
103
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
104
+ method: 'GET',
105
+ url: `${baseUrl}/call-history`,
106
+ qs,
107
+ });
108
+ }
109
+ }
110
+ if (resource === 'contact') {
111
+ if (operation === 'create') {
112
+ const body = {
113
+ first_name: this.getNodeParameter('first_name', i),
114
+ phone_number: this.getNodeParameter('phone_number', i),
115
+ };
116
+ const lastName = this.getNodeParameter('last_name', i);
117
+ const email = this.getNodeParameter('email', i);
118
+ const address = this.getNodeParameter('address', i);
119
+ if (lastName)
120
+ body.last_name = lastName;
121
+ if (email)
122
+ body.email = email;
123
+ if (address)
124
+ body.address = address;
125
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
126
+ method: 'POST',
127
+ url: `${baseUrl}/contacts`,
128
+ body,
129
+ });
130
+ }
131
+ if (operation === 'update') {
132
+ const contactId = this.getNodeParameter('contactId', i);
133
+ const body = {};
134
+ const firstName = this.getNodeParameter('first_name', i);
135
+ const lastName = this.getNodeParameter('last_name', i);
136
+ const phoneNumber = this.getNodeParameter('phone_number', i);
137
+ const email = this.getNodeParameter('email', i);
138
+ const address = this.getNodeParameter('address', i);
139
+ if (firstName)
140
+ body.first_name = firstName;
141
+ if (lastName)
142
+ body.last_name = lastName;
143
+ if (phoneNumber)
144
+ body.phone_number = phoneNumber;
145
+ if (email)
146
+ body.email = email;
147
+ if (address)
148
+ body.address = address;
149
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
150
+ method: 'PUT',
151
+ url: `${baseUrl}/contacts/${contactId}`,
152
+ body,
153
+ });
154
+ }
155
+ if (operation === 'get') {
156
+ const contactId = this.getNodeParameter('contactId', i);
157
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
158
+ method: 'GET',
159
+ url: `${baseUrl}/contacts/${contactId}`,
160
+ });
161
+ }
162
+ if (operation === 'delete') {
163
+ const contactId = this.getNodeParameter('contactId', i);
164
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
165
+ method: 'DELETE',
166
+ url: `${baseUrl}/contacts/${contactId}`,
167
+ });
168
+ }
169
+ if (operation === 'getAll') {
170
+ const returnAll = this.getNodeParameter('returnAll', i);
171
+ const filters = this.getNodeParameter('filters', i);
172
+ let qs = {};
173
+ if (!returnAll) {
174
+ const limit = this.getNodeParameter('limit', i);
175
+ qs.limit = limit;
176
+ }
177
+ if (filters.search)
178
+ qs.search = filters.search;
179
+ if (filters.sort)
180
+ qs.sort = filters.sort;
181
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
182
+ method: 'GET',
183
+ url: `${baseUrl}/contacts`,
184
+ qs,
185
+ });
186
+ }
187
+ }
188
+ if (resource === 'action') {
189
+ if (operation === 'listActions') {
190
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
191
+ method: 'GET',
192
+ url: `${baseUrl}/actions/`,
193
+ });
194
+ }
195
+ if (operation === 'executeSingle') {
196
+ const configurationId = this.getNodeParameter('configurationId', i);
197
+ const toNumber = this.getNodeParameter('to_number', i);
198
+ const body = {
199
+ to_number: toNumber,
200
+ };
201
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
202
+ method: 'POST',
203
+ url: `${baseUrl}/actions/${configurationId}/execute`,
204
+ body,
205
+ });
206
+ }
207
+ if (operation === 'executeBatchNumbers') {
208
+ const configurationId = this.getNodeParameter('configurationId', i);
209
+ const toNumbersString = this.getNodeParameter('to_numbers', i);
210
+ const toNumbers = toNumbersString.split('\n').map(num => num.trim()).filter(num => num);
211
+ const body = {
212
+ to_numbers: toNumbers,
213
+ };
214
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
215
+ method: 'POST',
216
+ url: `${baseUrl}/actions/${configurationId}/batch/numbers`,
217
+ body,
218
+ });
219
+ }
220
+ if (operation === 'executeBatchContacts') {
221
+ const configurationId = this.getNodeParameter('configurationId', i);
222
+ const contactIdsString = this.getNodeParameter('contact_ids', i);
223
+ const contactIds = contactIdsString.split('\n').map(id => id.trim()).filter(id => id);
224
+ const body = {
225
+ contact_ids: contactIds,
226
+ };
227
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
228
+ method: 'POST',
229
+ url: `${baseUrl}/actions/${configurationId}/batch/contacts`,
230
+ body,
231
+ });
232
+ }
233
+ if (operation === 'getActionHistory') {
234
+ const returnAll = this.getNodeParameter('returnAll', i);
235
+ const filters = this.getNodeParameter('filters', i);
236
+ let qs = {};
237
+ if (!returnAll) {
238
+ const limit = this.getNodeParameter('limit', i);
239
+ qs.limit = limit;
240
+ }
241
+ if (filters.configuration_id)
242
+ qs.configuration_id = filters.configuration_id;
243
+ if (filters.batch_id)
244
+ qs.batch_id = filters.batch_id;
245
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
246
+ method: 'GET',
247
+ url: `${baseUrl}/actions/history`,
248
+ qs,
249
+ });
250
+ }
251
+ if (operation === 'getActionHistoryDetails') {
252
+ const actionHistoryId = this.getNodeParameter('actionHistoryId', i);
253
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
254
+ method: 'GET',
255
+ url: `${baseUrl}/actions/history/${actionHistoryId}`,
256
+ });
257
+ }
258
+ if (operation === 'getBatchHistory') {
259
+ const returnAll = this.getNodeParameter('returnAll', i);
260
+ let qs = {};
261
+ if (!returnAll) {
262
+ const limit = this.getNodeParameter('limit', i);
263
+ qs.limit = limit;
264
+ }
265
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
266
+ method: 'GET',
267
+ url: `${baseUrl}/actions/batch-history`,
268
+ qs,
269
+ });
270
+ }
271
+ if (operation === 'getBatchHistoryDetails') {
272
+ const batchExecuteId = this.getNodeParameter('batchExecuteId', i);
273
+ responseData = await this.helpers.httpRequestWithAuthentication.call(this, 'yourangApi', {
274
+ method: 'GET',
275
+ url: `${baseUrl}/actions/batch-history/${batchExecuteId}`,
276
+ });
277
+ }
278
+ }
279
+ const executionData = this.helpers.constructExecutionMetaData([{ json: responseData }], { itemData: { item: i } });
280
+ returnData.push(...executionData);
281
+ }
282
+ catch (error) {
283
+ if (this.continueOnFail()) {
284
+ const executionErrorData = this.helpers.constructExecutionMetaData([{ json: { error: error.message } }], { itemData: { item: i } });
285
+ returnData.push(...executionErrorData);
286
+ continue;
287
+ }
288
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), error, {
289
+ itemIndex: i,
290
+ });
291
+ }
292
+ }
293
+ return [returnData];
294
+ }
295
+ }
296
+ exports.Yourang = Yourang;
297
+ //# sourceMappingURL=Yourang.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Yourang.node.js","sourceRoot":"","sources":["../../../nodes/Yourang/Yourang.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const yourangOperations: INodeProperties[];
3
+ export declare const yourangFields: INodeProperties[];