bereach-openclaw
v1.6.14
Published
BeReach LinkedIn automation plugin for OpenClaw
Readme
BeReach - OpenClaw Plugin
LinkedIn outreach automation via BeReach. Registers 60+ in-process tools and instant status commands.
Install
openclaw plugins install bereach-openclawPost-install checklist
- Configure - Add
BEREACH_API_KEYtoopenclaw.json(see Setup). - Restart -
openclaw gateway restart - New session - Type
/newin Telegram or chat so the agent sees the tools (existing sessions don't pick up new plugins).
Upgrade
openclaw plugins update bereach-openclaw can leave node_modules and extensions/ out of sync (version mismatch → trim/crash errors). Use uninstall + reinstall instead.
Before upgrading: note your BEREACH_API_KEY - uninstall may remove plugins.entries.bereach-openclaw.
# 1. Uninstall + fully delete (rm prevents stale .old copies causing 401 loops)
openclaw plugins uninstall bereach-openclaw
rm -rf /data/.openclaw/extensions/bereach-openclaw*
rm -rf /data/.openclaw/node_modules/bereach-openclaw
rm -rf /data/.openclaw/node_modules/bereach
# 2. Reinstall latest
openclaw plugins install bereach-openclaw
# 3. Re-add config (API key + plugins.allow) in openclaw.json - see Setup above
# 4. Restart the Gateway
# 5. /new in Telegram or chat (new session picks up the plugin)Verify versions match:
cat /data/.openclaw/node_modules/bereach-openclaw/package.json | grep version
cat /data/.openclaw/extensions/bereach-openclaw/package.json | grep versionSetup
The API key can be set in 3 ways (in order of precedence):
1. OpenClaw config (recommended) - ~/.openclaw/openclaw.json or /data/.openclaw/openclaw.json:
{
"plugins": {
"allow": ["bereach-openclaw"],
"entries": {
"bereach-openclaw": {
"enabled": true,
"config": {
"BEREACH_API_KEY": "brc_your_token_here"
}
}
}
}
}Note:
plugins.allowloads the plugin. Tools are auto-enabled when the plugin is loaded (notools.allowneeded).
Skills + model (optional) - skills.entries has no model field; model is set at the agent level. To use Sonnet for BeReach:
{
"skills": {
"entries": {
"bereach": { "enabled": true }
}
},
"agents": {
"defaults": {
"model": { "primary": "anthropic/claude-sonnet-4-5" },
"models": {
"anthropic/claude-sonnet-4-5": { "alias": "sonnet" }
}
}
}
}2. Environment variable - BEREACH_API_KEY=brc_xxx in your shell or export BEREACH_API_KEY="brc_xxx" in ~/.bashrc.
3. Docker - pass via -e when launching the container: docker run -e BEREACH_API_KEY=brc_xxx ...
Restart the Gateway after configuring.
Important: After install or restart, start a new session so the agent sees the tools. In Telegram or chat: type /new. Existing sessions don't pick up new plugins.
Troubleshooting
BeReach tools (bereach_*) not visible in my session
First try: /new in Telegram or chat - new sessions pick up plugins; old ones don't.
If that doesn't work:
- Restart the Gateway:
openclaw gateway restart - Then
/newagain
"Cannot read properties of undefined (reading 'trim')" or "plugin disabled (not in allowlist)"
OpenClaw loads plugins from two locations:
node_modules/bereach-openclaw/- the npm package (source)extensions/bereach-openclaw/- the active copy OpenClaw uses at runtime
If extensions/bereach-openclaw/ is corrupt or incomplete, you get trim/undefined errors. Fix:
1. Fully remove the active extension (do NOT rename to .bak - OpenClaw loads .bak/.old copies as duplicate plugins):
rm -rf /data/.openclaw/extensions/bereach-openclaw*2. Reinstall from npm (inside the container):
cd /data/.openclaw
npm i bereach-openclaw@latest3. Restart OpenClaw so it rebuilds extensions/bereach-openclaw/ from the package.
4. If extensions/bereach-openclaw/ is still incomplete after restart, force a symlink:
rm -rf /data/.openclaw/extensions/bereach-openclaw
ln -s /data/.openclaw/node_modules/bereach-openclaw /data/.openclaw/extensions/bereach-openclaw
# then restart the container5. Verify - compare the two manifests:
wc -l /data/.openclaw/extensions/bereach-openclaw/openclaw.plugin.json
wc -l /data/.openclaw/node_modules/bereach-openclaw/openclaw.plugin.jsonThey should match. Per OpenClaw Plugin Manifest, tools are registered at runtime via api.registerTool().
Usage
Tools (60+ registered)
All BeReach operations are available as agent tools - the agent uses them automatically based on your requests. No MCP needed; tools run in-process via the bereach SDK.
Instant status commands
These execute instantly without invoking the AI:
| Command | Description |
| --- | --- |
| /bereach-credits | Show current credit balance |
| /bereach-status | Show LinkedIn rate limit summary |
| /bereach-limits | Show detailed per-action rate limits |
CLI
openclaw bereach statusWhat's included
| Component | Description |
| --- | --- |
| src/tools/ | 60+ tool definitions generated from OpenAPI |
| src/commands/ | Instant status commands + CLI |
| skills/bereach/SKILL.md | Main behavioral skill |
| skills/bereach/sub/lead-magnet.md | Lead magnet workflow |
| skills/bereach/sdk-reference.md | SDK method reference |
