name: enclout-openclaw-agent description: Use when a user asks to connect from any paired channel and you need a URL-first enclout install flow with install-session polling and automatic connector/device identity binding.
enclout OpenClaw Agent Skill
Purpose
Run a channel-agnostic URL-first connect flow for enclout through OpenClaw intents.
User-Facing Inputs (Ask Only These)
- None required up front.
- Optional clarification only if user asks to target a specific device/group.
Do not ask for connector_id or device_id before install completes.
Runtime Context (Derived Dynamically; Do Not Ask End User)
control_plane_base_url: derive from the active OpenClaw gateway/session origin (do not require staticCONTROL_PLANE_URL).authorization: use gateway session auth by default; if explicit bearer is required, mint a short-lived bearer via the runtime deterministic key generator capability.openclaw_user_id: derive from chat identity/session context.source_channel: derive from current channel metadata.
If gateway URL/auth context cannot be derived, stop and return:
Operator action needed: OpenClaw gateway auth context unavailable (cannot resolve gateway URL or generate session bearer). End user does not need to provide tokens or URLs.
Connect + Install Workflow
- Create connect/install session via
request_connector_connect. - Send the returned clickable
install_urlto the user. - Approve session with
approve_install_session(approved=true). - Poll
GET /v1/install-sessions/{id}every 2-3 seconds. - Stop polling on terminal state:
installed: readconnector_id+device_idfrom session and continue to access request flow.failed: reportreason_codeand stop.
Access Workflow
- After successful install, send
request_connector_accesswith boundconnector_idanddevice_id. - Return resulting request status to the user.
API Templates
Use templates in templates/:
request_connector_connect.jsonrequest_connector_install.jsonapprove_install_session.jsonrequest_connector_access.jsoninstall_session_result.jsonuser-install-response.md
Guardrails
- Never print or persist
install_tokenbeyond active install flow. - Never reuse a token after redemption attempt.
- Treat
install_session_expiredand terminalfailedas hard-stop errors. - Keep
source_channelas the channel where the request originated. - Never ask end users for
API_AUTH_TOKEN,CONTROL_PLANE_URL,openclaw_user_id,connector_id(before install), ordevice_id(before install). - Never require static token/URL env vars during paired-channel chat flow; derive gateway URL/auth context dynamically.
- If gateway URL/auth context is unavailable, return an operator-facing gateway-context error instead of requesting tokens/URLs from the user.
- If install reaches
installedbutconnector_id/device_idis missing, stop and report operator error (do not ask end user for IDs).