@vobiz-ai/n8n-nodes-vobiz 0.1.1 → 0.3.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.
Files changed (54) hide show
  1. package/README.md +118 -32
  2. package/dist/nodes/Vobiz/Vobiz.node.d.ts +2 -0
  3. package/dist/nodes/Vobiz/Vobiz.node.js +25 -1
  4. package/dist/nodes/Vobiz/Vobiz.node.js.map +1 -1
  5. package/dist/nodes/Vobiz/Vobiz.node.json +4 -1
  6. package/dist/nodes/Vobiz/descriptions/CallDescription.js +13 -4
  7. package/dist/nodes/Vobiz/descriptions/CallDescription.js.map +1 -1
  8. package/dist/nodes/Vobiz/descriptions/CallRecordDescription.js +1 -1
  9. package/dist/nodes/Vobiz/descriptions/CallRecordDescription.js.map +1 -1
  10. package/dist/nodes/Vobiz/descriptions/RecordingDescription.js +1 -1
  11. package/dist/nodes/Vobiz/descriptions/RecordingDescription.js.map +1 -1
  12. package/dist/nodes/Vobiz/descriptions/SubAccountDescription.d.ts +3 -0
  13. package/dist/nodes/Vobiz/descriptions/SubAccountDescription.js +461 -0
  14. package/dist/nodes/Vobiz/descriptions/SubAccountDescription.js.map +1 -0
  15. package/dist/nodes/Vobiz/operations.js +29 -3
  16. package/dist/nodes/Vobiz/operations.js.map +1 -1
  17. package/dist/nodes/Vobiz/subAccounts.d.ts +10 -0
  18. package/dist/nodes/Vobiz/subAccounts.js +329 -0
  19. package/dist/nodes/Vobiz/subAccounts.js.map +1 -0
  20. package/dist/nodes/VobizTrigger/VobizTrigger.node.d.ts +21 -2
  21. package/dist/nodes/VobizTrigger/VobizTrigger.node.js +84 -188
  22. package/dist/nodes/VobizTrigger/VobizTrigger.node.js.map +1 -1
  23. package/dist/nodes/VobizTrigger/VobizTrigger.node.json +18 -5
  24. package/dist/nodes/VobizTrigger/calls.d.ts +9 -0
  25. package/dist/nodes/VobizTrigger/calls.js +1009 -0
  26. package/dist/nodes/VobizTrigger/calls.js.map +1 -0
  27. package/dist/nodes/VobizTrigger/kyc.d.ts +8 -0
  28. package/dist/nodes/VobizTrigger/kyc.js +161 -0
  29. package/dist/nodes/VobizTrigger/kyc.js.map +1 -0
  30. package/dist/nodes/VobizTrigger/whatsapp.d.ts +17 -0
  31. package/dist/nodes/VobizTrigger/whatsapp.js +314 -0
  32. package/dist/nodes/VobizTrigger/whatsapp.js.map +1 -0
  33. package/dist/nodes/shared/callScript.d.ts +38 -0
  34. package/dist/nodes/shared/callScript.js +93 -11
  35. package/dist/nodes/shared/callScript.js.map +1 -1
  36. package/dist/nodes/shared/signature.d.ts +6 -0
  37. package/dist/nodes/shared/signature.js +60 -0
  38. package/dist/nodes/shared/signature.js.map +1 -0
  39. package/dist/nodes/shared/subAccounts.d.ts +12 -0
  40. package/dist/nodes/shared/subAccounts.js +64 -0
  41. package/dist/nodes/shared/subAccounts.js.map +1 -0
  42. package/dist/nodes/shared/transport.d.ts +7 -6
  43. package/dist/nodes/shared/transport.js +23 -3
  44. package/dist/nodes/shared/transport.js.map +1 -1
  45. package/dist/package.json +9 -7
  46. package/package.json +9 -7
  47. package/dist/nodes/VobizCallAnsweredTrigger/VobizCallAnsweredTrigger.node.d.ts +0 -17
  48. package/dist/nodes/VobizCallAnsweredTrigger/VobizCallAnsweredTrigger.node.js +0 -449
  49. package/dist/nodes/VobizCallAnsweredTrigger/VobizCallAnsweredTrigger.node.js.map +0 -1
  50. package/dist/nodes/VobizCallAnsweredTrigger/VobizCallAnsweredTrigger.node.json +0 -27
  51. package/dist/nodes/VobizWhatsAppTrigger/VobizWhatsAppTrigger.node.d.ts +0 -27
  52. package/dist/nodes/VobizWhatsAppTrigger/VobizWhatsAppTrigger.node.js +0 -360
  53. package/dist/nodes/VobizWhatsAppTrigger/VobizWhatsAppTrigger.node.js.map +0 -1
  54. package/dist/nodes/VobizWhatsAppTrigger/VobizWhatsAppTrigger.node.json +0 -25
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.md)
4
4
  [![n8n community node](https://img.shields.io/badge/n8n-community%20node-ff6d5a.svg)](https://docs.n8n.io/integrations/community-nodes/)
5
5
 
6
- Bring [Vobiz](https://www.vobiz.ai) voice and WhatsApp into your [n8n](https://n8n.io) workflows. Place calls that speak a message, answer incoming calls, act the moment a call is answered or ends, pull call records and recordings, and send and receive WhatsApp messages, all without writing code or running a server of your own.
6
+ Bring [Vobiz](https://www.vobiz.ai) voice and WhatsApp into your [n8n](https://n8n.io) workflows. Place calls that speak a message, answer incoming calls, act the moment a call is answered or ends, pull call records and recordings, send and receive WhatsApp messages, and set up sub-accounts for your customers or teams, KYC included, all without writing code or running a server of your own.
7
7
 
8
8
  **Package:** `@vobiz-ai/n8n-nodes-vobiz`
9
9
 
@@ -14,10 +14,12 @@ Bring [Vobiz](https://www.vobiz.ai) voice and WhatsApp into your [n8n](https://n
14
14
  - [Credentials](#credentials)
15
15
  - [Nodes](#nodes)
16
16
  - [Quick start: a call that speaks](#quick-start-a-call-that-speaks)
17
+ - [Every call on the account](#every-call-on-the-account)
17
18
  - [Example workflows](#example-workflows)
18
19
  - [Good to know](#good-to-know)
19
20
  - [Security](#security)
20
21
  - [Troubleshooting](#troubleshooting)
22
+ - [Upgrading from 0.2](#upgrading-from-02)
21
23
  - [Compatibility](#compatibility)
22
24
  - [Development](#development)
23
25
  - [Support](#support)
@@ -27,10 +29,10 @@ Bring [Vobiz](https://www.vobiz.ai) voice and WhatsApp into your [n8n](https://n
27
29
 
28
30
  | Node | Type | Use it to |
29
31
  |---|---|---|
30
- | **Vobiz** | Action | Make calls; get call records and summaries; get and download recordings; send WhatsApp messages |
31
- | **Vobiz Trigger** | Trigger (checks every minute) | Start a workflow when any call on your account ends, or when a recording is ready |
32
- | **Vobiz Call Answered Trigger** | Trigger (instant) | Tell Vobiz what to say when a call is answered, answer incoming calls on your numbers, and start a workflow the moment a call is answered or ends |
33
- | **Vobiz WhatsApp Trigger** | Trigger (instant) | Start a workflow when a customer messages you on WhatsApp, or when a message you sent is delivered, read or fails |
32
+ | **Vobiz** | Action | Make calls; get call records and summaries; get and download recordings; send WhatsApp messages; create and manage sub-accounts, give them numbers, and run their KYC |
33
+ | **Vobiz Trigger** | Trigger (instant) | Choose a **Source**. **Calls**: tell Vobiz what to say when a call is answered, answer incoming calls on your numbers, and start a workflow the moment a call is answered or ends. **WhatsApp**: a customer messages you, or a message you sent is delivered, read or fails. **Sub-Account KYC**: a customer sub-account passes or fails KYC, or its link expires. |
34
+
35
+ To act on **every call on your account**, or on new recordings, use n8n's Schedule Trigger with the Vobiz node: see [Every call on the account](#every-call-on-the-account).
34
36
 
35
37
  The **Vobiz** node can also be used as a tool by n8n's AI Agent.
36
38
 
@@ -73,25 +75,34 @@ You need a Vobiz account.
73
75
 
74
76
  | Resource | Operation | What it does |
75
77
  |---|---|---|
76
- | Call | Make | Calls a number from one of your Vobiz numbers. Optionally say a different message on each call, hang up if voicemail answers, and set the ring timeout, time limit, caller name and keypad digits to send. |
78
+ | Call | Make | Calls a number from one of your Vobiz numbers. Optionally say a different message on each call, connect the person who answers to another number (**Connect To**, for a call between two people), hang up if voicemail answers, and set the ring timeout, time limit, caller name and keypad digits to send. |
77
79
  | Call Record | Get | One finished call: numbers, times, duration, cost and how it ended. |
78
80
  | Call Record | Get Many | Call records, newest first, filtered by date, direction, number, minimum duration, hangup cause or campaign. |
79
81
  | Call Record | Get Summary | Totals for a period: calls, answered calls, answer rate, minutes and cost. |
80
82
  | Recording | Get / Get Many | Recording details, for one call or all calls, optionally filtered by recording type. |
81
83
  | Recording | Download | The audio file as binary data, ready for Google Drive, Slack or email. |
82
84
  | WhatsApp Message | Send | A text, image, audio, video, document or sticker, or an approved template with its variables. |
85
+ | Sub-Account | Create | A sub-account with its own Auth ID and Auth Token, for a customer, a team or a test environment. |
86
+ | Sub-Account | Get / Get Many / Update / Delete | Read, rename, change the permissions or rate limit of, switch off, or delete sub-accounts. A switched-off sub-account keeps its numbers. |
87
+ | Sub-Account | Assign Number / Unassign Number | Give one of your numbers to a sub-account, or take it back. |
88
+ | Sub-Account | Start KYC / Get KYC Status | Send a customer the Vobiz KYC page, by email or as a link, and check whether they have passed and can make calls. |
83
89
 
84
- ### Vobiz Trigger
90
+ #### Sub-accounts
91
+
92
+ A sub-account is a separate account under yours, with its own Auth ID (`SA_…`), Auth Token, numbers and call records. Its usage is billed to your main account. Manage sub-accounts with your **main account's** credential (`MA_…`).
93
+
94
+ - **KYC:** a *personal use* sub-account shares your KYC and can make calls at once, which suits your own teams and testing. A *customer use* sub-account is for a customer who must be verified in their own name: it needs an email address, and it cannot make calls until their KYC passes. **Start KYC** sends them the Vobiz KYC page; the **Vobiz Trigger** (Source: Sub-Account KYC) tells you the result.
95
+ - **The Auth Token is shown once.** **Create** returns it in its output; Vobiz never shows it again. Save it straight away, for example in a Vobiz credential for the sub-account. n8n also keeps it in that run's execution data.
96
+ - **Acting as a sub-account:** to make calls or read call records as the sub-account, add another Vobiz credential with the sub-account's Auth ID and Auth Token, and pick it in the node.
97
+ - **Taking a number back** works only if the number has had no calls for 15 days. Vobiz keeps a number that was used recently with the sub-account, so people who still dial it don't reach someone else. Unassign Number says until when.
98
+ - **Switching a sub-account to customer use** blocks its calls at once, until its own KYC passes.
99
+ - **Delete is permanent:** Vobiz revokes the sub-account's Auth ID and Auth Token at once.
85
100
 
86
- Starts a workflow when a **call ends** (incoming or outgoing) or when a **call recording is ready**.
101
+ ### Vobiz Trigger
87
102
 
88
- - It checks Vobiz on n8n's schedule (every minute by default), so it needs no setup in Vobiz and never changes where your numbers point.
89
- - It sees every call on your account.
90
- - The first check only notes what already exists, so past calls don't all start the workflow at once.
91
- - **Filters:** answered calls only, direction, a phone number, and a minimum duration.
92
- - For recordings, it can attach the audio file.
103
+ One trigger for everything Vobiz reports the moment it happens. Choose its **Source**: **Calls**, **WhatsApp** or **Sub-Account KYC**. Each source shows only its own settings.
93
104
 
94
- ### Vobiz Call Answered Trigger
105
+ #### Source: Calls
95
106
 
96
107
  Your n8n phone line. When a call is answered, Vobiz asks this trigger what to do. The trigger replies at once with a spoken message, then runs your workflow. The message can be:
97
108
 
@@ -99,23 +110,29 @@ Your n8n phone line. When a call is answered, Vobiz asks this trigger what to do
99
110
  - optionally followed by an audio file;
100
111
  - or replaced entirely by your own Vobiz XML.
101
112
 
113
+ After the message, **Then** decides what happens, with no XML to write:
114
+
115
+ | Then | What the caller gets |
116
+ |---|---|
117
+ | **Hang Up** | The message, and the call ends. |
118
+ | **Forward to a Number** | Connected to a number, such as an agent's phone. Several numbers ring together, and the first to answer gets the call. If nobody answers, the caller hears a message, or can leave a voicemail. |
119
+ | **Ask to Press a Key (Menu)** | The message as a menu, such as *"Press 1 for sales, 2 for our hours"*. Each key can forward the call, say a message, or take a voicemail. A wrong key gets the menu once more. |
120
+ | **Record a Voicemail** | A beep, then a recording of up to 2 minutes (the caller can press # to finish), then a thank-you. |
121
+
122
+ Menus, forwarding and voicemail need the workflow to be **published**: Vobiz sends the key, the forwarding result and the recording to the trigger's Production URL.
123
+
102
124
  Settings:
103
125
 
104
- - **Trigger On:** *Call Answered*, *Call Ended*, or both. *Call Ended* fires the moment the call finishes, with its duration, whether it was answered and how it ended.
126
+ - **Trigger On:** *Call Answered*, *Call Ended*, *Key Pressed*, *Forward Finished* and *Voicemail Recorded*, in any mix. *Call Ended* fires the moment the call finishes, with its duration, whether it was answered and how it ended. *Key Pressed* gives the key. *Forward Finished* says whether the number answered. *Voicemail Recorded* gives the recording's `recording_id` and length; pass the ID to *Vobiz → Recording → Download* to get the audio.
105
127
  - **Outgoing calls:** paste the trigger's **Production URL** into **Answer URL** on *Vobiz → Call → Make*.
106
128
  - **Incoming calls:** choose numbers in **Answer Incoming Calls On**. They are connected when you publish the workflow and released when you unpublish it.
129
+ - **Require Vobiz Signature** (on by default): Vobiz signs every call event with your Auth Token. The trigger checks that signature, so someone who learns its address cannot start your workflow with made-up calls. A signature that does not match is always refused. Turn this off only if your Vobiz account sends events without a signature.
107
130
 
108
131
  When the workflow is published, the trigger creates a Vobiz application for its address, named `n8n-call-answered-…`. It removes the application when the workflow is unpublished.
109
132
 
110
133
  > **Your existing setups are safe.** The trigger only takes numbers that aren't linked to anything else. It refuses a number already used by another application (such as a CRM integration) or routed to a SIP trunk, and changes nothing in your account when it does. The number list labels each number **not linked**, **on a SIP trunk** or **used by …** so you can see which ones are free.
111
134
 
112
- | | Vobiz Trigger | Vobiz Call Answered Trigger |
113
- |---|---|---|
114
- | Which calls | Every call on the account | Calls it answers: on its numbers, or made with it as the Answer URL |
115
- | When it fires | Within about a minute | The moment the call is answered or ends |
116
- | Changes in Vobiz | None | Its own application, and the numbers you choose |
117
-
118
- ### Vobiz WhatsApp Trigger
135
+ #### Source: WhatsApp
119
136
 
120
137
  Starts a workflow when a customer sends you a WhatsApp message (**Message Received**), or when a message you sent is sent, delivered, read or fails (**Message Status Changed**).
121
138
 
@@ -123,31 +140,71 @@ Starts a workflow when a customer sends you a WhatsApp message (**Message Receiv
123
140
  - Every event is checked against a signature made with a secret only this trigger knows. Forged events are refused.
124
141
  - You can limit it to one WhatsApp channel.
125
142
 
143
+ #### Source: Sub-Account KYC
144
+
145
+ Starts a workflow when a customer sub-account's KYC moves on: **KYC Started**, **Documents Submitted**, **KYC Completed**, **KYC Failed**, **Link Expired** or **Link Revoked**.
146
+
147
+ 1. Publish the workflow, open the trigger, and copy its **Production URL**.
148
+ 2. On *Vobiz → Sub-Account → Start KYC*, paste it into **Options → Webhook URL**. Vobiz then reports that customer's KYC to the trigger.
149
+
150
+ - Use your **main account's** credential: Vobiz signs each KYC event with that account's Auth Token, and the trigger checks the signature. Forged events are refused, and so are unsigned ones while **Require Vobiz Signature** is on.
151
+ - You can limit it to one sub-account.
152
+ - The output names the sub-account (`sub_account_id`) and the result (`status`), so the next node knows which customer it was. It also passes on any `metadata` Vobiz sends back. To check that the customer can now make calls, add *Vobiz → Sub-Account → Get KYC Status*.
153
+
126
154
  ## Quick start: a call that speaks
127
155
 
128
- When a call is answered, Vobiz asks a web address what to say. The Call Answered Trigger is that address.
156
+ When a call is answered, Vobiz asks a web address what to say. The Vobiz Trigger, with **Source: Calls**, is that address.
129
157
 
130
- 1. Create a workflow with a **Vobiz Call Answered Trigger**, set its **Message**, and **Publish** the workflow.
158
+ 1. Create a workflow with a **Vobiz Trigger**, keep **Source** on **Calls**, set its **Message**, and **Publish** the workflow.
131
159
  2. Open the trigger, select **Webhook URLs → Production URL**, and copy the address. It contains `/webhook/`, not `/webhook-test/`.
132
160
  3. In another workflow, add **Vobiz → Call → Make**. Pick a **From Number**, enter the number to call in **To**, and paste the address into **Answer URL**.
133
161
  4. To say something different on each call, fill in **Message** on Make a Call, for example `Hi {{ $json.name }}, your appointment is tomorrow at 10.` It replaces the trigger's message for that call.
134
162
  5. To act once the call is over, for example to log it or send a WhatsApp follow-up, tick **Call Ended** in the trigger's **Trigger On**.
135
163
 
164
+ ### A call between two people
165
+
166
+ n8n cannot talk on a call itself, so Vobiz rings two phones and connects them: first the one in **To**, then the one in **Connect To**.
167
+
168
+ 1. Set up the Vobiz Trigger (Source: Calls) once, as above, and paste its **Production URL** into **Answer URL** on Make a Call.
169
+ 2. In Make a Call, put your own phone (or your agent's) in **To**, and the person to talk to in **Connect To**. Both can come from your data, such as `{{ $json.phone }}` from a sheet or CRM row.
170
+ 3. Leave **Message** empty to connect straight away, or set one, such as *"Connecting you to Asha"*, to hear it first.
171
+
172
+ When the first phone answers, Vobiz rings the second, showing your Vobiz number, and connects them. If the second phone does not answer, the first hears the trigger's **No Answer Message** (or can leave a voicemail). Each connected phone is billed as its own call.
173
+
174
+ ## Every call on the account
175
+
176
+ The Vobiz Trigger fires for calls that go through it. To act on **every** call on your account, including calls on numbers used by other setups such as a CRM integration, let n8n check Vobiz on a schedule:
177
+
178
+ 1. **Schedule Trigger**, for example every 5 minutes.
179
+ 2. **Vobiz → Call Record → Get Many**, with a **Limit** above the number of calls you expect between checks.
180
+ 3. **Remove Duplicates** with **Operation** *Remove Items Processed in Previous Executions* and **Value to Dedupe On** `{{ $json.uuid }}`, so each call is passed on only once. The first run passes on every call it finds.
181
+
182
+ For new recordings, use **Vobiz → Recording → Get Many** instead, dedupe on `{{ $json.recording_id }}`, then **Recording → Download** to get the audio.
183
+
184
+ | | Schedule → Get Many | Vobiz Trigger (Calls) |
185
+ |---|---|---|
186
+ | Which calls | Every call on the account | Calls it answers: on its numbers, or made with it as the Answer URL |
187
+ | When it fires | At the next scheduled check | The moment the call is answered or ends |
188
+ | Changes in Vobiz | None | Its own application, and the numbers you choose |
189
+
136
190
  ## Example workflows
137
191
 
138
192
  - **Appointment reminders:** Google Sheets or a schedule → *Vobiz: Make a Call* with a personalised message.
139
- - **Log every call:** *Vobiz Trigger (Call Ended)* → Google Sheets or your CRM.
140
- - **Missed-call follow-up:** *Vobiz Call Answered Trigger (Call Ended)* → If not answered → *Vobiz: Send* a WhatsApp template.
141
- - **Recordings to cloud storage:** *Vobiz Trigger (Recording Ready, Download Recording on)* → Google Drive.
142
- - **WhatsApp auto-reply:** *Vobiz WhatsApp Trigger (Message Received)* → *Vobiz: Send* a WhatsApp text.
193
+ - **Log every call:** Schedule → *Vobiz: Call Record → Get Many* → Remove Duplicates → Google Sheets or your CRM.
194
+ - **Missed-call follow-up:** *Vobiz Trigger* (Calls; Trigger On: Call Ended) → If not answered → *Vobiz: Send* a WhatsApp template.
195
+ - **Phone menu with voicemail to email:** *Vobiz Trigger* (Calls; Then: Menu; 1 forwards to sales, 2 takes a voicemail; Trigger On: Voicemail Recorded) → *Vobiz: Recording → Download* → Gmail.
196
+ - **Agent missed the call:** *Vobiz Trigger* (Calls; Then: Forward; Trigger On: Forward Finished) → If not answered → Slack.
197
+ - **Recordings to cloud storage:** Schedule → *Vobiz: Recording → Get Many* → Remove Duplicates → *Recording → Download* → Google Drive.
198
+ - **WhatsApp auto-reply:** *Vobiz Trigger* (WhatsApp; Message Received) → *Vobiz: Send* a WhatsApp text.
143
199
  - **Daily call report:** Schedule → *Vobiz: Call Record → Get Summary* → Slack.
200
+ - **Customer onboarding:** a sign-up form → *Vobiz: Sub-Account → Create* (customer use) → *Start KYC* by email. Then *Vobiz Trigger* (Sub-Account KYC; KYC Completed) → *Assign Number* → a WhatsApp welcome.
144
201
 
145
202
  ## Good to know
146
203
 
147
- - **Instant triggers need a public address.** Vobiz sends events over the internet, so the Call Answered and WhatsApp triggers need n8n to be reachable over HTTPS. This works automatically on n8n Cloud. On self-hosted n8n, set `WEBHOOK_URL` to your public address.
204
+ - **Instant triggers need a public address.** Vobiz sends events over the internet, so the Vobiz Trigger needs n8n to be reachable over HTTPS. This works automatically on n8n Cloud. On self-hosted n8n, set `WEBHOOK_URL` to your public address.
148
205
  - **If your public address changes**, for example with a tunnel that gets a new address on every restart, unpublish and publish your trigger workflows again so Vobiz uses the new address.
149
206
  - **WhatsApp's 24-hour rule.** Free-form messages can only be sent within 24 hours of the customer's last message. For a first message, or outside that window, send an approved template. A free-form message sent outside the window is reported as `failed` in a *Message Status Changed* event.
150
- - **Recordings are private.** Their links need your Vobiz credential, so use **Recording → Download**, or **Download Recording** on the trigger, to get the file.
207
+ - **Recordings are private.** Their links need your Vobiz credential, so use **Recording → Download** to get the file.
151
208
  - **Call records** appear a few seconds after a call ends.
152
209
  - **Phone numbers** use international format with the country code, for example `+919876543210`. Spaces and dashes are removed for you.
153
210
  - **Hang Up on Voicemail** is off by default. Voicemail detection listens for up to 5 seconds and can mistake a person who stays silent for a machine.
@@ -157,7 +214,10 @@ When a call is answered, Vobiz asks a web address what to say. The Call Answered
157
214
 
158
215
  - Your Auth ID and Auth Token are kept in n8n's encrypted credential store and are sent only to Vobiz.
159
216
  - Recording downloads send your credential only to Vobiz hosts, never to any other domain.
217
+ - Call events to the Vobiz Trigger (Calls) are verified against Vobiz's `X-Vobiz-Signature-V3` (or V2) header, an HMAC-SHA256 of the trigger's address and a nonce, keyed with your Auth Token. Forged events are rejected with 403, and so are unsigned ones while **Require Vobiz Signature** is on.
160
218
  - WhatsApp events are verified with HMAC-SHA256, using a secret created for each subscription. Unsigned or forged events are rejected.
219
+ - KYC events to the Vobiz Trigger (Sub-Account KYC) are verified against Vobiz's `X-Vobiz-Signature` header, an HMAC-SHA256 of the raw body keyed with your main account's Auth Token. Forged events are rejected with 401, and so are unsigned ones while **Require Vobiz Signature** is on.
220
+ - A new sub-account's Auth Token is passed on only by **Create**, the one time Vobiz shows it. Every other sub-account operation leaves the token out of its output.
161
221
  - The package has no runtime dependencies beyond n8n itself.
162
222
 
163
223
  ## Troubleshooting
@@ -170,8 +230,32 @@ When a call is answered, Vobiz asks a web address what to say. The Call Answered
170
230
  | `… already answers calls for the Vobiz application …` | That number is used by another setup | Choose a number marked **not linked** |
171
231
  | `Your Vobiz balance is too low for this` | Your account balance | Top up in the Vobiz console |
172
232
  | `The template "…" is PENDING_REVIEW, not approved` | Meta hasn't approved the template yet | Wait for approval, or choose another template |
173
- | `No recent call matches these filters` | No matching call yet | Make and answer a call, wait a minute, and fetch again |
233
+ | The phone rings, then silence, and n8n's log says `a request was refused: it had no Vobiz signature` | Your Vobiz account sends call events without a signature | Turn off **Require Vobiz Signature** on the Vobiz Trigger |
234
+ | n8n's log says `a request was refused: its Vobiz signature did not match` | The trigger's credential is for a different Vobiz account than the call, or `WEBHOOK_URL` is not the address Vobiz calls | Use the credential of the account that owns the number, and set `WEBHOOK_URL` to n8n's public address |
174
235
  | Triggers stop receiving events after n8n restarts | n8n's public address changed | Unpublish and publish the workflow again |
236
+ | `This Vobiz Trigger is from version 0.2 or earlier, when it checked Vobiz on a schedule` | A workflow still has the old scheduled Vobiz Trigger | Replace it as described in [Upgrading from 0.2](#upgrading-from-02) |
237
+ | Publishing fails with `"…" in Forward To is not a phone number with its country code` | A number in **Forward To** is written without its country code, or is not a number | Write it like `+919876543210` |
238
+ | A menu or voicemail call goes silent after the message | The workflow is not published, so Vobiz's follow-up gets no answer | Publish the workflow, and use its **Production URL** |
239
+ | `Sub-accounts are managed with the main account's credential` | The node uses a sub-account's credential (`SA_…`) | Pick the main account's credential (`MA_…`) |
240
+ | `This sub-account does not belong to the account in this credential` | The sub-account was made by another main account | Use the credential of the main account that created it |
241
+ | `Vobiz keeps +91… with the sub-account until …` | The number had a call in the last 15 days | Try again after that date |
242
+ | n8n's log says `Vobiz Trigger (KYC): an event was refused: its Vobiz signature did not match` | The trigger's credential is not the main account that owns the sub-account | Pick that main account's credential in the trigger |
243
+
244
+ ## Upgrading from 0.2
245
+
246
+ Version 0.3 merges the four triggers into one **Vobiz Trigger**, as n8n asks of verified packages. Nothing was taken away.
247
+
248
+ | In 0.2 | In 0.3 |
249
+ |---|---|
250
+ | Vobiz Call Answered Trigger | Vobiz Trigger, Source **Calls** |
251
+ | Vobiz WhatsApp Trigger | Vobiz Trigger, Source **WhatsApp** |
252
+ | Vobiz KYC Trigger | Vobiz Trigger, Source **Sub-Account KYC** |
253
+ | Vobiz Trigger (checked every minute) | Schedule Trigger → Vobiz Get Many → Remove Duplicates: see [Every call on the account](#every-call-on-the-account) |
254
+
255
+ 1. **Before you update**, unpublish the workflows that use the old triggers. This releases their numbers, Vobiz applications and WhatsApp subscriptions.
256
+ 2. Update the package.
257
+ 3. In each workflow, replace the old trigger with the **Vobiz Trigger**, choose its **Source**, and enter the same settings.
258
+ 4. Publish again. The new trigger has a new **Production URL**: paste it into **Answer URL** on Make a Call, and into **Webhook URL** on Start KYC.
175
259
 
176
260
  ## Compatibility
177
261
 
@@ -179,6 +263,8 @@ Built with [`@n8n/node-cli`](https://www.npmjs.com/package/@n8n/node-cli) and te
179
263
 
180
264
  ## Development
181
265
 
266
+ Use a current Node.js 24 (see `.nvmrc`; 24.21 or newer). The npm bundled with older 24.x releases (11.9 and earlier) rejects the lockfile in `npm ci`.
267
+
182
268
  ```bash
183
269
  git clone https://github.com/vobiz-ai/Vobiz-n8n-nodes.git
184
270
  cd Vobiz-n8n-nodes
@@ -188,7 +274,7 @@ npm run lint # n8n's lint rules
188
274
  npm test # unit tests against a mock Vobiz API
189
275
  ```
190
276
 
191
- `npm run test:e2e` runs the built nodes inside a real n8n against the mock API, so nothing is called, texted or billed. To run a local n8n with the nodes loaded and test against a real Vobiz account, see [TESTING.md](TESTING.md).
277
+ `npm run test:e2e` runs the built nodes inside a real n8n against the mock API, so nothing is called, texted or billed. To run a local n8n with the nodes loaded and test against a real Vobiz account, run `npm run n8n` (Windows, macOS or Linux) and see [TESTING.md](TESTING.md).
192
278
 
193
279
  Issues and pull requests are welcome.
194
280
 
@@ -1,11 +1,13 @@
1
1
  import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
2
  import { searchNumbers } from './operations';
3
+ import { searchSubAccounts } from '../shared/subAccounts';
3
4
  import { searchWhatsAppChannels, searchWhatsAppTemplates } from '../shared/whatsapp';
4
5
  export declare class Vobiz implements INodeType {
5
6
  description: INodeTypeDescription;
6
7
  methods: {
7
8
  listSearch: {
8
9
  searchNumbers: typeof searchNumbers;
10
+ searchSubAccounts: typeof searchSubAccounts;
9
11
  searchWhatsAppChannels: typeof searchWhatsAppChannels;
10
12
  searchWhatsAppTemplates: typeof searchWhatsAppTemplates;
11
13
  };
@@ -5,9 +5,22 @@ const n8n_workflow_1 = require("n8n-workflow");
5
5
  const CallDescription_1 = require("./descriptions/CallDescription");
6
6
  const CallRecordDescription_1 = require("./descriptions/CallRecordDescription");
7
7
  const RecordingDescription_1 = require("./descriptions/RecordingDescription");
8
+ const SubAccountDescription_1 = require("./descriptions/SubAccountDescription");
8
9
  const WhatsAppMessageDescription_1 = require("./descriptions/WhatsAppMessageDescription");
9
10
  const operations_1 = require("./operations");
11
+ const subAccounts_1 = require("./subAccounts");
12
+ const subAccounts_2 = require("../shared/subAccounts");
10
13
  const whatsapp_1 = require("../shared/whatsapp");
14
+ const SUB_ACCOUNT_OPERATIONS = new Map([
15
+ ['assignNumber', subAccounts_1.assignNumber],
16
+ ['create', subAccounts_1.createSubAccount],
17
+ ['delete', subAccounts_1.deleteSubAccount],
18
+ ['get', subAccounts_1.getSubAccount],
19
+ ['getKycStatus', subAccounts_1.getKycStatus],
20
+ ['startKyc', subAccounts_1.startKyc],
21
+ ['unassignNumber', subAccounts_1.unassignNumber],
22
+ ['update', subAccounts_1.updateSubAccount],
23
+ ]);
11
24
  class Vobiz {
12
25
  constructor() {
13
26
  this.description = {
@@ -17,7 +30,7 @@ class Vobiz {
17
30
  group: ['output'],
18
31
  version: 1,
19
32
  subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
20
- description: 'Make calls, get call records and recordings, and send WhatsApp messages with Vobiz',
33
+ description: 'Make calls, get call records and recordings, send WhatsApp messages, and manage sub-accounts with Vobiz',
21
34
  defaults: {
22
35
  name: 'Vobiz',
23
36
  },
@@ -40,6 +53,7 @@ class Vobiz {
40
53
  { name: 'Call', value: 'call' },
41
54
  { name: 'Call Record', value: 'callRecord' },
42
55
  { name: 'Recording', value: 'recording' },
56
+ { name: 'Sub-Account', value: 'subAccount' },
43
57
  { name: 'WhatsApp Message', value: 'whatsAppMessage' },
44
58
  ],
45
59
  default: 'call',
@@ -50,6 +64,8 @@ class Vobiz {
50
64
  ...CallRecordDescription_1.callRecordFields,
51
65
  ...RecordingDescription_1.recordingOperations,
52
66
  ...RecordingDescription_1.recordingFields,
67
+ ...SubAccountDescription_1.subAccountOperations,
68
+ ...SubAccountDescription_1.subAccountFields,
53
69
  ...WhatsAppMessageDescription_1.whatsAppMessageOperations,
54
70
  ...WhatsAppMessageDescription_1.whatsAppMessageFields,
55
71
  ],
@@ -57,6 +73,7 @@ class Vobiz {
57
73
  this.methods = {
58
74
  listSearch: {
59
75
  searchNumbers: operations_1.searchNumbers,
76
+ searchSubAccounts: subAccounts_2.searchSubAccounts,
60
77
  searchWhatsAppChannels: whatsapp_1.searchWhatsAppChannels,
61
78
  searchWhatsAppTemplates: whatsapp_1.searchWhatsAppTemplates,
62
79
  },
@@ -96,6 +113,13 @@ class Vobiz {
96
113
  else if (resource === 'whatsAppMessage' && operation === 'send') {
97
114
  returnData.push(await operations_1.sendWhatsAppMessage.call(this, i, whatsApp));
98
115
  }
116
+ else if (resource === 'subAccount' && operation === 'getAll') {
117
+ returnData.push(...(await subAccounts_1.getManySubAccounts.call(this, i)));
118
+ }
119
+ else if (resource === 'subAccount' && SUB_ACCOUNT_OPERATIONS.has(operation)) {
120
+ const subAccountOperation = SUB_ACCOUNT_OPERATIONS.get(operation);
121
+ returnData.push(await subAccountOperation.call(this, i));
122
+ }
99
123
  else {
100
124
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), `The operation "${operation}" is not supported for "${resource}"`, { itemIndex: i });
101
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Vobiz.node.js","sourceRoot":"","sources":["../../../nodes/Vobiz/Vobiz.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vobiz.node.js","sourceRoot":"","sources":["../../../nodes/Vobiz/Vobiz.node.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,10 @@
13
13
  "cdr",
14
14
  "call record",
15
15
  "recording",
16
- "whatsapp"
16
+ "whatsapp",
17
+ "sub-account",
18
+ "subaccount",
19
+ "kyc"
17
20
  ],
18
21
  "resources": {
19
22
  "credentialDocumentation": [
@@ -70,7 +70,7 @@ exports.callFields = [
70
70
  default: '',
71
71
  required: true,
72
72
  placeholder: 'e.g. https://n8n.example.com/webhook/1a2b3c/call-answered',
73
- description: 'Where Vobiz asks what to do once the call is answered. Paste the Production URL of a Vobiz Call Answered Trigger (it contains /webhook/, not /webhook-test/), or any address that returns Vobiz XML.',
73
+ description: 'Where Vobiz asks what to do once the call is answered. Paste the Production URL of a Vobiz Trigger (Source: Calls) (it contains /webhook/, not /webhook-test/), or any address that returns Vobiz XML.',
74
74
  displayOptions: showForMake,
75
75
  },
76
76
  {
@@ -80,7 +80,16 @@ exports.callFields = [
80
80
  typeOptions: { rows: 3 },
81
81
  default: '',
82
82
  placeholder: 'e.g. Hi Asha, your appointment is tomorrow at 10 am.',
83
- description: 'What to say when the call is answered. Works when the Answer URL is a Vobiz Call Answered Trigger. Leave empty to use the message set on the trigger.',
83
+ description: 'What to say when the call is answered. Works when the Answer URL is a Vobiz Trigger (Source: Calls). Leave empty to use the message set on the trigger, or, with Connect To, to say nothing.',
84
+ displayOptions: showForMake,
85
+ },
86
+ {
87
+ displayName: 'Connect To',
88
+ name: 'connectTo',
89
+ type: 'string',
90
+ default: '',
91
+ placeholder: 'e.g. +919876543210',
92
+ description: 'For a call between two people: once the person in To answers, connect them to this number. They hear the Message first, if you set one. Needs a Vobiz Trigger (Source: Calls) as the Answer URL. Separate several numbers with commas: they all ring, and the first to answer is connected.',
84
93
  displayOptions: showForMake,
85
94
  },
86
95
  {
@@ -100,7 +109,7 @@ exports.callFields = [
100
109
  { name: 'POST', value: 'POST' },
101
110
  ],
102
111
  default: 'POST',
103
- description: 'How Vobiz calls the Answer URL. Keep POST for a Vobiz Call Answered Trigger.',
112
+ description: 'How Vobiz calls the Answer URL. Keep POST for a Vobiz Trigger (Source: Calls).',
104
113
  },
105
114
  {
106
115
  displayName: 'Caller Name',
@@ -121,7 +130,7 @@ exports.callFields = [
121
130
  name: 'hangupUrl',
122
131
  type: 'string',
123
132
  default: '',
124
- description: 'An address Vobiz notifies when the call ends. Leave it empty when the Answer URL is a Vobiz Call Answered Trigger: that trigger is told automatically.',
133
+ description: 'An address Vobiz notifies when the call ends. Leave it empty when the Answer URL is a Vobiz Trigger (Source: Calls): that trigger is told automatically.',
125
134
  },
126
135
  {
127
136
  displayName: 'Ring Timeout (Seconds)',
@@ -1 +1 @@
1
- {"version":3,"file":"CallDescription.js","sourceRoot":"","sources":["../../../../nodes/Vobiz/descriptions/CallDescription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CallDescription.js","sourceRoot":"","sources":["../../../../nodes/Vobiz/descriptions/CallDescription.ts"],"names":[],"mappings":";;;AAEA,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AAE7D,QAAA,cAAc,GAAsB;IAChD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;QAChD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,wDAAwD;gBACrE,MAAM,EAAE,aAAa;aACrB;SACD;QACD,OAAO,EAAE,MAAM;KACf;CACD,CAAC;AAEW,QAAA,UAAU,GAAsB;IAC5C;QACC,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,qEAAqE;QAClF,cAAc,EAAE,WAAW;QAC3B,KAAK,EAAE;YACN;gBACC,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE;aACpE;YACD;gBACC,WAAW,EAAE,QAAQ;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oBAAoB;gBACjC,UAAU,EAAE;oBACX;wBACC,IAAI,EAAE,OAAO;wBACb,UAAU,EAAE;4BACX,KAAK,EAAE,4BAA4B;4BACnC,YAAY,EAAE,gEAAgE;yBAC9E;qBACD;iBACD;aACD;SACD;KACD;IACD;QACC,WAAW,EAAE,IAAI;QACjB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE,iDAAiD;QAC9D,cAAc,EAAE,WAAW;KAC3B;IACD;QACC,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,2DAA2D;QACxE,WAAW,EACV,wMAAwM;QACzM,cAAc,EAAE,WAAW;KAC3B;IACD;QACC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;QACxB,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,sDAAsD;QACnE,WAAW,EACV,8LAA8L;QAC/L,cAAc,EAAE,WAAW;KAC3B;IACD;QACC,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,oBAAoB;QACjC,WAAW,EACV,6RAA6R;QAC9R,cAAc,EAAE,WAAW;KAC3B;IACD;QACC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,WAAW;QAC3B,OAAO,EAAE;YACR;gBACC,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACR,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;oBAC7B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;iBAC/B;gBACD,OAAO,EAAE,MAAM;gBACf,WAAW,EAAE,gFAAgF;aAC7F;YACD;gBACC,WAAW,EAAE,aAAa;gBAC1B,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,gGAAgG;aAC7G;YACD;gBACC,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EACV,iOAAiO;aAClO;YACD;gBACC,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EACV,0JAA0J;aAC3J;YACD;gBACC,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;gBAC3C,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,iDAAiD;aAC9D;YACD;gBACC,WAAW,EAAE,aAAa;gBAC1B,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,UAAU;gBACvB,WAAW,EACV,+IAA+I;aAChJ;YACD;gBACC,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC7B,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,6CAA6C;aAC1D;SACD;KACD;CACD,CAAC"}
@@ -106,7 +106,7 @@ exports.callRecordFields = [
106
106
  default: '',
107
107
  required: true,
108
108
  placeholder: 'e.g. 5a9fd4a0-3d4c-11ef-bef9-0242ac110005',
109
- description: 'The ID of the call. Make a Call returns it as call_uuid, and the Vobiz Trigger as uuid.',
109
+ description: 'The ID of the call. Make a Call and the Vobiz Trigger return it as call_uuid.',
110
110
  displayOptions: show(['get']),
111
111
  },
112
112
  {
@@ -1 +1 @@
1
- {"version":3,"file":"CallRecordDescription.js","sourceRoot":"","sources":["../../../../nodes/Vobiz/descriptions/CallRecordDescription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CallRecordDescription.js","sourceRoot":"","sources":["../../../../nodes/Vobiz/descriptions/CallRecordDescription.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ exports.recordingFields = [
40
40
  default: '',
41
41
  required: true,
42
42
  placeholder: 'e.g. c2186400-1f94-11ef-9a1b-0242ac110003',
43
- description: 'The ID of the recording, e.g. recording_id from Get Many or the Vobiz Trigger',
43
+ description: 'The ID of the recording, e.g. recording_id from Get Many, or from the Vobiz Trigger’s Voicemail Recorded event',
44
44
  displayOptions: show(['download', 'get']),
45
45
  },
46
46
  {
@@ -1 +1 @@
1
- {"version":3,"file":"RecordingDescription.js","sourceRoot":"","sources":["../../../../nodes/Vobiz/descriptions/RecordingDescription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecordingDescription.js","sourceRoot":"","sources":["../../../../nodes/Vobiz/descriptions/RecordingDescription.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const subAccountOperations: INodeProperties[];
3
+ export declare const subAccountFields: INodeProperties[];