Skip to content
Wbiztool

Integrations

n8n integration

Send WhatsApp messages from your n8n workflows. For example, message a new lead from a webhook, confirm an order from your store, or send an alert when a check fails.

There are two ways to connect:

  • The Wbiztool community node (n8n-nodes-wbiztool): ready-made nodes with fields for each option.
  • The built-in HTTP Request node: works on any n8n instance and gives you access to every API endpoint. See Using the HTTP Request node.

Before you start#

Install the community node#

  1. Open community nodes

    In n8n, go to Settings → Community Nodes and click Install.

  2. Enter the package name

    Enter n8n-nodes-wbiztool, confirm and install. Restart n8n if the nodes don't appear.

On a self-hosted instance you can also install it with npm in your n8n custom nodes folder:

npm install n8n-nodes-wbiztool

Create the credential#

Add a new credential of type WbizTool API:

FieldValue
Client IDYour API Client ID.
API KeyYour API key.
WhatsApp Client IDThe default number to send from. Most nodes let you override it.
Base URLKeep the default https://wbiztool.com/api/v1 (no trailing slash).

When you save, n8n tests the credential against Check credentials.

Nodes#

The package adds these nodes. Each one calls a Wbiztool API endpoint and outputs the API response.

NodeWhat it doesAPI
WbizTool Send MessageSend a text, image or file to a phone number or a group.Send message, Send to group
WbizTool Send Group MessageSend a message to a WhatsApp group by name.Send to group
WbizTool Send Multi MessageSend the same message to a comma-separated list of numbers.Send to multiple numbers
WbizTool Schedule MessageSchedule a message for a date and time. See the warning below.Schedule message
WbizTool Cancel MessageCancel a scheduled message by its message ID.Cancel message
WbizTool Message StatusGet the status of a message by its message ID. Only a Sent message returns an item. A queued, failed, cancelled or expired message stops the node with an error such as Created or Failed; turn on Continue On Fail to branch on it.Message status
WbizTool Check CredentialsCheck that your Client ID and API key work.Check credentials
WbizTool List WhatsApp ClientsList the WhatsApp numbers in your workspace.List connected numbers
WbizTool Create WhatsApp ClientAdd a WhatsApp number to your workspace, with an optional webhook URL.Connect a WhatsApp number
WbizTool WhatsApp Client StatusCheck whether a WhatsApp number is connected.Connection status

WbizTool Send Message#

FieldNotes
Target TypePhone Number or Group.
Phone NumberShown for Phone Number. Map it from earlier nodes, for example {{ $json.phone }}.
Country CodeDefaults to 91. Change it to your recipients' country code. It's added in front of the phone number unless the number already starts with it.
Group NameShown for Group. The exact name of a group your WhatsApp number is in.
Message TypeText, Image with Text or File with Text.
Message TextThe message, up to 3,000 characters.
Image URL / File URL / File NameShown for image and file messages. URLs must be public.
WhatsApp Client ID (Optional)Leave empty to use the number from the credential.
Additional OptionsExpire After (Seconds) and Webhook URL.

The node outputs messageId (the msg_id from the API). Save it if you want to check the status or cancel the message later.

Example workflow#

  1. Webhook node receives a new lead with phone and name.
  2. WbizTool Send Message: set Phone Number to {{ $json.phone }} and Message Text to Hi {{ $json.name }}, thanks for signing up!.
  3. IF node: check that {{ $json.messageId }} is not empty to continue with the next step, such as updating your CRM.

A successful WbizTool Send Message outputs an item like this:

{
  "success": true,
  "messageId": 9817263,
  "status": 1,
  "message": "Created",
  "response": { "status": 1, "message": "Created", "msg_id": 9817263 }
}

The item also includes an input object with the values the node sent. If the API returns an error, the node stops and shows the API's message. Turn on Continue On Fail to get an item with success: false and the error text instead.

For WbizTool WhatsApp Client Status, use the General Status check method. The Status by ID method returns an error for every number because of a bug in that API endpoint. With General Status, a number that isn't connected also stops the node with a Disconnected error, so turn on the node's Continue On Fail setting if you want to branch on the result.

Using the HTTP Request node#

Add an HTTP Request node and configure it like this:

SettingValue
MethodPOST
URLhttps://wbiztool.com/api/v1/send_msg/
AuthenticationNone
Send BodyOn
Body Content TypeJSON
Specify BodyUsing JSON

Then paste a body like this and map the values from earlier nodes with expressions:

{
  "client_id": 12345,
  "api_key": "YOUR_API_KEY",
  "whatsapp_client": 678,
  "msg_type": 0,
  "country_code": "91",
  "phone": "{{ $json.phone }}",
  "msg": "Hi {{ $json.name }}, thanks for signing up!"
}

A successful call returns {"status": 1, "message": "Created", "msg_id": 9817263}. All fields and error messages are on Send message.

To call other endpoints, change the URL and body. For example, to schedule a message use https://wbiztool.com/api/v1/schedule_msg/ and add date as DD/MM/YYYY, time as HH:MM and timezone. See Schedule message.

To send the same message to several numbers or groups in one call, use https://wbiztool.com/api/v1/send_msg/multi/ and put the recipients in phone as one comma-separated string. See Send to multiple numbers.

{
  "client_id": 12345,
  "api_key": "YOUR_API_KEY",
  "whatsapp_client": 678,
  "msg_type": 1,
  "country_code": "91",
  "phone": "{{ $json.phones }}",
  "img_url": "https://example.com/offers/diwali-sale.jpg",
  "msg": "Our Diwali sale starts tomorrow!"
}

Put digits only in each number. Anything that isn't a whole number, such as 98765 43210, is sent as a group name.

n8n expressions work inside any text field. For example, a greeting that depends on the time of day, or text that depends on the order total:

{
  "msg": "Good {{ $now.hour < 12 ? 'morning' : 'evening' }} {{ $json.name }}, your order total is {{ $json.total }}.{{ $json.total > 1000 ? ' Delivery is free.' : '' }}"
}

$now uses the workflow's timezone (Workflow settings → Timezone), so set it to decide when "morning" ends.

Get notified when a message is sent#

  1. Create a webhook workflow

    Add a Webhook node with HTTP method POST and copy its production URL.

  2. Pass the URL when you send

    Put that URL in the node's Webhook URL option, or in the webhook field of your HTTP request body.

  3. Read the result

    Wbiztool calls the URL once the message is sent or fails. The body is form-encoded and contains only msg_id and status, which is SENT or FAILED.

See Webhook for retries and timeouts.

Troubleshooting#

ProblemWhat to check
Credential test failsCheck the Client ID and API key on Settings → API keys, that Base URL has no trailing slash, and that the credential's WhatsApp Client ID is a number in this workspace.
Auth Error: invalid api keyThe key was deleted or belongs to a different workspace.
Invalid whatsapp clientThe WhatsApp Client ID isn't a number in this workspace.
Invalid phone numberThe phone value contains letters or symbols other than spaces, dots, dashes, brackets and +, or has fewer than 6 or more than 17 digits. Map a digits-only number such as 919876543210.
Either phone or group_name parameter is requiredThe mapped phone value is empty for this item.
Invalid Contact Number "…"The number is longer than 15 digits once the country code is added. Check that the country code isn't added to a number that already has one.
Not enough creditsYour plan has no messages left.
Node succeeds but the message isn't sentThe message waits in the queue until your WhatsApp number is connected. Check it on Message status with the HTTP Request node, or in your message history. The WbizTool Message Status node reports a queued message as an error named Created.