n8n-nodes-revox 1.0.0 โ†’ 1.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 ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 daigestapp
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,88 +1,150 @@
1
1
  # n8n-nodes-revox
2
2
 
3
- Community nodes for [Revox](https://getrevox.com) that let you place and monitor AI voice calls directly from [n8n](https://n8n.io/).
3
+ Community nodes for [Revox](https://getrevox.com) โ€” place and manage AI voice calls and assistants from [n8n](https://n8n.io/).
4
4
 
5
- Revox is an AI-powered voice calling platform that delivers natural outbound calls, automated follow-ups, and rich call summaries.
5
+ ๐Ÿ“š **[Full documentation โ†’](https://docs.getrevox.com/n8n/quickstart)** ยท **[API Reference](https://docs.getrevox.com/api-reference)**
6
+
7
+ Revox is an AI-powered voice calling platform: outbound calls, automated follow-ups, and call summaries. This package aligns with the [Revox API](https://docs.getrevox.com/api-reference) and exposes **Calls**, **Assistants**, and a **webhook trigger** for call completion.
8
+
9
+ ---
6
10
 
7
11
  ## Installation
8
12
 
9
- ### Community Nodes (recommended)
13
+ 1. In n8n, go to **Settings โ†’ Community Nodes**.
14
+ 2. Click **Install** and enter: `n8n-nodes-revox`.
15
+ 3. Restart n8n if prompted.
16
+
17
+ Requires n8n **0.188.0** or higher.
10
18
 
11
- 1. Open **Settings โ†’ Community Nodes** in your n8n instance.
12
- 2. Choose **Install** and enter `n8n-nodes-revox`.
13
- 3. Confirm the installation and restart (if prompted).
19
+ ---
14
20
 
15
21
  ## Credentials
16
22
 
17
23
  Create **Revox API** credentials in n8n:
18
24
 
19
- 1. Visit the Revox dashboard and generate an API key.
20
- 2. In n8n, open **Credentials โ†’ New** and search for โ€œRevox APIโ€.
21
- 3. Paste your API key.
22
- 4. Set the base URL if you use a non-default environment (default: `https://getrevox.com/`).
25
+ 1. Get an API key from the [Revox Dashboard](https://getrevox.com/dashboard) (**API Keys**).
26
+ 2. In n8n: **Credentials โ†’ Add Credential** โ†’ search for **Revox API**.
27
+ 3. Enter your **API Key**.
28
+ 4. **Base URL** is optional (default: `https://www.getrevox.com/`).
29
+
30
+ All requests use Bearer token authentication.
31
+
32
+ ---
23
33
 
24
34
  ## Nodes & Operations
25
35
 
26
- ### Revox (actions)
36
+ ### Revox (action node)
37
+
38
+ The Revox node has two **resources**. Choose one, then pick an operation.
39
+
40
+ #### Resource: **Call**
41
+
42
+ | Operation | Description |
43
+ |-----------|-------------|
44
+ | **Place Call** | Start a new AI voice call. Use an existing **Assistant ID** or configure inline (prompt, voice, webhook). |
45
+ | **Get Call** | Fetch status and details for a call by **Call ID**. |
46
+ | **Get Call History** | List calls with pagination (`page` 0-based, `page_size`). |
47
+
48
+ **Place Call parameters**
49
+
50
+ - **Phone Number** (required) โ€“ E.164 format, e.g. `+15555555555`.
51
+ - **Assistant ID** (optional) โ€“ If set, Revox uses this assistant; prompt/voice/webhook below are ignored.
52
+ - **Prompt** โ€“ System prompt for the AI (used when no Assistant ID).
53
+ - **Voice** โ€“ Choose from list or expression (when no Assistant ID).
54
+ - **Webhook URL** โ€“ Callback URL for completion events; often `{{ $node["Revox Trigger"].webhookUrl }}`.
55
+ - **Force Now** โ€“ Bypass time-zone checks and place the call immediately.
56
+
57
+ **Get Call** โ€“ **Call ID** (required).
58
+
59
+ **Get Call History** โ€“ **Page** (0-based), **Page Size** (sent as `page_size` to the API).
27
60
 
28
- Perform outbound call operations:
61
+ #### Resource: **Assistant**
29
62
 
30
- - **Place Call** โ€“ create a new AI-powered call and optionally provide a webhook URL for completion events.
31
- - **Get Call** โ€“ fetch the latest status and transcript for a specific call.
32
- - **Get Call History** โ€“ page through recent calls for analytics or reporting.
63
+ | Operation | Description |
64
+ |-----------|-------------|
65
+ | **Create** | Create an assistant with name, prompt, optional first sentence, webhook URL, and voice. |
66
+ | **List** | Return all assistants. |
67
+ | **Get** | Get one assistant by **Assistant ID**. |
68
+ | **Update** | Update an assistantโ€™s name and/or prompt by **Assistant ID**. |
69
+ | **Delete** | Delete an assistant by **Assistant ID**. |
33
70
 
34
- Key parameters:
71
+ **Create Assistant** โ€“ **Name** (required), **Prompt** (required), **First Sentence**, **Webhook URL**, **Voice** (optional).
35
72
 
36
- - `phoneNumber` (required) โ€“ E.164 formatted phone number, e.g. `+15555555555`.
37
- - `prompt` โ€“ custom system prompt for the AI agent.
38
- - `forceNow` โ€“ skip scheduling checks and dial immediately.
39
- - `webhookUrl` โ€“ where Revox should POST call completion data (normally the output of the trigger node below).
73
+ **Get / Update / Delete** โ€“ **Assistant ID** (required). Update also accepts **Name** and **Prompt**.
74
+
75
+ ---
40
76
 
41
77
  ### Revox Trigger (webhook)
42
78
 
43
- Receives call completion payloads from Revox and kicks off downstream automation. The trigger emits:
79
+ Receives **call completion** webhooks from Revox and starts the workflow.
80
+
81
+ **Filter by Result** โ€“ Only run when the call result matches:
82
+
83
+ - **All** โ€“ Every completion.
84
+ - **Human** โ€“ Person answered.
85
+ - **Voicemail** โ€“ Voicemail detected.
86
+ - **IVR** โ€“ Automated system.
87
+
88
+ **Webhook URL** โ€“ After the workflow is active (or listening for test events), the trigger exposes a URL. Use it in the Revox node (Place Call โ†’ Webhook URL) or in the Revox dashboard. In n8n you can reference it with:
89
+
90
+ ```text
91
+ {{ $node["Revox Trigger"].webhookUrl }}
92
+ ```
93
+
94
+ **Output** โ€“ The trigger emits the webhook payload. Example:
44
95
 
45
96
  ```json
46
97
  {
47
- "call_order_id": "uuid",
48
- "call_id": "uuid",
49
- "status": "completed",
50
- "result": "human",
51
- "annotation": "Brief summary",
52
- "transcript": "Full transcript",
53
- "recording_url": "https://...",
54
- "started_at": "2024-01-01T12:00:00Z",
55
- "ended_at": "2024-01-01T12:05:00Z",
56
- "calls_count": 1,
57
- "timestamp": "2024-01-01T12:05:01Z",
58
- "webhookUrl": "https://your-n8n-host/webhook/..."
98
+ "call_order_id": "uuid",
99
+ "call_id": "uuid",
100
+ "status": "completed",
101
+ "result": "human",
102
+ "annotation": "Brief summary",
103
+ "transcript": "Full transcript",
104
+ "recording_url": "https://...",
105
+ "started_at": "2024-01-01T12:00:00Z",
106
+ "ended_at": "2024-01-01T12:05:00Z",
107
+ "calls_count": 1,
108
+ "timestamp": "2024-01-01T12:05:01Z",
109
+ "webhookUrl": "https://your-n8n-host/webhook/..."
59
110
  }
60
111
  ```
61
112
 
62
- Use the `Filter by Result` parameter to fire only on human pickup, voicemail detection, etc. When the workflow is active or listening for test events, the trigger automatically registers a webhook endpoint and exposes its URL through the item data (`{{ $('Revox Trigger').json.webhookUrl }}`).
113
+ ---
114
+
115
+ ## Example Workflows
116
+
117
+ - **Place a call (inline config)**
118
+ `Manual Trigger โ†’ Revox (Resource: Call, Place Call)` โ€” set phone number, prompt, optional voice and webhook.
63
119
 
64
- ## Example workflows
120
+ - **Place a call with an assistant**
121
+ `Manual Trigger โ†’ Revox (Resource: Call, Place Call)` โ€” set **Assistant ID** (from a previous Create Assistant or dashboard).
65
122
 
66
- - **Simple outbound call**
67
- `Manual Trigger โ†’ Revox (Place Call)`
123
+ - **Notify when a call completes**
124
+ `Revox Trigger โ†’ Revox (Get Call) โ†’ Slack (Send Message)` โ€” use trigger webhook URL in Place Call; on completion, fetch call details and post to Slack.
68
125
 
69
- - **Call with notification**
70
- `Manual Trigger โ†’ Revox (Place Call) โ†’ Slack (Send Message)`
126
+ - **Route by result**
127
+ `Revox Trigger โ†’ Switch (by result) โ†’ [Human: CRM ยท Voicemail: Retry ยท IVR: Log]`.
71
128
 
72
- - **Post-call routing**
73
- `Revox Trigger โ†’ Switch (by result) โ†’ [CRM Update | Email | Slack]`
129
+ - **Manage assistants**
130
+ `Manual Trigger โ†’ Revox (Resource: Assistant, Create)` then use the returned assistant ID in Place Call.
74
131
 
75
- See the `examples/` directory for a full workflow that places a call and processes the webhook response.
132
+ More examples are in the `examples/` directory.
133
+
134
+ ---
76
135
 
77
136
  ## Resources
78
137
 
79
- - [n8n community nodes docs](https://docs.n8n.io/integrations/community-nodes/)
80
- - [Revox for n8n](https://getrevox.com/integrations/n8n)
81
- - [Revox developer docs](https://getrevox.com/docs/n8n)
138
+ - [Revox n8n Quickstart](https://docs.getrevox.com/n8n/quickstart)
139
+ - [Revox API Reference](https://docs.getrevox.com/api-reference)
140
+ - [n8n Community Nodes](https://docs.n8n.io/integrations/community-nodes/)
141
+
142
+ ---
82
143
 
83
144
  ## Support
84
145
 
85
- Visit [getrevox.com/support](https://getrevox.com/support) or email [support@getrevox.com](mailto:support@getrevox.com) for help with the integration.
146
+ - Docs: [docs.getrevox.com](https://docs.getrevox.com)
147
+ - Email: [support@getrevox.com](mailto:support@getrevox.com)
86
148
 
87
149
  ## License
88
150
 
@@ -1,9 +1,9 @@
1
- import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties, Icon } from 'n8n-workflow';
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
2
  export declare class RevoxApi implements ICredentialType {
3
3
  name: string;
4
4
  displayName: string;
5
5
  documentationUrl: string;
6
- icon: Icon;
6
+ icon: string;
7
7
  properties: INodeProperties[];
8
8
  authenticate: IAuthenticateGeneric;
9
9
  test: ICredentialTestRequest;
@@ -5,7 +5,7 @@ class RevoxApi {
5
5
  constructor() {
6
6
  this.name = 'revoxApi';
7
7
  this.displayName = 'Revox API';
8
- this.documentationUrl = 'https://getrevox.com/docs';
8
+ this.documentationUrl = 'https://docs.getrevox.com';
9
9
  this.icon = 'file:../icons/revox.svg';
10
10
  this.properties = [
11
11
  {
@@ -21,7 +21,7 @@ class RevoxApi {
21
21
  displayName: 'Base URL',
22
22
  name: 'baseUrl',
23
23
  type: 'string',
24
- default: 'https://getrevox.com/',
24
+ default: 'https://www.getrevox.com/',
25
25
  description: 'The base URL for the Revox API',
26
26
  },
27
27
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"RevoxApi.credentials.js","sourceRoot":"","sources":["../../credentials/RevoxApi.credentials.ts"],"names":[],"mappings":";;;AAQA,MAAa,QAAQ;IAArB;QACC,SAAI,GAAG,UAAU,CAAC;QAClB,gBAAW,GAAG,WAAW,CAAC;QAC1B,qBAAgB,GAAG,2BAA2B,CAAC;QAC/C,SAAI,GAAS,yBAAyB,CAAC;QACvC,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,uCAAuC;aACpD;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,uBAAuB;gBAChC,WAAW,EAAE,gCAAgC;aAC7C;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,iCAAiC;iBAChD;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,kBAAkB;gBACvB,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AAxCD,4BAwCC"}
1
+ {"version":3,"file":"RevoxApi.credentials.js","sourceRoot":"","sources":["../../credentials/RevoxApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,QAAQ;IAArB;QACC,SAAI,GAAG,UAAU,CAAC;QAClB,gBAAW,GAAG,WAAW,CAAC;QAC1B,qBAAgB,GAAG,2BAA2B,CAAC;QAC/C,SAAI,GAAG,yBAAyB,CAAC;QACjC,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,uCAAuC;aACpD;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,2BAA2B;gBACpC,WAAW,EAAE,gCAAgC;aAC7C;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,iCAAiC;iBAChD;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,kBAAkB;gBACvB,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AAxCD,4BAwCC"}
@@ -0,0 +1,13 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="aquamarine"
2
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-cpu">
3
+ <rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect>
4
+ <rect x="9" y="9" width="6" height="6"></rect>
5
+ <line x1="9" y1="1" x2="9" y2="4"></line>
6
+ <line x1="15" y1="1" x2="15" y2="4"></line>
7
+ <line x1="9" y1="20" x2="9" y2="23"></line>
8
+ <line x1="15" y1="20" x2="15" y2="23"></line>
9
+ <line x1="20" y1="9" x2="23" y2="9"></line>
10
+ <line x1="20" y1="14" x2="23" y2="14"></line>
11
+ <line x1="1" y1="9" x2="4" y2="9"></line>
12
+ <line x1="1" y1="14" x2="4" y2="14"></line>
13
+ </svg>
@@ -0,0 +1,13 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="darkblue"
2
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-cpu">
3
+ <rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect>
4
+ <rect x="9" y="9" width="6" height="6"></rect>
5
+ <line x1="9" y1="1" x2="9" y2="4"></line>
6
+ <line x1="15" y1="1" x2="15" y2="4"></line>
7
+ <line x1="9" y1="20" x2="9" y2="23"></line>
8
+ <line x1="15" y1="20" x2="15" y2="23"></line>
9
+ <line x1="20" y1="9" x2="23" y2="9"></line>
10
+ <line x1="20" y1="14" x2="23" y2="14"></line>
11
+ <line x1="1" y1="9" x2="4" y2="9"></line>
12
+ <line x1="1" y1="14" x2="4" y2="14"></line>
13
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M20.0165 0C8.94791 0 0 9.01388 0 20.1653C0 29.0792 5.73324 36.6246 13.6868 39.2952C14.6812 39.496 15.0454 38.8613 15.0454 38.3274C15.0454 37.8599 15.0126 36.2575 15.0126 34.5879C9.4445 35.79 8.28498 32.1841 8.28498 32.1841C7.39015 29.847 6.06429 29.2463 6.06429 29.2463C4.24185 28.011 6.19704 28.011 6.19704 28.011C8.21861 28.1446 9.27938 30.081 9.27938 30.081C11.0686 33.1522 13.9518 32.2844 15.1118 31.7502C15.2773 30.4481 15.8079 29.5467 16.3713 29.046C11.9303 28.5785 7.25781 26.8425 7.25781 19.0967C7.25781 16.8932 8.05267 15.0905 9.31216 13.6884C9.11344 13.1877 8.41732 11.1174 9.51128 8.34644C9.51128 8.34644 11.2014 7.81217 15.0122 10.4164C16.6438 9.97495 18.3263 9.7504 20.0165 9.74851C21.7067 9.74851 23.4295 9.98246 25.0205 10.4164C28.8317 7.81217 30.5218 8.34644 30.5218 8.34644C31.6158 11.1174 30.9192 13.1877 30.7205 13.6884C32.0132 15.0905 32.7753 16.8932 32.7753 19.0967C32.7753 26.8425 28.1028 28.5449 23.6287 29.046C24.358 29.6802 24.9873 30.882 24.9873 32.7851C24.9873 35.4893 24.9545 37.6596 24.9545 38.327C24.9545 38.8613 25.3192 39.496 26.3132 39.2956C34.2667 36.6242 39.9999 29.0792 39.9999 20.1653C40.0327 9.01388 31.052 0 20.0165 0Z" fill="white"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M20.0165 0C8.94791 0 0 9.01388 0 20.1653C0 29.0792 5.73324 36.6246 13.6868 39.2952C14.6812 39.496 15.0454 38.8613 15.0454 38.3274C15.0454 37.8599 15.0126 36.2575 15.0126 34.5879C9.4445 35.79 8.28498 32.1841 8.28498 32.1841C7.39015 29.847 6.06429 29.2463 6.06429 29.2463C4.24185 28.011 6.19704 28.011 6.19704 28.011C8.21861 28.1446 9.27938 30.081 9.27938 30.081C11.0686 33.1522 13.9518 32.2844 15.1118 31.7502C15.2773 30.4481 15.8079 29.5467 16.3713 29.046C11.9303 28.5785 7.25781 26.8425 7.25781 19.0967C7.25781 16.8932 8.05267 15.0905 9.31216 13.6884C9.11344 13.1877 8.41732 11.1174 9.51128 8.34644C9.51128 8.34644 11.2014 7.81217 15.0122 10.4164C16.6438 9.97495 18.3263 9.7504 20.0165 9.74851C21.7067 9.74851 23.4295 9.98246 25.0205 10.4164C28.8317 7.81217 30.5218 8.34644 30.5218 8.34644C31.6158 11.1174 30.9192 13.1877 30.7205 13.6884C32.0132 15.0905 32.7753 16.8932 32.7753 19.0967C32.7753 26.8425 28.1028 28.5449 23.6287 29.046C24.358 29.6802 24.9873 30.882 24.9873 32.7851C24.9873 35.4893 24.9545 37.6596 24.9545 38.327C24.9545 38.8613 25.3192 39.496 26.3132 39.2956C34.2667 36.6242 39.9999 29.0792 39.9999 20.1653C40.0327 9.01388 31.052 0 20.0165 0Z" fill="#24292F"/>
3
+ </svg>
@@ -0,0 +1,13 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="aquamarine"
2
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-cpu">
3
+ <rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect>
4
+ <rect x="9" y="9" width="6" height="6"></rect>
5
+ <line x1="9" y1="1" x2="9" y2="4"></line>
6
+ <line x1="15" y1="1" x2="15" y2="4"></line>
7
+ <line x1="9" y1="20" x2="9" y2="23"></line>
8
+ <line x1="15" y1="20" x2="15" y2="23"></line>
9
+ <line x1="20" y1="9" x2="23" y2="9"></line>
10
+ <line x1="20" y1="14" x2="23" y2="14"></line>
11
+ <line x1="1" y1="9" x2="4" y2="9"></line>
12
+ <line x1="1" y1="14" x2="4" y2="14"></line>
13
+ </svg>
@@ -0,0 +1,13 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="darkblue"
2
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-cpu">
3
+ <rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect>
4
+ <rect x="9" y="9" width="6" height="6"></rect>
5
+ <line x1="9" y1="1" x2="9" y2="4"></line>
6
+ <line x1="15" y1="1" x2="15" y2="4"></line>
7
+ <line x1="9" y1="20" x2="9" y2="23"></line>
8
+ <line x1="15" y1="20" x2="15" y2="23"></line>
9
+ <line x1="20" y1="9" x2="23" y2="9"></line>
10
+ <line x1="20" y1="14" x2="23" y2="14"></line>
11
+ <line x1="1" y1="9" x2="4" y2="9"></line>
12
+ <line x1="1" y1="14" x2="4" y2="14"></line>
13
+ </svg>
@@ -1,5 +1,13 @@
1
- import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
1
+ import { IExecuteFunctions, ILoadOptionsFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
2
  export declare class Revox implements INodeType {
3
+ methods: {
4
+ loadOptions: {
5
+ getVoices(this: ILoadOptionsFunctions): Promise<{
6
+ name: string;
7
+ value: string;
8
+ }[]>;
9
+ };
10
+ };
3
11
  description: INodeTypeDescription;
4
12
  execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
13
  }