Install
openclaw skills install @wiroai/wiro-agentsChoose, price, deploy, set up, message, schedule and manage Wiro AI agents, the assistants that keep running on Wiro with skills such as social posting, ad reports, review replies or a phone receptionist, through the Wiro MCP tools or the REST API. Use when the user wants an agent that works on its own or on a schedule, asks what agent templates or plans cost, or wants to connect, configure, message, upgrade or remove a Wiro agent.
openclaw skills install @wiroai/wiro-agentsA Wiro agent is an assistant that keeps running on Wiro with a set of skills. It answers messages in the Wiro dashboard and in chat channels such as Telegram, runs scheduled tasks and reports back. It runs on a monthly plan with a pool of credits.
With the Wiro MCP tools, read get_playbook with the topic "agents" (and "billing" for plan questions) before you deploy, set up or change an agent. It holds the full rules; this skill is the map.
send_agent_message with agent "studio" (needs 10 USD in the wallet to start a turn; billed after the turn).run_model. A chain the user will run again by hand: a workflow (see the wiro-workflows skill).list_agent_templates, get_agent_template, list_agent_skills. Prices always come from these tools, never from memory.get_agent_template shows its skills, the plans with their exact price and credits, the credentials it needs, its chat channels and models.list_agent_skills lists them with their credentials and dependencies. Skills have no price of their own: a custom build pays its plan's price, like a template.get_account.list_agent_skills and the credential key get_agent_template shows for it. Never assume one service connects like another.deploy_agent without confirm. The quote gives the amount charged now, the monthly credits, the paying wallet and its balance, and the other plans' prices. Show it, with the fact that the plan renews every 30 days until it is cancelled.nextAction shows: confirm: true with confirm_charge_usd set to the quoted amount. If the price changed, nothing is charged and a new quote comes back.get_my_agent (wait_seconds) until it runs, then set up what is missing together.list_my_agents first.| Status | Meaning |
|---|---|
| 0 | Stopped. Start with control_agent. Right after a deploy or renewal it means the plan is not active. |
| 1, 2, 3 | Stopping, queued, starting: wait and read again with get_my_agent. |
| 4 | Running and ready for messages. |
| 5 | Error: read get_agent_activity (logs), then start it again. |
| 6 | Not paid yet, or setup not finished: subscribe, or set the missing credentials and call update_agent. |
get_my_agent lists every credential its skills use, with its state, never its values. Say the setup is done only when nothing is missing.set_agent_credentials call. Never repeat a secret back, and never put one in a message, a workflow or a Studio brief.bind_agent_project shows which project it would connect and which wallet pays, and connects it after a yes with confirm: true. No key passes through the chat.connect_agent_oauth. Some give a sign-in link, others need a token or the user's own app keys first; list_agent_skills with the credential key shows which. The user opens a sign-in link themselves, in a browser signed in to wiro.ai as the person who deployed the agent, within about 15 minutes; then check with connect_agent_oauth (status).send_agent_message with agent set to the agent's guid. It must be running (status 4) and have credits left. Each message uses its credits: say so in one line and send it.session it goes to the agent's main chat ("default"), the one the user sees in the dashboard. A new session name starts a separate topic with its own memory.nextAction (get_agent_message). Long jobs move to the background and arrive later as new messages, as do scheduled task reports: read them with get_agent_conversation.nextAction.get_my_agent (status, plan, credits, channels), then get_agent_activity (logs). Send no test messages.manage_agent_custom_skill keeps the agent's standing instructions (custom skills, such as a brand voice) and its scheduled tasks.0 9 * * 1 for Mondays at 09:00, in the agent's time zone (UTC when none is set; get_my_agent shows it). Every run uses credits.upsert replaces an entry's whole text: read it in full first with get_my_agent and its entry key. Agree on the text and the schedule with the user before you save.cs-approval-policy: a post, send or change on an outside service that the agent starts by itself waits for the user's yes. Turning it off or changing its text needs confirm: true after a yes.manage_agent_billing handles the plan; without confirm: true every action only quotes, and an action that charges also needs confirm_charge_usd with the quoted amount.
subscribe starts a plan for an agent without one. change_plan moves it to another plan: a higher plan starts now and charges the difference for the rest of the period, a lower plan starts at the next renewal with no charge or refund, and the agent's own plan cancels a scheduled move down. buy_credits adds a credit pack on any plan (packs last 180 days). cancel stops the next renewal with no refund; the agent works until the period ends. renew undoes a cancellation for free while the period lasts.apply_agent_skills turns skills on or off for free: the plan's price and credits stay the same. Ask the user first, name the skills that come along because others depend on them, and say the agent restarts to pick up the change.get_agent_activity (usage) shows the credits each turn used and the credits left.Ask once for the whole removal, naming each step: disconnect connected services (disconnect_agent_oauth), cancel the plan (manage_agent_billing cancel), stop it (control_agent stop) and delete it (delete_agent, with confirm: true after a yes). Deleting gives up any paid time left, with no refund, and cannot be undone.
Base URL https://api.wiro.ai/v1, every endpoint POST with JSON, auth headers as in the wiro-ai skill.
# Message a running agent; the reply arrives later
curl -s -X POST "https://api.wiro.ai/v1/UserAgent/Message/Send" \
-H "Content-Type: application/json" -H "x-api-key: ${WIRO_API_KEY}" \
-d '{"useragentguid": "AGENT_GUID", "message": "Summarize today", "sessionkey": "default"}'
# {"result": true, "errors": [], "messageguid": "...", "agenttoken": "...", "status": "agent_queue"}
# Read the reply by messageguid or agenttoken
curl -s -X POST "https://api.wiro.ai/v1/UserAgent/Message/Detail" \
-H "Content-Type: application/json" -H "x-api-key: ${WIRO_API_KEY}" \
-d '{"messageguid": "MESSAGE_GUID"}'
Agent/List and Agent/Detail read templates; UserAgent/Deploy deploys, UserAgent/MyAgents and UserAgent/Detail read your agents, UserAgent/CredentialUpsert saves credentials and UserAgent/CustomSkillUpsert saves instructions and schedules.wss://socket.wiro.ai/v1 and send {"type": "agent_info", "agenttoken": "..."}), by polling Message/Detail, or with a callbackurl webhook.