Launch priceFirst 100 clients: $149 $20Buy now →
XIROAction reference
Action reference

Everything XIRO can do, on one searchable page.

There are 99 actions in 9 areas. Each one comes with an example of what to say and every option it accepts. For guided steps and more phrases, open the field guide. For how it's built, see the technical overview.

99 actions95 live voice actions24 voicesJump to the list
01 · A REQUEST, STEP BY STEP

From what you say to what gets done.

Pick a kind of request to see the four steps it goes through.

DOCUMENT WORKFLOW

“Create my resume from these details and save it on the Desktop.”

  1. Understand the request — What goes in it, which format, and where it should be saved.
  2. Write the document — Drafted only from the details you gave - nothing invented.
  3. Ask before writing a file — The first file write in a session asks once; you can always say no.
  4. Save and say where — The real path is read back, or the exact reason it could not be saved.

02 · PERMISSIONS

Every action carries a permission level.

Never asks

Reading, looking up and opening things run straight away - no prompt slows you down, and nothing on your disk changes.

Plans can't approve themselves: each step of an automatic run goes through the same check. More on the security page.

03 · MODELS

The right model for each request.

A quick question goes to a fast model

Short, everyday requests use the quick model you picked in Models & Keys, so answers come back in a moment.

Automatic routing is optional. By default XIRO uses the model you chose, and the list of models comes from your own key.

04 · VOICES

A familiar voice, with a personality.

Fourteen of the 24 voices, six of them machines. Choose one to read how it sounds.

Edmund

The Butler - Unhurried and dry - the house run by a man who has seen everything and mentions none of it.

“Good evening. The house is in order, the brief is on your desk, and nothing has caught fire. Yet.”

05 · BROWSE

Browse by area.

Choose an area to filter the list below.

06 · THE LIST

Every action, with every option.

Browser automation

DesktopLive action

Navigate, search and interact with supported browser pages.

“Open this website in Edge.”
browser_control
action · required
go_to | search | click | type | scroll | fill_form | smart_click | smart_type | get_text | get_url | press | new_tab | close_tab | screenshot | back | forward | reload | where | switch | list_browsers | close | close_all
browser
Target browser: chrome | edge | firefox | opera | operagx | brave | vivaldi | safari. Omit to use the currently active browser.
url
URL for go_to / new_tab action
query
Search query for search action
engine
Search engine: google | bing | duckduckgo | yandex (default: google)
selector
CSS selector for click/type
text
Text to click or type
description
Element description for smart_click/smart_type
direction
up | down for scroll
amount
Scroll amount in pixels (default: 500)
key
Key name for press action (e.g. Enter, Escape, F5)
path
Save path for screenshot
incognito
Open in private/incognito mode
clear_first
Clear field before typing (default: true)

Camera controls

DesktopLive action

Inspect, select and control available camera devices.

“Switch to my external webcam.”
camera_control
action
'switch' to select a camera (default), 'next' or 'previous' to cycle, 'list' to report what is available, 'rescan' to re-probe after plugging one in
index
Exact device index when the user names a number, e.g. 2 for 'camera 2'
name
How the user described it when they gave no number: 'front', 'back', 'external', 'usb', 'built-in', 'other', 'next'

Close the camera

DesktopLive action

End the active camera view.

“Close the camera.”
close_camera

No named parameters - just ask.

Close Xiro

DesktopLive action

Request a controlled exit from the desktop assistant.

“Close Xiro.”
shutdown_xiro

No named parameters - just ask.

Command history & recovery

DesktopBackend tool

Review past calls, inspect the last failure and request a permission-checked replay.

“Why did my last command fail?”
command_history

No named parameters - just ask.

Computer interaction

DesktopLive action

Use mouse, keyboard, screenshots and window controls, subject to permission rules.

“Take a screenshot.”
computer_control
action · required
type | smart_type | click | double_click | right_click | drag | hotkey | press | scroll | move | copy | paste | screenshot | wait | clear_field | focus_window | screen_find | screen_click | random_data | user_data
text
Text to type or paste
x
X coordinate. With action='drag' and no x1/x2, this is where to drag TO from the pointer's current position.
y
Y coordinate. With action='drag' and no y1/y2, this is where to drag TO from the pointer's current position.
x1
Drag start X (use with y1, x2, y2)
y1
Drag start Y
x2
Drag end X
y2
Drag end Y
keys
Key combination e.g. 'ctrl+c'
key
Single key e.g. 'enter'
direction
up | down | left | right
amount
Scroll amount (default: 3)
seconds
Seconds to wait
title
Window title for focus_window
description
Element description for screen_find/screen_click
type
Data type for random_data
field
Field for user_data: name|email|city
clear_first
Clear field before typing (default: true)
path
Save path for screenshot

Desktop organization

DesktopLive action

Organize the desktop and use supported desktop operations.

“Organize my desktop by file type.”
desktop_control
action · required
list | find | largest | count_by_type | new_folder | organize | clean | stats | wallpaper | wallpaper_url | current_wallpaper | task
path
Image path for wallpaper
url
Image URL for wallpaper_url
mode
by_type or by_date for organize
pattern
Name fragment for find
kind
image | document | spreadsheet | video | audio | archive | code (for find)
count
How many for largest (default 5)
name
Folder name for new_folder
task
Natural language desktop task

Hardware status

DesktopLive action

Read available CPU, RAM, GPU and system telemetry.

“Show CPU, RAM and GPU usage.”
system_status

No named parameters - just ask.

Memory management

DesktopLive action

Inspect large memory consumers and request memory cleanup.

“Show the biggest memory consumers.”
free_ram
action
report (measure only) | free (default, safe pass) | aggressive (deep clean, needs admin)
min_mb
Skip processes using less than this many MB (default 8)
top
How many of the biggest memory consumers to name (default 5)

Open apps & sites

DesktopLive action

Launch an installed application or open a website.

“Open Calculator.”
open_app
app_name · required
App name ('WhatsApp', 'Chrome', 'Spotify') or a website ('github.com', 'YouTube')

Parental control

DesktopLive action

Hear whether the computer is allowed now, the minutes left and a day’s use report. Rules and extra time need the parent PIN.

“How much computer time is left today?”
parental_control
action · required
status | report | open
day
report: YYYY-MM-DD, default today

Screen understanding

DesktopLive action

Use enabled visual context to inspect the screen and interpret a task.

“Look at my screen and explain this error.”
screen_process
angle
'screen' to capture display, 'camera' for webcam. Default: 'screen'
task
'quiz' to read and answer an on-screen question; omit otherwise
text · required
The question or instruction about the captured image

Smart clipboard

DesktopLive action

Transform whatever you just copied and put the result back, ready to paste.

“Summarise what I just copied.”
clipboard_ai
action · required
summarize | grammar | translate | json | explain | reply | shorter | bullets | formal | casual | expand | custom | read
target
translate: the language to translate into
instruction
custom: what to do with the text

Software packages

DesktopBackend tool

Discover available package managers; search, inspect, install, update or remove packages.

“Show available package managers.”
packages

No named parameters - just ask.

System settings

DesktopLive action

Adjust supported computer settings such as volume and brightness.

“Set the volume to 30 percent.”
computer_settings
action · required
Exactly one of the listed names - do not invent one. audio: volume_up, volume_down, volume_set, mute, unmute, toggle_mute. display: brightness_up, brightness_down, sleep_display, screen_off, dark_mode, screenshot, lock_screen. media: play_pause, pause_video. windows: close_app, close_window, minimize, maximize, full_screen, fullscreen, snap_left, snap_right, switch_window, show_desktop, task_manager, focus_search. browser: new_tab, close_tab, next_tab, prev_tab, go_back, go_forward, reload, refresh_page, reload_n, find_on_page, zoom_in, zoom_out, zoom_reset. scrolling: scroll_up, scroll_down, scroll_top, scroll_bottom, page_up, page_down. editing: copy, paste, cut, undo, redo, select_all, save, type_text, press_key, enter, escape. system: open_settings, file_explorer, open_run, toggle_wifi, restart, shutdown.
description
Natural language description of what to do
value
volume_set 0-100 | close_app the app name | type_text the text | press_key e.g. 'f5' | reload_n times | scroll_up/down pixels

