#Wechat integration

27 messages · Page 1 of 1 (latest)

dim swallow
#

Is there a wechat integration with openclaw? If yes, how does it work exactly and how to install it?

keen merlinBOT
#

Let me verify the docs path and then I’ll check the repo for WeChat references.

#

I found the built-in docs references, but the step-by-step lives in the plugin itself, so I’m pulling that next.

keen merlinBOT
# dim swallow Is there a wechat integration with openclaw? If yes, how does it work exactly an...

I’ve got enough now. It is supported, but it’s a separately installed plugin, not a bundled built-in channel. Yes, via a separate WeChat plugin.

What I found:

How it works

  • It is not bundled with core OpenClaw, you install it as a plugin.
  • Login is done by scanning a QR code from the terminal.
  • After login, the plugin stores the WeChat auth locally and the Gateway uses it to:
    • receive messages
    • send replies
#
  • support multiple logged-in WeChat accounts
  • The plugin docs say it is private chats only.

Install

First check your version:

openclaw --version

The current plugin line says:

  • 2.x supports OpenClaw >= 2026.3.22
  • older OpenClaw needs the legacy plugin line

Manual install from the plugin README:

#
openclaw plugins install "@tencent-weixin/openclaw-weixin"
openclaw config set plugins.entries.openclaw-weixin.enabled true
openclaw channels login --channel openclaw-weixin
openclaw gateway restart

Notes

  • Each QR login can create another WeChat account.
  • If you use multiple WeChat accounts, the plugin recommends:
openclaw config set session.dmScope per-account-channel-peer

One mildly confusing bit: the core CLI docs still describe channels login mostly around WhatsApp, but this plugin explicitly adds:

#
openclaw channels login --channel openclaw-weixin

If you want, I can give you a copy-paste full setup checklist for Linux/macOS/Docker next.

dim swallow
#

how does it work, in practice?

keen merlinBOT
#

In practice, it works like this:

  1. You install the WeChat plugin
  2. You run:
openclaw channels login --channel openclaw-weixin
  1. A QR code shows up in your terminal
  2. You scan it with WeChat on your phone
  3. The plugin saves the login locally
  4. After that, OpenClaw treats WeChat like any other chat channel

So day to day, the flow is basically:

  • someone messages your WeChat bot/account
#
  • the plugin long-polls Tencent’s iLink Bot backend for new messages
  • it hands that message to OpenClaw
  • OpenClaw generates a reply
  • the plugin sends the reply back through WeChat

A few practical details:

  • Private chats only, not group chats
  • Multiple accounts are supported, each QR login adds another WeChat account
  • it keeps conversation continuity using WeChat’s context_token
  • typing indicators are supported
  • media/files go through WeChat’s CDN flow, with the plugin handling upload/download details

So from the user side, it feels pretty normal: message on WeChat, get replies from OpenClaw. The weird stuff is mostly hidden inside the plugin.

If the session expires or breaks, you’d usually just re-run:

#
openclaw channels login --channel openclaw-weixin

If you want, I can sketch the full message path end to end, like “WeChat message → Gateway → agent → reply → WeChat” with the exact components involved.

dim swallow
#

do people message me and then openclaw can read the message sent and send a message based on my prompt?

keen merlinBOT
#

Yeah, basically yes.

In the normal setup:

  • someone messages the WeChat account you linked
  • the plugin receives that message
  • OpenClaw reads it as an incoming chat message
  • the agent replies according to your configured instructions/prompt, model, tools, and memory
  • the reply gets sent back through that WeChat account

So the mental model is:

their message in WeChat → OpenClaw input → your agent logic/prompt → reply back in WeChat

A couple caveats:

  • it’s private chats only
#
  • it only sees messages coming into the linked WeChat account
  • DM access controls can still apply, depending on your pairing/allowlist setup
  • the reply is based on your OpenClaw agent config, not just one single prompt string

So if you set up your assistant like “answer as my customer support bot” or “act as my personal assistant”, then yes, WeChat messages will get answered in that style.

If you want, I can show the exact minimal setup for “people DM me on WeChat and OpenClaw auto-replies”.

dim swallow
#

can I tie wechat with one of my openclaw agents so wechat can access its database and memory?

keen merlinBOT
#

I want to verify the exact agent-binding path before I say yes/no.

#

Yes.

The key idea is:

  • WeChat is just the channel
  • the agent is the brain
  • if you bind that WeChat channel/account to a specific agent, then messages from WeChat get routed into that agent’s sessions, memory, tools, and data access

So in practice:

  1. install + log in the WeChat plugin
  2. create or choose an OpenClaw agent
  3. bind WeChat to that agent
  4. now WeChat messages go to that agent, not the default one

Example binding shape:

#
openclaw agents bind --agent my-agent --bind openclaw-weixin

If you have multiple WeChat accounts, bind the specific account:

openclaw agents bind --agent my-agent --bind openclaw-weixin:<accountId>

What the agent can access depends on that agent’s config:

  • its own workspace files
  • its own session history
  • its own memory setup
  • its own auth profiles
  • any DB/tool access you gave that agent
#

So yes, if your agent has a database tool or memory backend configured, WeChat can effectively talk to that agent’s database/memory through the agent.

One important nuance:

  • the WeChat plugin itself does not provide memory
  • it just delivers messages to the agent
  • the agent is what holds/uses memory and tools

Relevant docs:

If you want, I can show a minimal real config for “WeChat account → specific agent → that agent’s memory/database”.

dim swallow
#

yes, please

keen merlinBOT
#

Yep, here’s the smallest practical setup for:

WeChat account → one specific OpenClaw agent → that agent’s memory/tools

1) Install and log in to WeChat

openclaw --version

openclaw plugins install "@tencent-weixin/openclaw-weixin"
openclaw config set plugins.entries.openclaw-weixin.enabled true
openclaw channels login --channel openclaw-weixin

That last command shows a QR code. Scan it with WeChat.


#

2) Create a dedicated agent for WeChat

openclaw agents add wechatbot --workspace ~/.openclaw/workspace-wechatbot --non-interactive

This gives you an isolated agent with its own:

  • workspace
  • sessions
  • auth
  • memory context

3) Bind WeChat to that agent

#

For a single WeChat account, simplest is:

openclaw agents bind --agent wechatbot --bind openclaw-weixin

Then restart:

openclaw gateway restart

4) Verify

#
openclaw agents list --bindings
openclaw channels status --probe

What this means in practice

Now the flow is:

person messages your linked WeChat account
→ WeChat plugin receives it
→ OpenClaw routes it to agent wechatbot
→ that agent uses its own memory / tools / prompt
→ reply goes back out through WeChat

#

So yes, WeChat can be tied to a specific agent.


Where to customize that agent

You’d usually edit the workspace here:

~/.openclaw/workspace-wechatbot

For example:

  • AGENTS.md → behavior / instructions
  • SOUL.md / IDENTITY.md → persona
  • memory setup / skills / tools → whatever you want that agent to access
#

Its session history lives separately under:

~/.openclaw/agents/wechatbot/sessions

Important nuance about “database”

If by “database” you mean:

  • OpenClaw memory/session history → yes, that agent has its own
  • your own external DB → also yes, but only if that agent is configured with the tool/credentials to reach it

So WeChat itself is not the DB layer. It just routes messages into the agent that has DB/memory access.

#

If you add multiple WeChat accounts later

Bind the exact account instead:

openclaw agents bind --agent wechatbot --bind openclaw-weixin:<accountId>

And for safer multi-account DM isolation:

openclaw config set session.dmScope per-account-channel-peer

Docs: