Potassium
Native OpenClaw tools and skills for Infomaniak kDrive, Mail, kChat, URL shortener, and discovery workflows.
Install
openclaw plugins install clawhub:@opencow42/potassium-openclawPotassium for OpenClaw
Potassium brings Infomaniak workflows into OpenClaw as a native plugin. It
registers OpenClaw tools backed by the published liquid-potassium Node SDK,
ships agent skills for common Infomaniak tasks, and adds a dedicated kChat
channel for live chat workflows.
The plugin is designed as an adapter layer: this repository owns the OpenClaw
manifest, package metadata, skill guidance, docs, and safety defaults, while
liquid-potassium owns the reusable Infomaniak API client and reviewed
workflow implementations.
What It Adds
- Native OpenClaw tools for Infomaniak discovery, reviewed workflows, Mail application actions, and controlled raw API calls.
- Skills for kDrive, Mail, kChat, URL shortener, and general Infomaniak work.
- A dedicated
kchatOpenClaw channel for outbound posts, media posts, inbound webhook or WebSocket events, threaded replies, typing indicators, and optional online presence. - Conservative credential handling: bearer tokens stay in environment variables, and direct token config is rejected.
- Conservative mutation handling: mutating operations are blocked by default and require explicit user intent plus tool-level confirmation when enabled.
- A small package surface with no vendored SDK source and no external executable runtime.
Capabilities
Potassium is useful when an OpenClaw agent needs to work with Infomaniak services without hand-rolling HTTP calls or exposing credentials in prompts.
| Area | Capabilities |
|---|---|
| Discovery | List available domains, search operation metadata, describe API capabilities, and discover reviewed workflow coverage. |
| kDrive | Resolve drives and folders, create directories or default files, upload local files, and verify results when mutations are allowed. |
| List mailboxes and folders, review unread threads, read messages, move messages, and manage drafts through the Mail application API. | |
| kChat | Post text or media, reply in threads, receive webhook or WebSocket events, publish typing indicators, and preserve inbound reply context. |
| URL shortener | Check quota, list short links, create chk.me links, and update expiration dates. |
| Policy | Apply domain allowlists, operation allowlists or denylists, and mutation blocking before SDK calls run. |
Install
Requirements:
- OpenClaw
2026.6.6or newer. - Node.js 22 or newer.
INFOMANIAK_TOKENavailable in the OpenClaw process environment, unless plugin config sets anothertokenEnvName.
Install from ClawHub after the package is published:
openclaw plugins install clawhub:@opencow42/potassium-openclaw
openclaw plugins enable potassium
Install from npm as a fallback:
openclaw plugins install npm:@opencow42/potassium-openclaw
openclaw plugins enable potassium
Install from a pinned GitHub release or tag:
openclaw plugins install git:github.com/OpenCow42/potassium-openclaw@0.4.0
openclaw plugins enable potassium
For local development:
openclaw plugins install --link .
openclaw plugins enable potassium
If OpenClaw runs as a service, restart the gateway after installing or changing plugin code:
openclaw gateway restart
Configure
Keep Infomaniak bearer tokens in environment variables only:
export INFOMANIAK_TOKEN="..."
Minimal explicit plugin config:
openclaw config patch --stdin <<'JSON5'
{
plugins: {
entries: {
potassium: {
enabled: true,
config: {
tokenEnvName: "INFOMANIAK_TOKEN",
blockMutating: true
}
}
}
}
}
JSON5
Common plugin config fields:
tokenEnvName: environment variable name for the Infomaniak bearer token, defaultINFOMANIAK_TOKEN.baseUrl: optional Infomaniak API base URL override.mailApplicationBaseUrl: optional Mail application API base URL override.allowedDomains: optional domain allowlist such askdrive,mail, orkchat.allowedOperations: optional normalized operation ID allowlist.deniedOperations: optional normalized operation ID denylist.blockMutating: blocks mutating operations whentrue, defaulttrue.
OpenClaw Tools
Potassium registers these native tools:
infomaniak_domainsinfomaniak_searchinfomaniak_describeinfomaniak_discoverinfomaniak_mail_applicationinfomaniak_workflow_listinfomaniak_workflow_describeinfomaniak_workflow_runinfomaniak_call
Prefer reviewed workflow tools for domain actions. Use lower-level search, describe, discover, or raw call tools only when a reviewed workflow does not fit and policy allows the operation.
Skill Documentation
Skill-specific guidance lives in dedicated files under docs/skills/:
The executable skill instructions shipped to agents live under skills/.
kChat Channel
Potassium declares a dedicated OpenClaw channel capability named kchat. It can
send messages to kChat, receive inbound events, and route OpenClaw replies back
into the correct channel or thread.
Use WebSocket receive mode for most installs because it does not require a public callback URL. Use webhook receive mode when you already expose a public OpenClaw gateway URL and prefer kChat outgoing webhooks.
See the kChat channel guide for setup examples, configuration fields, inbound routing behavior, WebSocket receive, webhook receive, typing indicators, and troubleshooting.
Verify
Check the installed plugin and runtime registration:
openclaw plugins inspect potassium --runtime --json
openclaw plugins list --enabled
openclaw doctor
After verification, ask OpenClaw to use the Potassium skills for an Infomaniak
task. The plugin should register the infomaniak_* tools listed above.
Project Docs
Local Development
npm install
npm test
npm run check
The default test suite uses metadata and mocked registration checks only. It does not call live Infomaniak APIs.
Security
Please see SECURITY.md for supported branches, vulnerability reporting, and credential-handling expectations.
Bearer/API tokens and webhook verification tokens must stay in environment variables. Do not place them in chat, docs, tests, OpenClaw config files, or committed config.
License
This project is licensed under Apache-2.0.