Undo the last action

DesktopLive action

Take back what XIRO just did this session: file writes, moves and renames, deletes (back from the Recycle Bin), new empty folders, copies, a tidied desktop, volume, brightness, dark mode and assistant settings.

“Undo that.”
undo_last_action
action
undo (default) | list

Business front desk

CommunicationLive action

Answer customers from your own offer, rules, hours and limits - text, voice notes and calls - in their language, then follow each order through payment you verify, delivery and any return or refund claim. Needs your business channel setup.

“What is my sales funnel?”
front_desk
action · required
status | open | close | orders | customers | take_over | hand_back | set_item | remove_item | items | set_business | set_delivery | set_hours | set_limit | set_rule | rules | voices | set_voice | test | call_demo | end_call | calls | calls_on | calls_off | setup | funnel | attention
customer
Customer name or number for take_over / hand_back
name
Item or service name; business name for set_business; limit or rule name
price
Price for set_item, or the fee for set_delivery, in the business currency
unit
Per what: plate, kg, hour, session, piece
description
Item description, or the business description for set_business
aliases
Other names customers use for the item
value
The value for set_limit / set_rule; for set_hours the span like 09:00-21:00
days
For set_hours: mon-sat, weekdays, daily
message
For test: the customer message to try
kind
For test: text (default) or voice - a voice test is spoken aloud here so the desk's voice can be heard before it goes live
language
For voices / set_voice: the language, e.g. Urdu, English, Arabic; omit or say 'all' to set one of the assistant's own voices for every language
period
For orders / calls: today (default) | yesterday | week | month | all

Contacts

CommunicationLive action

Save, search and maintain contact details.

“Save Ali's number in my contacts.”
contacts
action · required
add, search, list, update, or delete
name
The contact's name
number
Phone number
email
Email address; saved with the person, so a later 'email Ali' needs no address
address
Home, office or postal address, saved with the person
note
Anything worth remembering about them
tags
Comma-separated labels, e.g. 'work, university'
query
What to search for when finding, updating or deleting

Email desk

CommunicationLive action

Sort unread mail by your spoken rules and draft replies. Nothing is sent until you say so, and each send passes the permission gate.

“Sort my inbox.”
email_desk
action · required
run | send | rule | rules | remove_rule | signature | leads
match
rule: a sender (from:name) or a word in the subject
rule_action
rule: reply | hold | ignore
instruction
rule (reply): what the draft should say
provider
run: gmail (default) | outlook
text
signature: the signature text

Google: Calendar, Gmail, Drive, Maps, Meet

CommunicationLive action

Your agenda, inbox and Drive by voice, directions and a new Meet; opened filled in without an account, read and created with one. Emails and invitations wait on a card.

“Add a meeting with Ali tomorrow at 3 with a Meet link.”
google
action · required
agenda | next | add_event | meet_schedule | meet_now | join_meet | inbox | search_email | read_email | send_email | reply_email | draft_email | drive_search | drive_recent | drive_open | drive_download | drive_upload | directions | find_place | status | connect
when
agenda: today | tomorrow | week | YYYY-MM-DD
title
event title
start
event start, local 'YYYY-MM-DD HH:MM'
end
event end, local 'YYYY-MM-DD HH:MM'
duration_min
event length if no end (default 60)
attendees
guests: emails or saved contact names, comma-separated
meet
add a Google Meet link to the event
location
event place
details
event description
to
email recipient(s): addresses or contact names
subject
email subject
body
email or reply text, in the user's words and language
query
Gmail search / file name / place / which email to read or reply to
count
inbox: how many (default 5)
path
drive_upload: the local file
destination
directions: where to
origin
directions: from where (default: here)
mode
directions: driving | walking | transit | bicycling | motorbike
code
join_meet: the meeting code or link

Mailboxes

CommunicationLive action

See the email accounts XIRO sends from, test one, pick the default, rename or remove it. Adding one opens the Mailboxes screen; passwords are never taken by voice.

“Which mailboxes do I have?”
mailbox
action · required
list, test, set_default, rename, remove, or add (opens the screen)
name
Which mailbox, as the user names it; blank = the default
new_name
rename only: the new name
address
add only: the email address to pre-fill
confirmed
remove only: true after the user has said yes

Marketing manager

CommunicationLive action

A second desk that hunts for projects, drafts first messages and follow-ups for your approval, answers prospects from your own playbook, writes proposals with your catalogue prices, and tracks the pipeline.

“Hunt for logistics companies hiring a web developer in Karachi.”
marketing_manager
action · required
status | hunt | add_lead | list | find | draft | send | followups | proposal | stage | note | do_not_contact
query
hunt: what kind of client to look for; other actions: the prospect's company or name
region
hunt: where
company
—
name
—
phone
—
email
—
industry
—
channel
email | whatsapp
stage
new | contacted | replied | qualified | proposal | negotiation | won | lost | nurture
text
note text

Send a message

CommunicationLive action

Send through a configured messaging platform, subject to permissions.

“Send Ali a WhatsApp message: I will be late.”
send_message
receiver · required
Contact name, phone number, or email address
message_text · required
The message to send
platform · required
Where to send it; Outlook/Gmail are email
subject
email only: the subject line
from_mailbox
email only: which mailbox to send from ('work', 'personal'); blank = the default. Names come from the mailbox tool.

Social & inbox hub

CommunicationLive action

Search, summarize and manage messages from supported connected or imported sources.

“Summarize my unread messages.”
social_hub
action · required
sync | import | inbox | search | summary | whats_going_on | notify_important | reply
provider
all | gmail | outlook | whatsapp | facebook | linkedin
query
Voice search terms, sender, subject, or message text
receiver
Reply recipient
message_text
Reply text
subject
Optional email subject
unread_only
Only include unread messages
limit
Maximum messages, 1 to 50
messages
Normalized connector messages for import

Voice messages

CommunicationLive action

WhatsApp voice messages in XIRO's own voice, or your own voice recorded on the spot. Nothing is sent until you say send.

“Reply to Rida in your voice: I will be home by eight.”
voice_message
action · required
record | say | send | discard | status
receiver
Saved contact name or number
text
For say: the words XIRO speaks, in the user's language
seconds
For record: the longest to listen (default 90)

WhatsApp calls and chats

CommunicationLive action

Control current WhatsApp Desktop Calls and Chats screens while reusing an open app.

“Start a WhatsApp group video call with Ali and Sara.”
whatsapp
action · required
message | voice_call | video_call | group_voice_call | group_video_call | dial_number | create_call_link | schedule_call | open_calls | search | open
receiver
Saved Xiro contact name, WhatsApp contact name, or phone number
receivers
Two or more contact names/numbers for a group call (maximum 32)
via
api = send the message through the WhatsApp Business Cloud API (needs a phone number); default drives WhatsApp Desktop
message_text
Text to send when action is message

Activity recall

Files & knowledgeLive action

Recall tracked work when enabled; manage tracking, exclusions and history.

“What was I working on before lunch?”
activity_recall
action
status (default; timeline when 'when' is given) | timeline | apps | start | stop | forget | exclude
when
Time window for timeline, one of: today | yesterday | this morning | this afternoon | this evening | before lunch | after lunch | this week | last week | last month
app
Application name for exclude, or for a targeted forget
forget
With action='stop', also erase the stored history
days
How many days action='apps' covers (default 7)
limit
Maximum rows in a timeline (default 12)

Backup and migration

Files & knowledgeLive action

Back up, verify and restore all your data, or move XIRO to a new computer.

“Back up all my data with a password.”
backup_manager
action · required
export (default) | import | verify | coverage (what a backup would contain) | list_backups
password
Optional password to encrypt or open the package
output_path
For export: where to save, if the user names a place
input_path
For import/verify: the package file (default: the newest found)
categories
Optional comma list to limit it: memory, mentorship, voice, user_state, config, auth, workspace

Book & screenplay writer

Files & knowledgeLive action

Plan, draft, revise and compile a book or screenplay across sessions, saved on disk and shown on the media stage.

“Start a novel called The Quiet Harbour.”
writer
action · required
start | outline | draft | revise | show | status | compile | list
title
the project's title (start: the new title; else which project)
kind
start: book (default) | screenplay
premise
start: what it is about, as the user said it
genre
start: genre, if said
parts
start: how many chapters or scenes, if said
language
start: language, if the user asked for one (else settings)
n
draft / revise / show: which chapter or scene
note
revise: what to change

