packages/docs/connectors/zalo.md
Connect your agent to Zalo for Official Account messaging and support workflows using the @elizaos/plugin-zalo package.
A personal-account variant is also available as @elizaos/plugin-zalouser.
| Field | Value |
|---|---|
| Package | @elizaos/plugin-zalo |
| Config key | connectors.zalo |
| Install | eliza plugins install @elizaos/plugin-zalo |
| Name | Required | Description |
|---|---|---|
ZALO_ACCESS_TOKEN | Yes | OA access token |
ZALO_SECRET_KEY | Yes | Application secret key |
ZALO_APP_ID | No | Application ID |
ZALO_REFRESH_TOKEN | No | Token refresh credential |
ZALO_ENABLED | No | Enable or disable the connector |
ZALO_PROXY_URL | No | Proxy URL for API requests |
ZALO_USE_POLLING | No | Use polling instead of webhooks |
ZALO_WEBHOOK_URL | No | Webhook URL for inbound messages |
ZALO_WEBHOOK_PATH | No | Webhook endpoint path |
ZALO_WEBHOOK_PORT | No | Webhook listener port |
Install the plugin from the registry:
eliza plugins install zalo
Configure in ~/.eliza/eliza.json:
{
"connectors": {
"zalo": {
"accessToken": "YOUR_ACCESS_TOKEN",
"secretKey": "YOUR_SECRET_KEY",
"refreshToken": "YOUR_REFRESH_TOKEN",
"appId": "YOUR_APP_ID"
}
}
}
Or via environment variables:
export ZALO_ACCESS_TOKEN=YOUR_ACCESS_TOKEN
export ZALO_SECRET_KEY=YOUR_SECRET_KEY
export ZALO_REFRESH_TOKEN=YOUR_REFRESH_TOKEN
export ZALO_APP_ID=YOUR_APP_ID
| Variable | Required | Description |
|---|---|---|
ZALO_ACCESS_TOKEN | Yes | OA access token |
ZALO_SECRET_KEY | Yes | Application secret key |
ZALO_REFRESH_TOKEN | No | Token refresh credential |
ZALO_APP_ID | No | Application ID |
| Field | Required | Description |
|---|---|---|
accessToken | Yes | Zalo API access token |
secretKey | Yes | Zalo application secret key |
refreshToken | No | Zalo API refresh token |
appId | No | Zalo application ID |
enabled | No | Set false to disable (default: true) |
A separate connector, @elizaos/plugin-zalouser, provides personal Zalo account messaging (as opposed to Official Account). Install it with:
eliza plugins install zalouser
| Field | Value |
|---|---|
| Package | @elizaos/plugin-zalouser |
| Config key | connectors.zalouser |
| Category | connector |
{
"connectors": {
"zalouser": {
"enabled": true
}
}
}
| Variable | Required | Description |
|---|---|---|
ZALO_ACCESS_TOKEN | Yes | OA access token |
ZALO_SECRET_KEY | Yes | Application secret key |
ZALO_REFRESH_TOKEN | No | Token refresh credential |
ZALO_APP_ID | No | Application ID |
ZALO_ENABLED | No | Enable or disable the connector |
ZALO_WEBHOOK_URL | No | Webhook URL for receiving messages |
ZALO_WEBHOOK_PATH | No | Webhook endpoint path |
ZALO_WEBHOOK_PORT | No | Webhook listener port |
ZALO_PROXY_URL | No | Proxy URL for API requests |
ZALO_USE_POLLING | No | Use polling instead of webhooks |