Viber
Connect a Viber bot for customer messaging
Wexio integrates with Viber via the REST Bot API. Once connected, messages sent to your Viber bot appear in your Wexio inbox, and agents can reply directly.

Prerequisites
Before connecting, make sure you have:
- A personal Viber account (iOS or Android)
- A Viber Business bot with an Auth Token
Since February 2024, Viber bots can only be created on commercial terms. You cannot create bots self-service anymore — you must apply directly to Viber.
Getting a Viber Bot
If you already have a bot and its Auth Token, skip to Connecting Viber.
- Apply for a Viber Chatbot by contacting Viber directly or through one of their official partners.
- Once approved, Viber will create your bot and you will be added as an admin.
- Log in to the Viber Admin Panel → select your bot → go to Edit Info.
- Copy the Auth Token (also called the application key).
Learn more about Viber's commercial bot terms and pricing in the Viber Chatbot Commercial Model.
Connecting Viber
- Go to Settings → Integrations.
- Click Connect next to Viber.
- Paste your bot's Auth Token.
- Click Connect — the webhook is auto-configured and your Viber bot is now live.
Once connected, send a test message to your Viber bot to confirm messages appear in your Wexio inbox.
Troubleshooting Connection
| Problem | Solution |
|---|---|
| Invalid token error | Make sure you copied the full Auth Token from the Viber Admin Panel. Go to Edit Info → Your app key to verify |
| Not receiving messages | Messages must be sent to the bot, not to a personal Viber number. Share the bot's URI or deep link with testers |
| Account blocked by Viber | Contact Viber Support to request unblocking |
| Free message limit reached | Viber chatbots have a monthly limit on bot-initiated messages. Contact Viber to agree to their commercial pricing |
Messaging Window
Viber enforces a 24-hour messaging window. You can only send messages to users who have messaged your bot within the last 24 hours.
Supported Message Types
| Type | Send | Receive | Limits |
|---|---|---|---|
| Text | Yes | Yes | Up to 7,000 characters. HTML stripped |
| Images | Yes | Yes | JPEG, PNG, GIF — 1 MB (iOS) / 3 MB (Android) |
| Video | Yes | Yes | MP4 (H.264) — up to 26 MB, max 180 seconds |
| Documents | Yes | Yes | Up to 50 MB. Many file extensions are restricted |
| Stickers | — | Yes | Receive only (Viber sticker IDs) |
| Location | Yes | Yes | Latitude and longitude (no venue details) |
| Contacts | Yes | Yes | Name (max 28 chars) + phone (max 18 chars) |
Interactive Messages
Viber uses custom keyboards with a 6-column grid layout. Each button can span multiple columns and rows, enabling rich visual layouts unique to Viber.
| Property | Value |
|---|---|
| Max buttons | 24 per keyboard |
| Button label max | 250 characters |
| Callback data max | 4,096 characters |
| Button types | Callback and URL |
| Grid | 6 columns, buttons can span 1–6 columns and 1–2 rows |
Delivery Tracking
Viber provides real-time delivery status updates for every message:
| Status | Description |
|---|---|
| Delivered | Message reached the user's device |
| Read | User opened and saw the message |
| Failed | Message could not be delivered |
Feature Notes
| Feature | Supported |
|---|---|
| Read receipts | Yes |
| Delivery receipts | Yes |
| Typing indicator | No |
| Reactions | No |
| Message editing | No |
| Message deletion | No |
| Voice messages | No |
Special Events
- Conversation started — triggered when a user opens the chat with your bot for the first time (before they send a message). Used for sending a welcome message
- Subscribed — fired when a user subscribes to your bot
- Unsubscribed — fired when a user unsubscribes from your bot
Bot Settings
After connecting, configure your Viber integration in Wexio:
- Welcome message — automatic greeting on conversation start
- Collection assignment — route incoming chats to a collection
- AI assistant attachment — attach an AI assistant for automated responses
Identity Field
Viber contacts are identified by viber_id — a 24-character alphanumeric string unique to each user on your bot.