Charts

Files & knowledgeLive action

Draw a bar, line or donut chart of your tasks, the front desk’s sales, or figures another tool returned. Numbers are never invented.

“Show my tasks per week as a chart.”
chart
source
tasks | desk | custom
chart
bar (default) | line | donut
days
how far back (tasks/desk)
period
day | week (tasks/desk bucket)
title
the chart's title
unit
custom: the unit of the values
labels
custom: labels separated by semicolons
values
custom: numbers, one per label, separated by semicolons (1,200 is one number)

Connected knowledge

Files & knowledgeLive action

Explore stored entities and their relationships.

“What do you know about Project Phoenix?”
knowledge_graph
action
ask (default: one question, every source) | about (one entity's graph) | map (open the memory map on the HUD, optionally centred: 'show my finance map', 'map of Nasir' -> focus) | people | projects | status | rebuild
question
With ask: the user's question in their own words.
focus
With map: the person, vault, project or topic to centre on.
name
Who or what to describe, for action=about

File processing

Files & knowledgeLive action

Extract, transform or inspect supported documents, images, data, audio and video.

“Extract text from this PDF.”
file_processor
file_path
Full path to the uploaded file, or a file name as the user said it (found in the workspace, then Desktop, Downloads, Documents). Leave empty to use the currently uploaded file. Results are saved in the workspace's outputs folder.
action · required
What to do with the file. Examples by type: image: describe | ocr | resize | compress | convert | info pdf: summarize | extract_text | to_word | info docx/txt: summarize | fix | reformat | translate_hint | word_count | to_bullet csv/excel: analyze | stats | filter | sort | convert | info json: validate | format | analyze | to_csv code: explain | review | fix | optimize | run | document | test audio: transcribe | trim | convert | info video: trim | extract_audio | extract_frame | compress | transcribe | info | convert archive: list | extract pptx: summarize | extract_text | analyze
instruction
Free-form instruction if action doesn't cover it. E.g. 'translate this to Turkish', 'find all email addresses'
format
Target format for conversion. E.g. 'mp3', 'pdf', 'csv', 'png'
width
Target width for image resize
height
Target height for image resize
scale
Scale factor for image resize (e.g. 0.5)
quality
Quality 1-100 for image/video compress
start
Start time for trim: seconds or HH:MM:SS
end
End time for trim: seconds or HH:MM:SS
timestamp
Timestamp for video frame extraction HH:MM:SS
column
Column name for CSV filter/sort
value
Filter value for CSV filter
condition
Filter condition: equals|contains|gt|lt
ascending
Sort order for CSV sort (default: true)
save
Save result to file (default: true)
destination
Output folder for archive extract

Files & documents

Files & knowledgeLive action

Create documents, organize files and manage paths, with checks for modifying operations.

“Create a resume from my details and save it as a Word document.”
file_controller
action · required
list | create_file | create_document | create_folder | delete | move | copy | rename | read | write | find | largest | disk_usage | organize_desktop | info
path
File/folder path or shortcut: desktop, downloads, documents, home, workspace, or a workspace folder (inbox, projects, office, reports, writing, outputs, media, screenshots, code, backups, exports). Leave empty to create in the workspace (writing folder)
destination
Destination path for move/copy
new_name
New name for rename
content
Content for create_file/write
title
Optional document title for create_document
name
File name to search for
extension
File extension to search (e.g. .pdf)
count
Number of results for largest

Info terminal

Files & knowledgeLive action

Shows long things whole on the screen and files them: a story, an article, a speech, original lyrics at the length you ask, a sourced research report, or text you give it. It can read a long text aloud in parts.

“Write me a 2000-word story about a lighthouse.”
info_screen
action · required
write | research | show | read | next | back | part | open | list | status
kind
write: story | article | essay | speech | lyrics | poem | text
topic
write/research: what it is about, as the user said it
words
write/research: the length asked, in words (default by kind)
title
optional title
text
show: the full text exactly as given
note
write: style, tone, point of view, anything else the user asked
language
only if the user asked for a language; else settings
n
part: which part to read

Knowledge library

Files & knowledgeLive action

Index selected text, documents or URLs and retrieve relevant knowledge.

“Index this document in my knowledge base.”
knowledge_base
action · required
learn | search | ingest_file | ingest_url | list | delete | export | open
text
learn: the concept, fact, rule or SOP to store (only learn stores anything)
title
Optional title or headline for the knowledge entry
category
Category domain: Tech & Code | Projects | SOPs & Guides | Personal | Finance | Research | General
file_path
Absolute or relative path of the document/file to ingest (PDF, DOCX, TXT, MD, Py, etc.)
url
Web URL to scrape and index into the knowledge base
query
search: what to look for (every category unless one is given); delete: the entry's exact title or ID

Life spheres vault

Files & knowledgeLive action

Passphrase-locked vaults for people, rules, bills, notes and decisions in each area of life, with optional voice locks and advice.

“What bills are still unpaid?”
life_spheres
action · required
unlock | lock | set_passkey | change_passkey | reset_passkey | vault_status | advice | remember_character | remember_scenario | add_rule | create_sphere | rename_sphere | edit_sphere | delete_sphere | list_spheres | sphere_summary | add_record | records | find | total | mark_paid | delete_record | set_lock | unlock_voice | lock_sphere
passkey
Verbal passphrase for unlocking or setting the security vault (the NEW one for change_passkey).
current_passkey
change_passkey: the passphrase in use now.
sphere
Target sphere, by name or alias. Existing: 'MyFamily', 'MyRelatives', 'MyOffice', 'MyProject Zairo', 'Personal'.
query
advice: the situation or question; find / mark_paid: what to look for.
record_type
With add_record / records: bill | note | person | decision | file | other.
title
add_record: the payee or the note's headline; remember_scenario: its title.
amount
With add_record for a bill: the amount as a number (12400, not '12,400 rupees').
currency
With add_record: PKR, USD... only when the user said one.
due
With add_record for a bill: the due date as YYYY-MM-DD (or YYYY-MM-DD HH:MM), worked out from today's date.
text
With add_record: the body of a note / decision, in the user's words.
record_id
With mark_paid / delete_record: the id shown in a records or find result.
unpaid
With records / total: only bills not yet paid (default true for total).
mode
With set_lock: session | voice | both.
timeout_secs
With set_lock: seconds the vault stays open after a voice unlock; 0 = the session's own window.
name
Name or alias of the character/person to remember; with create_sphere / rename_sphere the sphere's name (the NEW name for a rename).
role
Role, title, or relationship (e.g. 'VP of Engineering', 'Eldest Aunt', 'Lead Architect').
traits
Comma-separated personality traits (e.g. 'data-driven, defensive under pressure, risk-averse').
style
Preferred communication style (e.g. 'direct bullet points, needs numbers first').
triggers
Known emotional triggers to avoid (e.g. 'being surprised in meetings, feeling undermined in public').
leverage
What motivates or reassures them (e.g. 'public recognition, concrete mitigation plans').
situation
Detailed description of the realistic situation or dynamics.
rule
Guiding heuristic or unwritten rule for the sphere.
notes
Additional background notes or context.

Project document vault

Files & knowledgeLive action

Organize project documents, ask cross-document questions and prepare deliverables.

“Compare the requirements across this project's documents.”
doc_project_vault
action · required
create | add | file | ask | report | status | links | list | move | remove | export | inbox
topic
The project name (only needed to create/open one or when several exist)
file_path
add/file: path of a document, or (add) of a folder whose documents are all read
doc_role
add (optional): SRS | BRD | FRD | User stories | Meeting minutes (MoM) | Bid / Tender / RFP | Design / Architecture | Test plan / QA | SOP / Manual | Contract / SLA | Data / Schema | Audit report | Cyber security report
question
ask: the question exactly as the user put it; report: what the report should focus on
file_name
remove/move/report: the document meant
to
move: the project to move the document into
caption
file: the message or caption that came with the document, if any
inbox_action
inbox: add | remove | scan | status | trust
folder
inbox add/remove: the shared folder to watch or stop watching
channel
inbox trust: the messaging channel (telegram | whatsapp | messenger | instagram)
sender
inbox trust: the sender id or number whose attachments are filed
deliverable_type
export: what to call the brief (e.g. 'Project brief', 'Requirements summary')
format_type
File format to write/export: docx | pdf | xlsx | csv | md
notes
Optional notes or meeting context

Recall stored facts

Files & knowledgeLive action

Retrieve stored facts about a person, preference or project.

“What do you remember about my projects?”
recall_memory
query
—
category
—
key
—
limit
—

Remember a preference

Files & knowledgeLive action

Save a named fact or preference in a memory category.

“Remember that I prefer short summaries.”
save_memory
category · required
identity — name, age, birthday, city, job, language, nationality | preferences — favorite food/color/music/film/game/sport, hobbies | projects — active projects, goals, things being built | relationships — friends, family, partner, colleagues | wishes — future plans, things to buy, travel dreams | notes — habits, schedule, anything else worth remembering
key · required
Short snake_case key (e.g. name, favorite_food, sister_name)
value · required
Concise value in English (e.g. Fatih, pizza, older sister)

Workspace

Files & knowledgeLive action

One root folder for every file Xiro reads or writes: where things are, find a file, recent files, move the workspace.

“Where do you keep my files?”
workspace
action · required
where | open | find | recent | move | reset | scan
folder
open/recent: inbox | projects | office | reports | writing | outputs | media | screenshots | code | backups | exports
name
find: the file name or part of it, as the user said it
path
move: the full path of the new workspace folder, e.g. D:\Xiro
limit
recent: how many files (default 10)

Finance and investment guide

Planning & learningLive action

Health checks, allocation, goal and loan maths, holdings reviews and sourced rate research.

“How much should I save each month for university in 12 years?”
finance_advisor
action · required
health (default) | profile | set | clear | allocate | goal | calc | review | research
field
For set: income | expenses | savings | emergency_fund | debt | debt_payment | debt_rate | risk | horizon_years | goals | currency | country | shariah | dependents | age
value
For set: the value, e.g. '2 lakh', 'growth', 'yes'
kind
For calc: loan | sip (monthly saving) | compound | inflation | real | retirement
amount
Amount in the user's words, e.g. '50 lakh', '25000'
rate
Yearly rate, e.g. '14%'. Leave empty to use stated assumptions
inflation
Yearly inflation if the user gives one
years
Years, e.g. '12'
have
For goal/retirement: amount already saved for it
goal
For goal: its name, e.g. 'university', 'Hajj', 'house'
risk
conservative | balanced | growth (defaults to the profile)
holdings
For review: holdings as percentages, 'stocks 60%, gold 20%, savings 20%'
question
For research: the user's question in their words

Health & fitness records

Planning & learningLive action

Keep your test results, vitals and fitness records on your computer, see trends, import a report, and get advice based on your own numbers. It is not a doctor and does not diagnose.

“Save my HbA1c result: 7.2, the report range is 4 to 5.6.”
health_doctor
action
add|list|profile|trend|advise|import|delete
kind
lab|vital|fitness|note|appointment
name
—
value
—
unit
—
ref_low
—
ref_high
—
date
YYYY-MM-DD
next_due
—
note
—
question
—
file_path
—
id
—
language
—
age
—
sex
—
conditions
—
medications
—
allergies
—
goals
—

Interpreter

Planning & learningLive action

A live two-way interpreter: two people who share no language each speak their own, and Xiro says it again in the other's, both ways.

“Be our translator, Urdu and Chinese.”
interpreter
action · required
start | talk | default | command | switch | swap | stop | passphrase | status
language
talk: the language to talk with the user in
vault_secret
start/talk: the user's vault passphrase, exactly as they said it
a
start/switch: the first person's language (default: the user's own)
b
start/switch: the other person's language
text
command: the exact words heard, passphrase included
passphrase
start/passphrase: the words that address Xiro while interpreting

Language tutor

Planning & learningLive action

A spoken course for any language pair: a short level check, then daily lessons with review, repeat-after-me, role-play and corrections you say back.

“I want to learn to speak Spanish.”
language_tutor
action · required
start | lesson | answer | skip | again | stop | talk | review | correct | progress | method | level_check | add | settings | courses
text
answer/correct/add: the learner's exact words
target
the language to learn, e.g. English
native
start: the learner's own language, if not the assistant's first language
goal
start/settings: what for - job interviews, travel, school, business
minutes
minutes a day (default 15)
topic
talk: the role-play scenario

Mind Forge cards

Planning & learningLive action

Short learning cards in your chosen languages and topics, with recall checks, book parts and monthly progress.

“Next card.”
mind_forge
action · required
next | show | dismiss | remember | applied | later | status | make | answer | reveal | book_part | book_status | remove_book | pause | resume | progress | monthly | task
track
For action='next', an optional topic to draw from: strong_mind | psychology | manipulation_proof | influence | difficult_people | friendship | political_mind | top_management | family_life | business | startups | private_plans | others_mistakes | books
note
For action='applied', what the user actually did.
answer
For action='answer', the user's spoken recall answer, word for word, in whatever language they used.
title
For action='remove_book', the book's title if the user named one.

My tasks

Planning & learningLive action

Your own task list with a kanban board: tags, people involved, four priorities, due times, started and finished times, snoozes, suggestions and reports for any period.

“Add a task for Ahmed: send the quarterly report by Friday, it's important, tag it work.”
my_tasks
action · required
add | today | list | done | reopen | cancel | update | snooze | suggest | report | start | block
tags
comma-separated English tags, e.g. work, home
people
comma-separated people involved
title
For add or update: the task in precise English, imperative, e.g. 'Send the Q3 sales report to Ahmed'
said
The user's own words, in Urdu as spoken
priority
urgent | high | normal | low
date
Due day: YYYY-MM-DD, today, tomorrow, a weekday, next monday, this weekend, end of week, end of month
time
Due time, e.g. 17:00 or 5 pm
when
Relative due, e.g. 'in 2 hours', 'in 3 days'
notes
Extra detail in English, if any
task
Which task: its id, or a few English words from its title
period
For report: the period, e.g. 'last week'
minutes
For snooze: how many minutes

Personal mentor

Planning & learningLive action

Explore lessons, perspectives and guidance around a topic or situation.

“Give me a sourced lesson about resilience.”
mentor
action · required
lesson (default) | story | lesson_learned | quote | book | idea | daily | library | recommend | reimport_library | tone (value: humorous | balanced | serious) | challenge | profile | add | remove | topics | next | snooze (rest a subject: topic + optional days) | unsnooze | proactive_on | proactive_off | saying | sayings | curriculum | decision | office | privacy | influence_defense | owner_investor | investor_rule | investor_rules | gold | real_estate | stocks | forex | startups | world_class_ideas | investor_psychology | deal_check | mission | emotional_intelligence | human_psychology | hardtime_story | career_growth | executive_trust | performance_review | high_leverage | reputation | relationship_building | team_building | stress_control | leadership | ethical_influence
situation
The user's own description of what they are facing, for any clinic action, e.g. 'my manager keeps reassigning my work'
tier
For library / recommend: only books of this priority tier - CORE, STRONG or REFERENCE
person
For action='saying': which of the Fourteen Masumeen (A.S.), e.g. 'Imam Ali', 'Lady Fatimah'
topic
ONLY what the user named in this request, verbatim. Leave it EMPTY for 'teach me something', a daily lesson, or an idle-time offer: the mentor rotates through the whole profile itself, and a topic you supply overrides that rotation and repeats the same subject. For snooze, the subject to rest.
field
For action=add/remove: which list to edit - books | authors | fields | topics | interests | avoid
value
For action=add/remove: the entry itself, e.g. 'Naval Ravikant', 'negotiation', or 'Atomic Habits by James Clear'. For proactive_on: minutes between stories. For tone: humorous, balanced or serious

Product studio

Planning & learningLive action

A product journey with milestones, and brainstorming, positioning, marketing and launch sessions.

