WbizTool integration
WbizTool sends WhatsApp (and Telegram) messages from your own number linked to WbizTool like WhatsApp Web; it is not the official WhatsApp Business API. Send a message now or later to a phone, group or contact, send one message to up to 1,000 recipients, track and cancel messages, schedule repeating reminders, upload media, check which numbers are on WhatsApp, manage opt-outs and webhook endpoints, and connect a number. This is API v2 (public beta); replacing a webhook signing secret is not offered, and the signing secret is never returned. Authentication is a v2 API key (wbz_live_ or wbz_test_) in the Authorization: Bearer header, made by the workspace owner on Settings, API keys; each key has scopes. A test key checks every send but sends nothing. Limits: 60 requests a minute and 10,000 a day per key.
Say what should happen.
The workflow builds itself.
What you can do with WbizTool
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Message, 5 operations
cancel_messageCancel messageDELETECancels a message that is still queued or scheduled; it then has status cancelled. A message already sent cannot be cancelled. Needs the messages:send scope.get_messageGet messageGETReturns one message with its status (queued, scheduled, sent, failed, cancelled or expired), sender, recipient, text, media, timestamps and error. sent is the last status a sent message gets. Needs messages:read.list_messagesList messagesGETLists messages of the last 90 days, newest first, with status, sender, recipient and error. Filter by number, status, since and until (ISO 8601 with offset). Pass next_cursor as cursor for the next page. Needs the messages:read scope.send_messageSend messagePOSTSends one WhatsApp or Telegram message to a phone, group, contact or username, now or at send_at; text, media or both. Answers at once with status queued or scheduled; follow it with get_message. Needs the messages:send scope.send_message_batchSend message batchPOSTSends the same message to up to 1,000 recipients, all or nothing: every recipient is checked first, and the whole list must fit in the plan and the number's daily room. Returns one message per recipient in data. Needs messages:send.
Reminder, 5 operations
create_reminderCreate reminderPOSTCreates a repeating reminder that sends text (and media) to one recipient on a 5-part cron schedule in a time zone. It starts sending on schedule unless active is false. Needs a plan with reminders and the reminders scope.delete_reminderDelete reminderDELETEDeletes a reminder for good; it sends nothing more. To stop it only for a while, use update_reminder with active false. Needs the reminders scope.get_reminderGet reminderGETReturns one reminder: name, active flag, recipient, sending number, text, media, schedule and next_run_at (null while paused). Needs the reminders scope.list_remindersList remindersGETLists the workspace's reminders, newest first: name, active flag, recipient, sending number, text, media, cron schedule and next_run_at. Pass next_cursor as cursor for the next page. Needs the reminders scope.update_reminderUpdate reminderPATCHChanges a reminder: send only the fields that change, everything left out keeps its value. active false pauses it, true resumes it. Needs the reminders scope.
Webhook, 5 operations
create_webhookCreate webhookPOSTAdds a webhook endpoint (at most 5 per workspace, public https only) for message events. The signing secret is not returned here and WbizTool later shows only its last 4 characters, so deliveries cannot be signature-verified. Needs messages:read.delete_webhookDelete webhookDELETERemoves a webhook endpoint; it receives no more events. Needs the messages:read scope.get_webhookGet webhookGETReturns one webhook endpoint: url, description, events, secret_last4, created_at, last_delivery (state, status_code) and active flag with disabled_reason. Needs the messages:read scope.list_webhooksList webhooksGETLists the workspace's active webhook endpoints with url, events, secret_last4, last_delivery and active flag. Each receives JSON POSTs for message.sent, message.failed, message.cancelled, message.expired. Needs messages:read.test_webhookTest webhookPOSTQueues a signed ping event ({"type": "ping", "data": {"webhook_id": <id>}}) to the endpoint to test your receiver. Returns event_id, type and queued. Needs the messages:read scope.
Media, 4 operations
delete_mediaDelete mediaDELETEDeletes a file from the Media directory; its link stops working. Refused while a waiting message, a reminder or a campaign still uses it. Needs the media scope.get_mediaGet mediaGETReturns one file of the Media directory: name, type (image or file), MIME type, size in bytes, url and created_at. Needs the media scope.list_mediaList mediaGETLists files in the Media directory, newest first, with id, name, type (image or file), MIME type, size in bytes and url. Use an id as media.media_id when sending. Needs the media scope.upload_mediaUpload mediaPOSTUploads one file to the Media directory and returns it with its id. Send it later with media: {"media_id": <id>} in send_message, send_message_batch or create_reminder. Needs the media scope.
Opt out, 4 operations
create_opt_outCreate opt outPOSTOpts a recipient out: from now on every send to this number fails, and messages already queued to it fail with Opted out. Answers 200 with the existing entry when already opted out. Needs the contacts scope.delete_opt_outDelete opt outDELETEOpts a recipient back in so sends to the number work again. Answers 404 opt_out_not_found when it was not opted out. Needs the contacts scope.get_opt_outGet opt outGETReturns one recipient's opt-out (source, keyword, note, created_at), or 404 opt_out_not_found when the recipient has not opted out. Needs the contacts scope.list_opt_outsList opt outsGETLists recipients who opted out, newest first, with source (reply, dashboard, import or api), keyword and note. Every send to them fails with recipient_opted_out. Needs the contacts scope.
Number, 3 operations
connect_numberConnect numberPOSTStarts linking a WhatsApp number to WbizTool and returns the number. Then call get_number every few seconds to get the QR code or pairing code for the user, until status is connected. Needs a plan with the QR code API and the numbers scope.get_numberGet numberGETReturns one number and, while it is connecting, the connect object: qr_code_url (QR image to scan in WhatsApp, Linked devices; valid 10 minutes, new on every call) or pairing_code. Call again until status is connected.list_numbersList numbersGETLists the workspace's WhatsApp numbers and Telegram accounts, oldest first, with id, phone, label, platform and status (connected, connecting, disconnected). A key limited to some numbers lists only those. Needs the numbers scope.
Number check, 3 operations
create_number_checkCreate number checkPOSTQueues a check of which numbers are on WhatsApp (up to 10,000; the plan may allow fewer). Returns the check with its id: call get_number_check until status is completed, then list_number_check_results. Needs the contacts scope.get_number_checkGet number checkGETReturns one number check with its status (pending, processing or completed) and counts: total, pending, on_whatsapp, not_on_whatsapp, cancelled. When completed, read the numbers with list_number_check_results.list_number_checksList number checksGETLists number checks, newest first, with status (pending, processing or completed) and counts of numbers on and not on WhatsApp. Needs the contacts scope.
Account, 1 operation
get_accountGet accountGETReturns the API key's workspace, key details (mode live or test, scopes, numbers it is limited to, expiry, read_only), plan, and limits including messages_remaining (null when unlimited). Works with any scope and sends nothing.
Number check result, 1 operation
list_number_check_resultsList number check resultsGETLists the numbers of a check with their result: on_whatsapp (true, false, or null until checked), status (pending, on_whatsapp, not_on_whatsapp, cancelled) and checked_at. Pass next_cursor as cursor for the next page.
Use WbizTool from Claude Code, Cursor or Codex
Connect WbizTool in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its WbizTool operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect WbizTool
- Create your workspace
Sign up free. Nothing to install.
- Connect WbizTool once
Add your WbizTool connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
WbizTool integration FAQ
What can you do with the WbizTool integration?
LiveContext exposes 31 operations on WbizTool, covering message, reminder, webhook and media.
