| 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 static CONTROL_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_url to 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: read connector_id + device_id from session and continue to access request flow.
failed: report reason_code and stop.
Access Workflow
- After successful install, send
request_connector_access with bound connector_id and device_id.
- Return resulting request status to the user.
API Templates
Use templates in templates/:
request_connector_connect.json
request_connector_install.json
approve_install_session.json
request_connector_access.json
install_session_result.json
user-install-response.md
Guardrails
- Never print or persist
install_token beyond active install flow.
- Never reuse a token after redemption attempt.
- Treat
install_session_expired and terminal failed as hard-stop errors.
- Keep
source_channel as the channel where the request originated.
- Never ask end users for
API_AUTH_TOKEN, CONTROL_PLANE_URL, openclaw_user_id, connector_id (before install), or device_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
installed but connector_id/device_id is missing, stop and report operator error (do not ask end user for IDs).