“Let's plan the launch of SmartKhata.”
product_studio
action · required
status (default) | start | list | use | update | note | next | done | brainstorm | validate | position | pricing | marketing | launch | innovation | win_win | retro | research
name
The product's name (defaults to the active one)
idea
For start/update: what it is, in the user's words
audience
For start/update: who it is for
technique
For brainstorm: scamper | jtbd | blue_ocean | reverse | first_principles | crazy8
milestone
For done: which milestone, in the user's words (empty = the next one)
question
For research: what to find out
value
For note: the note

Reminders

Planning & learningLive action

Create and manage reminders; a reminder that goes off, or was missed, repeats until you say OK.

“Remind me to stretch in 20 minutes.”
reminder
action · required
set | list | cancel | snooze | acknowledge (default: set)
date
YYYY-MM-DD, or today, tomorrow, a weekday, next monday
time
Time in HH:MM format (24h)
when
Natural phrase, e.g. 'in 20 minutes', 'tomorrow at 9am'
message
Reminder message text
repeat
once | hourly | daily | weekdays | weekly | monthly | yearly (default: once)
target
For cancel/snooze/acknowledge: the reminder's subject, or 'all'
minutes
For snooze: how many minutes to postpone

Step-by-step walkthroughs

Planning & learningLive action

Be guided through a new feature one step at a time, by voice or on screen.

“Guide me through the microphone setup.”
walkthrough
action · required
start | next | back | repeat | resume (continue after a break) | step | status | stop | list
topic
For start: what to be guided through, in the user's words or an id (microphone, passkey, backup, finance, product, rapid_fire, speed, network, screens)
number
For step: which step to jump to

Study & practice

Planning & learningLive action

Build study plans, lessons, quizzes, flashcards and interview practice.

“Create a six-week study plan for my exam.”
study_coach
action · required
plan | plans | show_plan | delete_plan | teach | quiz | answer | quiz_stop | flashcards | interview | progress | viva | viva_end | drill | revise | explain_screen | follow_screen | stop_following_screen
goal
What they are preparing for, e.g. 'CS finals semester 5', 'AWS Solutions Architect Associate', 'React frontend interview', 'IELTS Academic'
track
exam | certification | interview | skill (inferred if omitted)
topic
Subject to teach, quiz, or make flashcards on, e.g. 'photosynthesis', 'Mughal history', 'Python decorators'
text
The user's verbatim words — REQUIRED for action='answer' (quiz reply/lifeline/quit) and for an interview answer
level
beginner | intermediate | advanced, or quiz difficulty: easy | medium | hard | expert
language
Language of instruction (to learn a language itself, use language_tutor)
role
Job role for action='interview', e.g. 'Senior Python Backend Engineer'
seconds
Seconds allowed per question for action='drill' (default 30)
deadline
Target date or timeframe, e.g. '2026-11-20' or 'in 6 weeks'
count
Number of quiz questions (3-15, default 10) or flashcards (default 12)
hours_per_day
Study hours available per day (default 2)
replace
quiz/drill only: true replaces a quiz that was just started and is unanswered - only when the user plainly asked for a different subject. Call quiz once per request.

Task control

Planning & learningLive action

See what XIRO is doing in the background, and stop or replace it. Messages that take a while run as background jobs, so you can keep talking.

“What are you doing right now? Stop the WhatsApp message to Ahmed.”
task_control
action
list (default) | stop
target
job number, tool name, a word from the task, or 'all'

Urdu poetry

Planning & learningLive action

Poetry Mode: Xiro talks in Urdu and brings in an authentic sher that fits your mood, recited with its pauses.

“Mohsin Naqvi ka koi sher sunao.”
poetry
action · required
on | off | status | find | recite | prefer | poets | books | import | stats
query
find/recite: the mood and topic in the user's words
theme
find/recite/prefer: love, separation, hope, injustice...
mood
find/recite: melancholic, romantic, hopeful, defiant, playful
poet
find/recite/prefer/books/import: a poet's name
era
find/recite/prefer: classical, progressive, modern
form
find/recite/prefer: ghazal or nazm
book
find/import: the collection's name
path
import: the poetry file (.txt, .md, .docx, .pdf)
count
find: how many shers (default 3, at most 5)

Detective board

ResearchLive action

An investigation board per case: questions, clues, proof, people and media strung together, with suggested links.

“Open the board for the warehouse case.”
detective_board
action · required
open | new | list | switch | add | link | unlink | update | remove | mastermind | find_links | read | suspects | arrange | status | close | remove_case | describe
description
describe/new: what the case is about
target
describe/new: what or who the case is after
goal
describe/new: a goal to add, e.g. 'name who cut the CCTV'
goal_done
describe: the goal that is met, by number or words
case
the case's title (new: the title to give it); omitted means the open case
kind
add/update: question | doubt | clue | proof | person | suspect | witness | victim | place | event | note
title
add/update: the card's title, short
text
add/update: details, a statement, where it came from
item
update/remove/mastermind: the card, e.g. 'clue 3' or words from its title
a
link/unlink: the first card
b
link/unlink: the second card
relation
link: related | supports | contradicts | leads_to | knows | alibi
label
link: what connects them, in a few words
state
add/update: open | answered | dismissed (questions, doubts); unverified | verified | disputed (proof)
role
add/update a person: suspect | witness | victim | ally | unknown
when
add/update: date and time, e.g. '2026-10-02 21:30', for the timeline
mode
arrange: kind | timeline | web | grid
status
status: open | solved | cold
focus
find_links: what to look at especially

Everyday utilities

ResearchLive action

Use supported utilities such as QR generation, network checks, quick lookups, dice and coin tosses.

“Create a QR code for this website.”
quick_tools
action · required
qr_code | internet_speed | ip_address | my_location | phone_lookup | wikipedia | joke | dice | coin | pick | random | password | convert | maps | time
text
qr_code: the link or text to encode
query
wikipedia: the topic to summarise
number
phone_lookup: the number, with country code
lines
wikipedia: how many sentences (default 5)
filename
qr_code: optional image name
open
qr_code: show the image afterwards (default true)
sides
dice: faces per die (default 6, e.g. 20 for a d20)
count
dice: how many dice (default 1, max 20); password style=words: how many words
options
pick: the choices, comma separated
min
random: lowest number (default 1)
max
random: highest number (default 100)
length
password: characters (default 20, 8-128)
style
password: 'words' for a passphrase; omit for characters
value
convert: the amount to convert
from
convert: unit or currency code (km, lb, C, USD); maps: the start
to
convert: target unit or currency; maps: the destination

Flight discovery

ResearchLive action

Look for flights using route, dates, passengers and cabin preferences.

“Find flights from Karachi to Dubai on [date].”
flight_finder
origin · required
Departure city or airport code
destination · required
Arrival city or airport code
date · required
Departure date (any format)
return_date
Return date for round trips
passengers
Number of passengers (default: 1)
cabin
economy | premium | business | first
save
Save results to Notepad

Markets

ResearchLive action

Price, day’s move, chart and indicators for currencies, metals, oil, indices, crypto and listed companies. Information only, never buy or sell advice.

“What is gold doing today?”
markets
action · required
show (default) | overview | add | remove
query
the instrument as the user said it: gold, crude, euro dollar, usd pkr, Apple, TSLA
range
chart range: 1mo | 3mo | 6mo (default) | 1y | 5y

Newsroom investigation

ResearchLive action

Plan the questions, search and read the sources, cross-check the findings and file a report with numbered citations and what is still disputed.

“Investigate how home battery prices changed this year.”
newsroom
question · required
what to investigate, as the user put it
recency
e.g. '7 days' when only recent coverage matters

Topic monitoring

ResearchLive action

Manage research topics for supported monitoring workflows.

“Monitor new developments in space exploration.”
manage_monitor
action · required
add | remove | list
topic
Topic to monitor or stop monitoring (e.g. 'space exploration', 'AI news')

Trend watch

ResearchLive action

Follow your own topics and hear what is new since the last run; schedule it for a regular time if you like.

“What’s new on my topics?”
trend_watch
action · required
run | add | remove | list | schedule | unschedule | status
topic
add/remove: the topic; run: one topic only
when
schedule: the spoken time
window
run: how far back, 1d (default) or 7d

Trip planner

ResearchLive action

A day-by-day itinerary card with stays, a budget estimate, packing, flight and hotel links, and the forecast when the dates are near.

“Plan me four days in Istanbul.”
trip
destination
where to, if named
origin
leaving from
days
how many days (default 4)
start
first day, YYYY-MM-DD, if known
travellers
how many people
budget
as the user said it
preferences
warm, cheap, food, history, kids…
surprise
pick the destination and keep it a surprise

Weather outlook

ResearchLive action

Get a weather report for a location and supported time period.

“What is the weather in Karachi tomorrow?”
weather_report
city · required
City name, e.g. 'Karachi' or 'London'
time
When: 'today' (default), 'tomorrow', 'this week'
show_browser
Also open a browser with the full forecast. Default false - only set true if the user asks to see it.

Web crawler

ResearchLive action

Collect relevant pages with keywords, domain constraints and optional knowledge ingestion.

“Crawl documentation about Python async patterns.”
web_crawler
keywords · required
Primary search keywords or topic to search on Google/Web
target_keywords
Optional list of secondary target keywords/phrases to filter and extract inside crawled pages
max_crawl_urls
Number of matching URLs to crawl and parse (default: 4)
target_domains
Optional list of domains to restrict search to (e.g. ['wikipedia.org', 'arxiv.org', 'github.com'])
save_to_knowledge_base
Whether to index crawled pages into Cognitive Knowledge Base (default: false)
open_urls
Whether to open top matching web pages in the default browser (default: false)

World feed

ResearchLive action

Your chosen categories as a live feed in its own window; big stories as cards on the HUD, read aloud at the next pause.

“Add electric cars to my world feed.”
world_feed
action · required
open | latest | add | remove | categories | voice | status
category
latest/add/remove: the category name
keywords
add: optional search words, e.g. 'PSL OR Babar Azam'
mode
voice: big | hourly | all | off
count
latest: how many stories (default 5)

AI usage telemetry

Skills & modelsLive action

Inspect available model usage and quota information; coverage varies by provider.

“Show model usage and available quota information.”
ai_model_usage
action · required
summary (default text & HUD dossier) | open (visual modal dashboard) | verify (probe every key and model for real, measuring latency and reading the provider's own limits)
samples
verify only: requests per key/model to time, 1-5. The median is reported. Each sample spends one request of the quota being measured, so leave it at 1 unless the user wants a reliable latency figure.
model
Optional model ID to inspect (defaults to current active Gemini Live model)

Code assistant

Skills & modelsLive action

Explain, generate, inspect or run code through supported development operations.

“Explain this Python file.”
code_helper
action · required
write | edit | explain | run | build | optimize
description
What the code should do or what change to make
language
Programming language (default: python)
output_path
Where to save the file
file_path
Path to existing file for edit/explain/run/build
code
Raw code string for explain
args
CLI arguments for run/build, as one string, e.g. '--n 5 input.txt'
timeout
Execution timeout in seconds (default: 30)

Custom skill studio

Skills & modelsLive action

Create, list, test, inspect and remove custom skills.

“Test my custom skill.”
skill_manager
action · required
create | list | test | delete | open
skill_name
Unique snake_case function name (e.g. 'crypto_tracker', 'pdf_merger', 'qr_generator')
description
Detailed description of what the skill does and trigger conditions
instructions
Python logic or prompt instructions describing how the skill executes
code
Optional full Python implementation code for the plugin
test_parameters
JSON dictionary of parameters to pass when executing a test run
overwrite
create: replace an existing skill of the same name (only when the user agreed)

Model management

Skills & modelsLive action

Manage supported providers and local models, installation and model checks.

“Show my installed local models.”
model_manager
action · required
switch | list | refresh | check_local | pull | test | set_key | open
model
Model id or the name the way the user said it ('3.8 flash', 'pro', 'flash lite', 'native audio', 'llama3.1:8b'), or 'auto' with role='voice' to return to discovery
role
Which job to switch: 'text' (default: documents, agents, tools) or 'voice' (the Live model XIRO speaks through; reconnects the session)
provider
Provider: google | anthropic | openai | kimi | deepseek | groq | ollama
api_key
Provider API key value when saving credentials

Multi-step plans

Skills & modelsLive action

Carry out a goal that needs several tools in order, one step at a time.

“Find yesterday's spreadsheet, compare it with last week's and summarise what changed.”
plan_agent
action
run (default) | preview
goal · required
the whole objective, in the user's own words

Performance & failures

Skills & modelsLive action

Review tool performance, success rates, errors and latency over a time window.

“Which tools failed in the last 24 hours?”
performance
hours
Window in hours; 0 for all history (default 24)
limit
How many tools to list (default 12)

Project builder

Skills & modelsLive action

Turn a development brief into a project using the development agent.

“Build a Python project for tracking expenses.”
dev_agent
description · required
What the project should do
language
Programming language (default: python)
project_name
Optional project folder name
timeout
Run timeout in seconds (default: 30)

Skill store

Skills & modelsLive action

Browse and inspect skill packages, manage installations and check updates.

“List available skills and their required access.”
skill_store
action
list (default) | search | info | installed | install | remove | update | restore | create | repackage | contract
name
The skill's name
description
For action=create: what the new skill should do
author
For action=create: who is writing it

Interface & speaking

Voice & identityLive action

Open application panels and the memory map, steer the map’s views, and manage supported interface and silence controls.

“Open the model settings.”
interface_control
target
open_screen: what the user wants to do or see there, in their words, e.g. 'reset my verbal passkey', 'change my voice', 'API keys', 'backup'
minutes
silence_for: how many minutes to stay quiet
view
atlas: rings | circle | areas | links | timeline | orbit
layer
atlas: skills | memory | routines | applications | runs | all
area
atlas: an area of the memory map by name, or all
panels
atlas: show | hide the command-centre panels
focus
atlas: a name to find and fly to on the map
action · required
change_vault_passphrase | clear_chat | close_contacts | close_detective | close_flow | close_health | close_links | close_marketing | close_media | close_memory_map | close_menu | close_office | close_panel | close_settings | close_showcase | close_tasks | close_wa_business | close_whatsapp_link | close_workspace | fullscreen | hide_chat | list_screens | media_in_browser | mute_media | mute_mic | mute_output | next_media | open_assistant | open_backup | open_biometrics | open_contacts | open_detective | open_devices | open_flow | open_greeting | open_guide | open_health | open_knowledge | open_languages | open_links | open_logs | open_look | open_marketing | open_memory_map | open_menu | open_mic | open_models | open_notifications | open_office | open_parental | open_personality | open_plugins | open_preferences | open_screen | open_search | open_settings | open_showcase | open_skills | open_stored_memory | open_tasks | open_usage | open_vault | open_voice | open_wa_business | open_what_i_asked | open_whatsapp_link | open_workspace | pause_media | pop_in_media | pop_out_media | previous_media | reset_vault_passphrase | resume_media | show_chat | silence_for | speak_again | start_tour | stop_talking | sync | toggle_chat | unmute_mic | unmute_output | atlas

Personalize Xiro

Voice & identityLive action

Manage assistant identity, voices, language, interface preferences and supported settings.

“Switch to the Orbital HUD.”
self_config
action · required
get (report current settings) | set_hud | set_voice | set_theme | set_personality | set_verbosity | set_quality | set_name | set_title | set_language_mode | set_vision | set_expressive | set_tracking (the failed/partial instruction count on the HUD: value on|off) | set_dnd (do not disturb: value on|off, minutes for 'for 30 minutes') | set_speed (rapid|balanced) | set_noise (off|light|strong) | set_owner_voice (on|off) | set_smart_listening (on|off) | set_mic_strict (on|off) | set_live_caption (on|off) | calibrate_mic | reconnect | restart
value
The new value. set_hud: aurora | vortex | orbital | warp | astra | corelock | whisper (also accepts meridian). set_voice: Charon, Puck, Umbriel, Zubenelgenubi, Schedar, Algieba, Iapetus, Algenib (male); Aoede, Kore, Leda, Zephyr, Sulafat, Despina, Callirrhoe, Vindemiatrix, Achernar, Erinome (female); or just 'male'/'female'; or a flavour by name - voice flavours - male: 'Edmund', 'Marcus', 'Daniel', 'Arthur', 'Victor', 'Leo', 'Adrian', 'Cole'; female: 'Zara', 'Sophia', 'Maya', 'Mia', 'Amara', 'Layla', 'Nina', 'Clara', 'Helena', 'Vera'; robotic: 'Axiom', 'Titan', 'Steel', 'Ironclad', 'Vector', 'Nova' (also called android, android voice, armour, comms, iron, ironclad, jarvis, radio, robot, steel, steward ai, titan) - 'robot voice' / 'Jarvis voice' mean the robotic ones. set_verbosity: concise | balanced | comprehensive. set_personality: butler | professional | cyberpunk | friendly | sarcastic | tactical | triage | grandmaster | anchor | mastermind | mad_scientist | custom. sarcastic is also called 'original voice', 'original xiro', 'old voice', 'old style', 'first voice', 'v0', 'purani awaaz', 'purani aawaz', 'pehli awaaz', 'frank', 'frank voice', 'voice clone', 'wingman', 'witty', 'sarcastic and witty', 'teasing', 'teasing style', 'teasing tone', 'teasing voice'; triage is also called 'the doctor', 'emergency doctor', 'triage mode'; grandmaster is also called 'the chess player', 'chess mode', 'the strategist'; anchor is also called 'news anchor', 'newsreader', 'news mode'; mastermind is also called 'the mastermind', 'the villain', 'evil genius'; mad_scientist is also called 'mad scientist', 'the scientist', 'lab mode', 'the experimenter'; butler is also called 'british butler'; professional is also called 'executive advisor'; tactical is also called 'tactical command'; friendly is also called 'friendly companion'. set_quality: auto | performance | balanced | high. set_language_mode: auto_detect | strict_priority | bilingual. set_vision: off | window | screen | continuous | always (on_demand is what 'watch my screen' means). set_expressive: on (let the mood show) | off (an even tone). set_speed: rapid (answers sooner after you stop talking) | balanced (waits out long pauses mid-sentence). set_noise: off | light | strong (microphone noise cancellation). set_owner_voice: on | off (act only on the owner's enrolled voice, ignore others). set_smart_listening: on | off (outside a conversation, answer only speech that names XIRO or is a request; ignore people talking to each other and stray words). set_mic_strict: on | off (only the selected microphone, never another). set_live_caption: on | off (the user's words shown as they speak). calibrate_mic: no value (tune the mic to the room and the user's soft voice). set_theme: a colour name or hex.
gender
With set_voice: male or female
minutes
With set_dnd: how long, e.g. 30

Spoken passphrase

Voice & identityLive action

Protected actions - switching the PC off, deleting anything, passwords, bank details, family information - stay refused until you say the vault passphrase aloud. XIRO checks it, never repeats it, then carries out the one action you asked for.

“Shut the computer down.”
voice_passphrase
vault_secret · required
The passphrase exactly as the user said it.

Voice macros & automation

Voice & identityLive action

Save a named sequence of actions, learn one by watching you work, and run it by phrase or on a schedule.

“List my voice macros.”
voice_macros
action
run (default) | list | create | delete | from_history | schedule | unschedule | scheduled
name
The workflow's name or trigger phrase
steps
create only: ordered list of steps, each {"tool": "<tool name>", "args": {...}}
phrases
create only: comma-separated trigger phrases
count
from_history only: how many recent tool calls to turn into steps (default 10)
when
schedule only: said the way a person says it - 'every weekday at 8:30', 'every Friday at 5pm', 'every 30 minutes', 'every morning'
trigger
schedule only: an event topic to run on instead of a clock

Where you are

Voice & identityLive action

Works out your city, country and currency on its own, so the weather needs no city and the news is your country's. Pin either part by hand when the guess is wrong, or when you want your news from home while you are somewhere else.

“Set my city to Lahore.”
region_settings
action
What to do. Defaults to 'get'.
city
City to pin, e.g. 'Lahore'. Only for action='set'.
country
Country to pin, as a name or two-letter code, e.g. 'Pakistan' or 'PK'. Only for action='set'.
enabled
For action='auto': whether detection may run.

Draw in Paint

Media & devicesLive action

Draw anything you can describe: Xiro plans the strokes and the colours itself, then draws them in Paint.

“Open Paint and draw a peacock with its tail open.”
paint
action · required
draw (default) | open | canvas | clear | text | save | verify
subject
What to draw, in the user's own words - anything at all: 'a peacock', 'the Eiffel tower at sunset', 'a flowchart of our login flow', 'my cat wearing sunglasses'
color
Optional. Forces one colour for every stroke, as a name or #rrggbb. Omit it so each part is drawn in its own colour.
points
An exact path as space-separated x,y pairs in canvas space (0..1 on both axes), e.g. '0.2,0.8 0.5,0.2 0.8,0.8 0.2,0.8'. Only for geometry you have already worked out; for a subject, use 'subject' and let the drawing be planned.
text
Words to write on the canvas, for action='text'
speed
Drawing speed multiplier, default 1.0; higher is faster
clear_first
true wipes the canvas before drawing - for 'remove X and draw Y', 'draw again', 'start over'. Default false (adds to what is already there).
tool
Optional: 'brush' (default) or 'pencil' when the user names one

Game updates

Media & devicesLive action

Inspect and manage supported game platforms, updates and scheduled downloads.

“List installed Steam games.”
game_updater
action · required
update | install | list | download_status | schedule | cancel_schedule | schedule_status (default: update)
platform
steam | epic | both (default: both)
game_name
Game name (partial match supported)
app_id
Steam AppID for install (optional)
hour
Hour for scheduled update 0-23 (default: 3)
minute
Minute for scheduled update 0-59 (default: 0)
shutdown_when_done
Shut down PC when download finishes

Media library

Media & devicesLive action

Find or play supported local and online media; external access depends on the source.

“Play music from my local music folder.”
media_grabber
action · required
download_song (audio), download_video, instagram_profile, or play_local
query
Song/video title to find, or a track name to match locally
url
Direct YouTube link, if the user gave one
username
instagram_profile: the account handle
limit
instagram_profile: how many posts (default 12; 0 = all of them)
folder
play_local: folder to play from (defaults to the workspace's media/music folder)
shuffle
play_local: pick a random track
outside
play_local: use the desktop player instead of the stage

Recipe card

Media & devicesLive action

A recipe on the media stage: photo, ingredient checklist and numbered steps you move through by voice.

“How do I make shakshuka?”
recipe
action · required
show (default) | next_step | prev_step | step | close
dish
show: the dish, as the user named it
servings
show: how many people, if said
n
step: the step number to jump to

Screen recording

Media & devicesLive action

Record the screen with optional audio and supported duration controls.

“Record my screen with microphone audio.”
recorder
action · required
start_screen, stop_screen, start_voice, stop_voice, start_speaker, stop_speaker, pause, resume, screenshot, stop (everything), or status
filename
Optional name for the file
duration
Optional seconds after which it stops itself
with_speaker
Screen recording only: also record what the computer plays (default false)
monitor
Screen recording / screenshot: 1 = main screen, 2 = second screen, 0 = all screens
with_audio
Screen recording only: also record the microphone (default true)
fps
Screen recording only: frames per second, 1-30 (default 12)

Singing

Media & devicesLive action

XIRO sings in Urdu, voice alone and in tune: a lori, a ghazal, a geet, a Sufi kafi, poetry in tarannum, or a naat from words you give. It picks the mood and the raag, writes a tune for each line, then sings it.

“Faraz ki ghazal gao.”
sing
action · required
sing (default) | stop | music | styles
style
lori | ghazal | geet (song) | kafi (Sufi, also qawwali) | poetry (tarannum, nazm) | naat | hamd
query
sing: the mood or topic in the user's words
poet
sing: a poet's name, for ghazal or poetry
mood
sing: the emotion - love, sorrow, grief, separation, longing, peace, tenderness, devotion, mystic, joy, hope, courage, playful, nostalgia
song
sing: a particular song or poem the user named (title or first line, e.g. 'dil-e-nadan tujhe hua kya hai', 'Tum Hi Ho'). Always pass it when they name one; the tool says whether XIRO holds its words and what to do if not
text
sing: the lyrics the user gave, line breaks kept
own_lyrics
sing: lyrics you wrote yourself (lori, song or kafi), line breaks kept
tempo
music: pace factor, 1.0 normal, 0.8 slower, 1.2 faster

Smart home plugin

Media & devicesBackend tool

Control compatible devices, register cameras and manage supported motion alerts.

“Turn on the kitchen light.”
smart_home

No named parameters - just ask.

Smart watch plugin

Media & devicesBackend tool

Connect a compatible companion, inspect device-reported activity and send notifications.

“Show my watch battery and step count.”
smart_watch

No named parameters - just ask.

YouTube

Media & devicesLive action

Search and play videos on the media stage inside Xiro, or explore supported trending results.

“Play a video about Python decorators.”
youtube_video
action · required
play | summarize | get_info | trending (default: play)
query
Search query for play action
save
Save summary to Notepad (summarize only)
region
Country code for trending e.g. PK, US (default: the user's country)
url
Video URL for summarize or get_info; omit for the video on the stage
browser
play: open in the browser instead of on the stage

Assemble a team

Teams & officeLive action

Create a software, finance, sales or custom specialist team around a goal.

“Create a software team to review this project.”
team_orchestrator
team_type
Optional: 'software', 'bank' (or 'finance'), 'sales' (or 'marketing') - only staffs an empty floor
goal · required
Core mission, project goal, or problem statement for the team to solve
instructions
Specific user instructions, constraints, guidelines, or business rules for the team
members
Optional custom team members with names, specialties, and tasks (e.g. 'Alex: Architect, Sarah: Developer, Marcus: Risk Analyst')
project_name
Short name for the project (used for the folder and report file)
office_id
Which floor runs it (list_offices in office_manager); default the active one
output_dir
Folder the user named for the deliverables; default the office folder setting

Colleague routines

Teams & officeLive action

Give one colleague a standing job on a spoken cadence. It stays off until a sample run has been filed.

“Sarah, every Monday at 9am summarise the invoices folder.”
office_routine
action · required
add | sample | on | off | remove | list | run
member_name
The colleague, as the user named them
task
For add: the recurring task in full. For the others: a few words of it, to pick which routine
when
For add: the spoken cadence, e.g. 'every Monday at 9am', 'weekdays at 8:30', 'every day at 7pm'
routine_id
The id shown in list, when the user quotes it
office_id
Which floor; default the active one
output_dir
Folder for the drafts; default the office folder setting

Manage the office

Teams & officeLive action

Manage offices, rename members, assign tasks, let colleagues ask each other and hand work over with context, read the team board, move teammates and request reports.

“Show my team report.”
office_manager
action · required
status | list_offices | switch | add_office | edit_office | remove_office | add_member | edit_member | remove_member | rename_member | sources | assign_task | ask_colleague | handoff | review | standup | debrief | team_knowledge | note | templates | apply_template | move_member | member_report | team_report | profile | plan | assign_plan | equipment
office_id
Id of an existing office (use list_offices to see them; 'studio_floor' is the default one)
office_name
Office name when creating or renaming an office
style
Floor style for a new office: studio_floor | security_bunker | trading_floor | growth_hub | quantum_lab | executive_suite
floor_tag
Optional floor caption, e.g. 'FLOOR 7: CONTRACTS & COMPLIANCE'
accent
Optional accent colour for an office, e.g. '#00f0ff'
member_name
Name of the team member as heard (e.g. 'Ayesha Siddiqui', 'Hamza Qureshi'); for assign_task leave it empty when the user named nobody - the Chief of Staff chooses
milestone
assign_plan: the milestone to hand out, e.g. 'M2' (default: the next one with unassigned work)
new_name
New display name when action is rename_member
role
Role/designation (e.g. 'Lead Architect', 'Quant Lead')
specialty
Specialty or domain expertise
gender
m or f
task
The task to assign (assign_task, handoff). For add_member this is a standing responsibility, not work in progress
question
ask_colleague: what member_name asks; team_knowledge: what to look up on the team board
expert
ask_colleague: the colleague asked, as heard (optional - the best-placed colleague is chosen when empty)
to_member
handoff: the colleague who takes the task over, as heard
context
handoff: what the next person needs to know, in the user's words
text
note: what to tell the whole team
revise
review: the author files a version 2 when the reviewer says revise (default true)
template
apply_template: the industry team, e.g. clinic | law_firm | shop | agency | school (templates lists what is set up)
names
apply_template: optional comma-separated names for the new colleagues, in order
auto
review: on | off | status - review every filed draft automatically (a setting; off by default)
when
standup / debrief: a spoken time to schedule it ('every weekday at 9am'), or 'off' to cancel
responsibilities
A member's standing duties, e.g. 'medical advice for the team' (add_member / edit_member)
grounding
What this colleague can see live when spoken to: tasks | reminders | mentor | office | desk, or none (add_member / edit_member; action=sources lists them)
run
assign_task: actually execute it now (default true) or only queue it (false)
kind
assign_task: work (research/writing/analysis that files a report - default) | errand (a small physical thing on the office floor, done in under a minute, no report)
output_dir
Where the user said to save it: Desktop | Downloads | Documents | a full path; the office keeps its own copy and the result names the real path
priority
low | normal | high | critical
due
Optional human-readable due date or time
destination
desk | coffee | printer | gym | meeting | pingpong - for move_member, or where an errand takes them
duration_secs
Optional duration at a non-work location before returning
equipment
coffee | print | gym | meeting
project_name
edit_office: the floor's project title
goal
edit_office: the floor's project goal

Meeting intelligence

Teams & officeLive action

Listen to a live meeting and write the minutes, or turn a transcript or recording into decisions, action items, owners and deadlines.

“What was assigned to me in the last meeting?”
meeting
action · required
start | status | notes | ask | stop | cancel | recover | summarize | tasks | list | done | compare
project
start/stop/summarize: the project (vault) these minutes belong to
attendees
start: who is in the room, comma-separated, in the spellings to use
system_audio
start: also capture what the speakers play (online meetings); default from settings
text
summarize: the transcript itself
file
summarize: path to an audio file or a text transcript
title
summarize: what to call the meeting
query
ask/done/tasks: the question, task fragment, or person
owner
tasks: whose tasks to list

Meeting prep

Teams & officeLive action

Before a meeting: the last minutes, open action items, unanswered questions, who is in the room and a proposed agenda, with a short spoken briefing.

“Prep me for the design review.”
meeting_prep
subject
the meeting or project, as the user named it
people
attendees, comma separated, if named
minutes
how long the meeting is, for the agenda (default 30)

Office discussion

Teams & officeLive action

Put a question to the office floor: the manager picks each speaker, colleagues answer from their own work in their own voices, and minutes are filed.

“Ask the office whether we should launch in spring.”
office_meeting
action
preview | run (default)
question · required
the question for the room
people
who should be in the room, comma separated, if named
turns
at most this many lines, 2 to 10 (default 10)

Talk to a teammate

Teams & officeLive action

Address a named colleague, ask about their assignment and configure their own voice.

“Ask Kai how the code review is going.”
office_talk
action · required
talk (default) | open | roster | set_voice | clear
member
Who to speak to, by name, e.g. 'Ayesha Siddiqui' or 'Hamza'
message
What to say to them, in the user's own words
voice
For action='set_voice': a Live voice name, e.g. 'Leda'

Weekly review

Teams & officeLive action

Two colleagues talk through your week from the real task, mentor and office records. Preview it first; it is only scheduled if you turn it on.

“Play a preview of the weekly review.”
office_review
action · required
preview | run | schedule | unschedule | status
when
For schedule: a spoken time, e.g. 'every Sunday at 8pm'
office_id
Which floor holds it; default the active one
output_dir
Folder for the minutes; default the office folder setting
07 · QUESTIONS

Know what to expect.

Do I have to use these exact words?

No. The examples are there to get you started. Say it your own way, in your own language, and XIRO works out which action fits.

What is a "Backend tool"?

A real action that XIRO's other tools call on, rather than one the voice session picks directly. Whether it's reachable depends on the route a request takes.

Why did an action ask me first?

Because it changes something. Reading never asks, the first change of a kind asks once per session, and deleting asks every time. Press Ctrl + F to see any request that is waiting on you.

Can I add my own actions?

Yes. Ask XIRO to create a skill, then test it before you rely on it. Installing a skill asks every time, because it runs with your access. See the custom skill recipe.