🦞
Channel Integration

Connect OpenClaw to Zalo

Integrate OpenClaw with Zalo, Vietnam's leading messenger with 75M+ users, using the zalouser plugin.

🇻🇳 Why Use Zalo?
  • #1 in Vietnam — 75M+ active users, dominant market position
  • Local Integration — Deep integration with Vietnamese services
  • Business Features — Zalo Official Account for professional bots
  • Rich Media — Support for images, files, and structured messages
  • Payment Integration — ZaloPay integration for transactions

🔌 Plugin Required

Zalo integration requires the zalouser plugin. Install it before proceeding:

openclaw plugin install zalouser

Setup Steps

1

Create a Zalo Official Account

Set up an Official Account for your bot:

  • • Go to Zalo Official Account
  • • Log in with your Zalo account
  • • Create a new Official Account
  • • Complete the verification process
2

Create an App in Zalo Developers

Register your application:

  • • Go to Zalo Developers
  • • Create a new application
  • • Enable the "Official Account API" product
  • • Link it to your Official Account
3

Get API Credentials

Retrieve the required credentials:

  • • In the app settings, find App ID and App Secret
  • • Generate an OA Access Token
  • • Note your Official Account ID (OA ID)
4

Configure Webhook

Set up the webhook for receiving messages:

  • • In the Official Account API settings, find webhook configuration
  • • Set webhook URL: https://your-server.com/webhook/zalo
  • • Subscribe to events: "user_send_text", "user_send_image", etc.
  • • Verify the webhook connection
5

Configure OpenClaw

Add the Zalo configuration to your openclaw.json:

{
  "channels": {
    "zalo": {
      "enabled": true,
      "plugin": "zalouser",
      "appId": "YOUR_APP_ID",
      "appSecret": "YOUR_APP_SECRET",
      "oaId": "YOUR_OA_ID",
      "accessToken": "YOUR_OA_ACCESS_TOKEN",
      "allowFrom": ["USER_ID_1"]
    }
  }
}
6

Restart and Test

Start chatting with your bot:

openclaw restart
  • • Open Zalo and search for your Official Account
  • • Follow the account
  • • Send a message to test the connection
Advanced Configuration
{
  "channels": {
    "zalo": {
      "enabled": true,
      "plugin": "zalouser",
      "appId": "YOUR_APP_ID",
      "appSecret": "YOUR_APP_SECRET",
      "oaId": "YOUR_OA_ID",
      "accessToken": "YOUR_OA_ACCESS_TOKEN",
      "allowFrom": ["USER_ID_1", "USER_ID_2"],
      "respondToFollowers": true,
      "useStructuredMessages": true,
      "webhookUrl": "https://your-server.com/webhook/zalo",
      "tokenRefreshInterval": 3600
    }
  }
}
  • plugin — Required: must be "zalouser"
  • oaId — Your Official Account ID
  • respondToFollowers — Only respond to account followers
  • useStructuredMessages — Enable rich message templates
Features
  • Text Messaging — Full bidirectional text chat support
  • Image Support — Send and receive images
  • Structured Messages — Templates, buttons, and list messages
  • User Profile — Access user profile information
  • Event Tracking — Track follows, unfollows, and interactions
⚠️ Troubleshooting

Plugin not found?

Make sure the zalouser plugin is installed: openclaw plugin list

Webhook not receiving events?

Verify webhook URL is HTTPS and publicly accessible. Check subscription events in Zalo Developers.

Access token expired?

Zalo tokens expire. Re-generate the OA Access Token in the developer console.

For more detailed configuration options and advanced features, visit the official documentation:

docs.openclaw.ai/channels/zalo →

Zalo Connected!

Add more channels or enhance your bot with custom skills.