Install
openclaw skills install create-agent-with-telegram-groupCreate a new OpenClaw agent and bind it to a dedicated Telegram group with workspace ~/claw-<agent-name>. Use when the user asks for one-agent-one-group setu...
openclaw skills install create-agent-with-telegram-groupCreate one dedicated Telegram group per agent, bind the agent to that group, and set an isolated workspace path.
Prefer bundled scripts for deterministic steps (more stable + lower token cost). Only do manual JSON editing when scripts cannot cover a special case.
Use:
scripts/provision_config.py for agent/config/binding/no-mention setup (with automatic backup of openclaw.json)scripts/init_workspace.py for USER.md / IDENTITY.md / SOUL.md initializationThis skill accesses the following files on the host:
~/.openclaw/openclaw.json — read (model discovery) and write (agent binding)~/.openclaw/cron/jobs.json — read-only (for job listing if needed)~/claw-<agent-name>/ — workspace directory created by script~/.openclaw/agents/<agent-id>/agent/ — directory created (no auth files copied)scripts/provision_config.py reads and writes ~/.openclaw/openclaw.json.~/.openclaw/openclaw.json.bak.<timestamp>.agents.list (add/update target agent) — does NOT copy auth credentialsbindings (add target telegram group binding)channels.telegram.groups.<chat_id>.requireMention=falsegateway.reload.mode only if missing (sets default hybrid)Collect (before executing):
agent_name (required)model (required): ask user explicitly which model to use; model options must be read live from the user’s ~/.openclaw/openclaw.json (do not hardcode examples)telegram_group_title override (custom group name)USER.mdIDENTITY.mdSOUL.mdUSER.md: user name / preferred call name / language / goals / notesIDENTITY.md: agent display name / vibe / emoji (optional)SOUL.md: role/mission / tone / constraints (short bullet points)Normalize agent_name:
-.Telegram group title rule:
telegram_group_title, use it directly.test-skill -> TestSkill, bilingual-agent -> BilingualAgent.~/.openclaw/openclaw.json first, then confirm inputs with user (agent name, model, init-file preferences, optional telegram group title).~/claw-<agent-name> and create it if missing.telegram_group_title if providedpython3 scripts/provision_config.py --agent-name <agent_name> --model <model> --chat-id <chat_id>requireMention=false~/.openclaw/agents/<agent-id>/agent existsUSER.md / IDENTITY.md / SOUL.mdpython3 scripts/init_workspace.py --workspace <workspace> --agent-name <agent_name> [--with-user] [--with-identity] [--with-soul]ping@mentionenabled/disabled)Do not invent OpenClaw commands.
When agent create/update command syntax is unknown:
openclaw help.openclaw <subcommand> --help for the relevant subcommand.~/claw-<agent-name> already exists, reuse it.requireMention=false for the bound group.config hot reload applied, restarting telegram channel)off or not applied, restart gateway and re-check logs.ping.@mention.ping -> pong verification passes.If group creation succeeds but binding fails:
If chat_id cannot be resolved automatically:
Return concise status:
agent: <agent-name>model: <selected-model>workspace: ~/claw-<agent-name>telegram_group: <title>chat_id: <id or PENDING>binding: <done|pending>reply_without_mention: <enabled|disabled>initialized_files: <USER.md, IDENTITY.md, SOUL.md or subset>verification: <passed|failed>next_step: <none or exact minimal action>