MCP 서버

Xenition

com.xenition.api/xenition

이 MCP로 할 수 있는 일

Creates and manages documents, spreadsheets, presentations, apps, diagrams, media, automations, notes, tasks, and workspace knowledge.

add_event
Add a calendar event
Use this when the user wants to put a new event on their Xenition calendar (a meeting, call, deadline or reminder) with a start time. Returns the upcoming schedule. Do not use to change an existing event (use reschedule_event), and it cannot send invitations to anyone.
입력 스키마
{'type': 'object', 'required': ['title', 'start'], 'properties': {'end': {'type': 'string', 'description': 'optional end, same format as start'}, 'notes': {'type': 'string'}, 'start': {'type': 'string', 'description': 'start: YYYY-MM-DD for all-day, or YYYY-MM-DDTHH:MM for a timed event'}, 'title': {'type': 'string', 'description': 'the event title'}, 'location': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
add_ledger_entry
Add an invoice or bill
Use this when the user wants to record an invoice, bill or receipt in their Xenition ledger — vendor, amount, due date, optionally already paid. Returns the ledger's invoices. Do not use to pay, send or email an invoice; Xenition has no payment or messaging channel.
입력 스키마
{'type': 'object', 'required': ['vendor', 'amount'], 'properties': {'kind': {'type': 'string', 'description': 'invoice | receipt | credit_note (default invoice)'}, 'amount': {'type': 'number', 'description': 'the invoice total'}, 'vendor': {'type': 'string', 'description': 'the vendor / who the invoice is from'}, 'dueDate': {'type': 'string', 'description': 'YYYY-MM-DD'}, 'currency': {'type': 'string', 'description': 'currency code, default USD'}, 'markPaid': {'type': 'boolean', 'description': 'also mark it paid now'}, 'invoiceNumber': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
add_note
Add a note
Use this when the user wants to save something as a note in Xenition — an idea, a snippet, meeting jottings — with optional tags and notebook. Returns the saved note. For a long structured piece, use create_document instead.
입력 스키마
{'type': 'object', 'required': ['content'], 'properties': {'tags': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'title': {'type': 'string', 'description': 'the note title (optional)'}, 'content': {'type': 'string', 'description': 'the note body (markdown)'}, 'notebook': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifact'], 'properties': {'artifact': {'type': 'object', 'required': ['id', 'title', 'type', 'content', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'language': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}, 'totalChars': {'type': 'integer'}}, 'additionalProperties': False}}, 'additionalProperties': False}
add_rows
Add rows to a spreadsheet
Use this when the user wants to append rows of data to one of their existing Xenition spreadsheets. Returns the updated sheet. Do not use to create a new spreadsheet (use create_spreadsheet) or to answer questions about the data (use query_spreadsheet).
입력 스키마
{'type': 'object', 'required': ['rows'], 'properties': {'rows': {'type': ['null', 'array'], 'items': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'description': 'rows to append; each row is a list of cell values (strings)'}, 'sheet': {'type': 'string', 'description': 'which spreadsheet (name); defaults to the most recent'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifact'], 'properties': {'artifact': {'type': 'object', 'required': ['id', 'title', 'type', 'content', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'language': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}, 'totalChars': {'type': 'integer'}}, 'additionalProperties': False}}, 'additionalProperties': False}
add_task
Add a task
Use this when the user wants to add a task or card to one of their Xenition boards, optionally in a named column with a due date. Returns the updated board. To create a whole new board, use create_board.
입력 스키마
{'type': 'object', 'required': ['title'], 'properties': {'due': {'type': 'string', 'description': 'due date YYYY-MM-DD'}, 'board': {'type': 'string', 'description': 'which board (name); defaults to the most recent'}, 'title': {'type': 'string', 'description': 'the task title'}, 'column': {'type': 'string', 'description': 'which column (name); defaults to the first'}, 'assignToMe': {'type': 'boolean'}, 'description': {'type': 'string'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifact'], 'properties': {'artifact': {'type': 'object', 'required': ['id', 'title', 'type', 'content', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'language': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}, 'totalChars': {'type': 'integer'}}, 'additionalProperties': False}}, 'additionalProperties': False}
add_to_knowledge
Save to your knowledge
Use this when the user wants Xenition to remember material so it can answer from it later — pasted notes, a policy, an article, or a public web page link (e.g. 'save this pricing page so I can ask about it'). Saves it privately to their knowledge; ask_workspace and their agents then answer from it with sources. Text or a web page only; PDFs and Word files are uploaded in Xenition. Do not use to create a document (use the document tools) or to answer a question now (use ask_workspace).
입력 스키마
{'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'a public https web page to save instead of pasted text'}, 'text': {'type': 'string', 'description': 'the material itself, pasted — notes, a policy, an article. Give text OR url, not both'}, 'title': {'type': 'string', 'description': "a short name for it, e.g. 'Pricing policy 2026'; the page title is used for a link if omitted"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'chunks', 'result'], 'properties': {'title': {'type': 'string'}, 'chunks': {'type': 'integer'}, 'result': {'type': 'string'}, 'source': {'type': 'string'}}, 'additionalProperties': False}
approve_action
Approve a pending action
Approve a pending action awaiting the user's decision (from list_pending_approvals).
파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'the pending action id (from list_pending_approvals)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'additionalProperties': False}
app_status
Check an app build or deploy
Use this when the user asks how their app build or deploy is going, or whether it is live. Returns the build phase and file count while building, the finished app when built, and the live URLs once deployed. Needs the id returned by build_app.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['artifactId'], 'properties': {'artifactId': {'type': 'string', 'description': "the app's id from build_app (or search_artifacts)"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifactId', 'name', 'status'], 'properties': {'name': {'type': 'string'}, 'error': {'type': 'string'}, 'files': {'type': 'integer'}, 'phase': {'type': 'string'}, 'apiUrl': {'type': 'string'}, 'status': {'type': 'string'}, 'liveUrl': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'mobileUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
ask_workspace
Ask your workspace
Use this when the user asks a question about their own Xenition content — their documents, notes, files or saved knowledge. Answers only from that content, with sources cited. Do not use for general knowledge or anything outside their workspace.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['question'], 'properties': {'question': {'type': 'string', 'description': "the question to answer from the user's own Xenition documents and saved knowledge"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['question', 'answer', 'citations'], 'properties': {'answer': {'type': 'string'}, 'question': {'type': 'string'}, 'citations': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['n'], 'properties': {'n': {'type': 'integer'}, 'url': {'type': 'string'}, 'quote': {'type': 'string'}, 'title': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
build_app
Build an app
Use this when the user wants a working web (or mobile) app built for them — e.g. a booking site, a CRM, an internal tool. Generates the full app (screens, API and database) in their Xenition workspace. Takes a few minutes: returns the app's id right away; check progress with app_status, then publish it with deploy_app. The user can also open the link to watch it build. To only open the builder with an idea, use create_app.
입력 스키마
{'type': 'object', 'required': ['idea'], 'properties': {'idea': {'type': 'string', 'description': "what the app should do, in the user's words — e.g. 'a booking app for my yoga studio with classes, a timetable and member sign-up'"}, 'name': {'type': 'string', 'description': 'optional app name; the builder picks one from the idea otherwise'}, 'mobile': {'type': 'boolean', 'description': 'also generate a native mobile app (takes longer)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifactId', 'name', 'status'], 'properties': {'name': {'type': 'string'}, 'error': {'type': 'string'}, 'files': {'type': 'integer'}, 'phase': {'type': 'string'}, 'apiUrl': {'type': 'string'}, 'status': {'type': 'string'}, 'liveUrl': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'mobileUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
build_app_from_template
Start an app from a template
Use this when the user picks one of Xenition's app templates (from find_app_templates) and wants their own working copy. Copies the full template into their Xenition workspace and publishes it to a live URL; publishing takes a few minutes and app_status reports the links. To generate a new app from a description instead, use build_app.
외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['templateId'], 'properties': {'name': {'type': 'string', 'description': "optional name for the user's copy; defaults to the template's name"}, 'templateId': {'type': 'string', 'description': "the template id from find_app_templates, e.g. 'tpl-danceschool'"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifactId', 'name', 'status'], 'properties': {'name': {'type': 'string'}, 'error': {'type': 'string'}, 'files': {'type': 'integer'}, 'phase': {'type': 'string'}, 'apiUrl': {'type': 'string'}, 'status': {'type': 'string'}, 'liveUrl': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'mobileUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
check_3d_model
Check a 3D model's progress
Check the status of a 3D model started by create_3d_model. Returns whether it is still generating, completed (with the model), or failed. The inline preview calls this automatically; you can also call it if the user asks whether their model is ready.
입력 스키마
{'type': 'object', 'required': ['artifactId'], 'properties': {'jobId': {'type': 'string', 'description': 'the generation job id from create_3d_model'}, 'artifactId': {'type': 'string', 'description': 'the artifact id from create_3d_model'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['status'], 'properties': {'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'title': {'type': 'string'}, 'glbUrl': {'type': 'string'}, 'prompt': {'type': 'string'}, 'status': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'quality': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
check_agent_run
Check an agent run
Use this to check a background agent run started by run_agent, when the user asks whether it is done or what it found. Returns its status, the final answer when finished, and a link to view it in Xenition. An unknown id is reported as not found, not as still working.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['missionId'], 'properties': {'missionId': {'type': 'string', 'description': 'the job id returned by run_agent'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['status', 'done', 'failed', 'missionId'], 'properties': {'done': {'type': 'boolean'}, 'goal': {'type': 'string'}, 'agent': {'type': 'string'}, 'error': {'type': 'string'}, 'answer': {'type': 'string'}, 'failed': {'type': 'boolean'}, 'status': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'missionId': {'type': 'string'}}, 'additionalProperties': False}
complete_task
Complete a task
Use this when the user says a specific task is done and names it. Moves it to the board's done column and returns the updated board. If several tasks match or none is named, ask which one first.
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['title'], 'properties': {'board': {'type': 'string'}, 'title': {'type': 'string', 'description': 'the task to complete (matched by title)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifact'], 'properties': {'artifact': {'type': 'object', 'required': ['id', 'title', 'type', 'content', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'language': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}, 'totalChars': {'type': 'integer'}}, 'additionalProperties': False}}, 'additionalProperties': False}
create_3d_model
Create a 3D model
Generate a 3D model (glTF/GLB) in the user's Xenition workspace from a text prompt or a reference image. Starts generation and returns immediately; an interactive inline preview fills in as it renders (~30-60s, longer for 'realistic'), plus a link to open, edit, and export it (GLB/STL/OBJ) in Xenition. Use when the user asks for a 3D model, mesh, or asset. Best for a single object.
입력 스키마
{'type': 'object', 'required': ['prompt'], 'properties': {'title': {'type': 'string', 'description': 'optional title for the saved model; defaults to the prompt'}, 'prompt': {'type': 'string', 'description': "what the 3D model should be — a single object works best (e.g. 'a low-poly wooden sailboat')"}, 'quality': {'type': 'string', 'description': "'draft' (default, fast) or 'realistic' (higher fidelity, slower — a few minutes)"}, 'imageUrl': {'type': 'string', 'description': 'optional URL of a reference image to turn into 3D (image-to-3D); when set the prompt guides the conversion'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['status'], 'properties': {'error': {'type': 'string'}, 'jobId': {'type': 'string'}, 'title': {'type': 'string'}, 'glbUrl': {'type': 'string'}, 'prompt': {'type': 'string'}, 'status': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'quality': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
create_app
Start an app in the builder
Use this when the user wants to open Xenition's no-code app builder themselves, pre-filled with their idea, to shape the app by hand. Returns the link. To have the app built for them from the conversation, use build_app instead.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['idea'], 'properties': {'idea': {'type': 'string', 'description': "a clear description of the app to build, distilled from the conversation (e.g. 'a task tracker with projects, due dates, and team assignments')"}, 'name': {'type': 'string', 'description': "a short app name (e.g. 'Task Tracker')"}, 'mobile': {'type': 'boolean', 'description': 'true to also target mobile (web + mobile), otherwise web only'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['idea', 'mobile', 'openUrl'], 'properties': {'idea': {'type': 'string'}, 'name': {'type': 'string'}, 'mobile': {'type': 'boolean'}, 'openUrl': {'type': 'string'}}, 'additionalProperties': False}
create_automation
Schedule an automation
Use this when the user wants something done for them on a schedule — every day, on certain weekdays, or every few hours — e.g. 'every Monday at 9, summarise my sales sheet'. Creates a Xenition automation that runs on its own at those times, even when nobody is in this chat. Results appear in Xenition, and anything that would act in a connected app waits for the user's approval. Do not use for a one-off task now (use run_agent).
입력 스키마
{'type': 'object', 'required': ['name', 'task', 'frequency'], 'properties': {'days': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': "for weekly: days like ['mon','thu']"}, 'name': {'type': 'string', 'description': "a short name, e.g. 'Monday sales summary'"}, 'task': {'type': 'string', 'description': "what the agent should do each time, in plain words — e.g. 'summarise last week's rows in my Sales sheet and draft an update'"}, 'time': {'type': 'string', 'description': "HH:MM, 24-hour, for daily and weekly — e.g. '09:00'"}, 'agent': {'type': 'string', 'description': 'optional agent slug from list_agents to run it; Xenition plans it otherwise'}, 'every': {'type': 'string', 'description': "for every: an interval like '30m' or '6h' (15 minutes minimum)"}, 'timezone': {'type': 'string', 'description': "IANA timezone for daily/weekly, e.g. 'Asia/Dhaka'; UTC if omitted"}, 'frequency': {'type': 'string', 'description': 'daily, weekly or every'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['id', 'name', 'schedule', 'when', 'enabled'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'when': {'type': 'string'}, 'enabled': {'type': 'boolean'}, 'openUrl': {'type': 'string'}, 'schedule': {'type': 'string'}}, 'additionalProperties': False}
create_board
Create a task board
Use this when the user wants a new Kanban board — columns and task cards — built from a brief, e.g. 'a board to plan our product launch'. Returns the board and a link to manage it. To add a single task to an existing board, use add_task.
입력 스키마
{'type': 'object', 'required': ['brief'], 'properties': {'brief': {'type': 'string', 'description': 'what to create — a topic, brief, or outline'}, 'title': {'type': 'string', 'description': 'optional title for the saved artifact'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifact'], 'properties': {'artifact': {'type': 'object', 'required': ['id', 'title', 'type', 'content', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'language': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}, 'totalChars': {'type': 'integer'}}, 'additionalProperties': False}}, 'additionalProperties': False}
create_diagram
Create a diagram
Use this when the user wants a diagram — flowchart, sequence, architecture, ER or mind map — created from a description. Returns the diagram and a link to open and edit it in Xenition.
입력 스키마
{'type': 'object', 'required': ['brief'], 'properties': {'brief': {'type': 'string', 'description': 'what to create — a topic, brief, or outline'}, 'title': {'type': 'string', 'description': 'optional title for the saved artifact'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifact'], 'properties': {'artifact': {'type': 'object', 'required': ['id', 'title', 'type', 'content', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'language': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}, 'totalChars': {'type': 'integer'}}, 'additionalProperties': False}}, 'additionalProperties': False}
create_document
Create a document
Use this when the user asks for a written piece — a report, article, letter, brief, essay or plan — to be created in their Xenition workspace. Returns the document and a link to open and edit it. For slides use create_slides; for a fill-in template such as an invoice or resume, use find_forms.
입력 스키마
{'type': 'object', 'required': ['brief'], 'properties': {'brief': {'type': 'string', 'description': 'what to create — a topic, brief, or outline'}, 'title': {'type': 'string', 'description': 'optional title for the saved artifact'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifact'], 'properties': {'artifact': {'type': 'object', 'required': ['id', 'title', 'type', 'content', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'language': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}, 'totalChars': {'type': 'integer'}}, 'additionalProperties': False}}, 'additionalProperties': False}
create_image
Create an image
Use this when the user wants an image made from a description — an illustration, photo-style picture, logo idea or background. Saves it to their Xenition library and returns the image link. To change an existing image, use edit_image.
입력 스키마
{'type': 'object', 'required': ['prompt'], 'properties': {'title': {'type': 'string', 'description': 'optional name for the saved image'}, 'prompt': {'type': 'string', 'description': "what the image should show, with style details — e.g. 'a watercolor of a lighthouse at dawn'"}, 'reference': {'type': 'string', 'description': 'optional https URL of an image to base it on'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'status'], 'properties': {'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'error': {'type': 'string'}, 'title': {'type': 'string'}, 'status': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
create_shared_form
Create a shareable form
Create a fillable form with a public link anyone can use to submit responses (like a Google Form) — for surveys, sign-ups, feedback, RSVPs. Returns the shareable link; responses collect in Xenition. Use when the user wants to gather input from other people.
외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['title', 'fields'], 'properties': {'title': {'type': 'string', 'description': "the form's title"}, 'fields': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['label'], 'properties': {'type': {'type': 'string', 'description': 'field type: text, textarea, select, multiselect, number, date, email, boolean (default text)'}, 'label': {'type': 'string', 'description': 'the question / field label'}, 'options': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'choices for select / multiselect'}, 'required': {'type': 'boolean'}}, 'additionalProperties': False}, 'description': 'the fields to collect'}, 'collectEmail': {'type': 'boolean', 'description': "require the respondent's email"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifactId', 'shareUrl', 'token'], 'properties': {'type': {'type': 'string'}, 'title': {'type': 'string'}, 'token': {'type': 'string'}, 'shareUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
create_slides
Create a slide deck
Create a polished, designed presentation deck in the user's Xenition workspace from a brief or topic. Returns the deck's slides (shown as an inline preview) plus a link to open and edit it in Xenition. Use when the user asks for slides, a deck, a presentation, or a pitch deck.
입력 스키마
{'type': 'object', 'required': ['brief'], 'properties': {'brief': {'type': 'string', 'description': "what the deck is about — a topic, brief, or outline (e.g. 'a 10-slide investor pitch for a solar-panel startup')"}, 'title': {'type': 'string', 'description': 'optional title for the saved deck; defaults to a title the engine chooses'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifactId', 'title', 'slideCount', 'theme', 'slides'], 'properties': {'theme': {'type': 'object', 'required': ['primary', 'accent', 'background', 'text'], 'properties': {'text': {'type': 'string'}, 'accent': {'type': 'string'}, 'primary': {'type': 'string'}, 'background': {'type': 'string'}}, 'additionalProperties': False}, 'title': {'type': 'string'}, 'slides': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'string'}, 'bullets': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'imageUrl': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'openUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}, 'slideCount': {'type': 'integer'}}, 'additionalProperties': False}
create_speech
Turn text into speech
Use this when the user wants text read aloud as an audio file — a voiceover, narration or spoken message. Returns an MP3 link and saves it to their Xenition library.
입력 스키마
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'the words to speak'}, 'title': {'type': 'string'}, 'voice': {'type': 'string', 'description': 'optional voice name'}, 'language': {'type': 'string', 'description': "optional language code, e.g. 'en', 'es', 'ja'"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'status'], 'properties': {'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'error': {'type': 'string'}, 'title': {'type': 'string'}, 'status': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
create_spreadsheet
Create a spreadsheet
Use this when the user wants a new spreadsheet or data table — a budget, tracker, schedule or list with formulas where useful — created in their Xenition workspace. Returns the sheet and a link to open it. To add rows to an existing sheet, use add_rows.
입력 스키마
{'type': 'object', 'required': ['brief'], 'properties': {'brief': {'type': 'string', 'description': 'what to create — a topic, brief, or outline'}, 'title': {'type': 'string', 'description': 'optional title for the saved artifact'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifact'], 'properties': {'artifact': {'type': 'object', 'required': ['id', 'title', 'type', 'content', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'language': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}, 'totalChars': {'type': 'integer'}}, 'additionalProperties': False}}, 'additionalProperties': False}
create_video
Create a video clip
Use this when the user wants a short AI video clip made from a description. Starts the video and returns its id right away; generating takes a few minutes, and video_status reports when it is ready with the file link. The clip is saved to their Xenition library.
입력 스키마
{'type': 'object', 'required': ['prompt'], 'properties': {'title': {'type': 'string'}, 'aspect': {'type': 'string', 'description': "'landscape' (16:9, default), 'portrait' (9:16) or 'square'"}, 'prompt': {'type': 'string', 'description': "what happens in the clip, with camera and style — e.g. 'slow drone shot over a misty pine forest at sunrise'"}, 'duration': {'type': 'integer', 'description': 'length in seconds (the model may cap it; short clips of 5–10 s work best)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'status'], 'properties': {'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'error': {'type': 'string'}, 'title': {'type': 'string'}, 'status': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
deny_action
Deny a pending action
Deny a pending action awaiting the user's decision (from list_pending_approvals).
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'the pending action id (from list_pending_approvals)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'additionalProperties': False}
deploy_app
Publish an app
Use this when the user wants their built Xenition app published to a live URL. Deploys the app from build_app (it must have finished building — check app_status) and returns right away; deploying takes a few minutes, and app_status reports the live URLs. Publishing makes the app reachable by anyone with the link, so only do it when the user asks.
외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['artifactId'], 'properties': {'artifactId': {'type': 'string', 'description': "the app's id from build_app (or search_artifacts)"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifactId', 'name', 'status'], 'properties': {'name': {'type': 'string'}, 'error': {'type': 'string'}, 'files': {'type': 'integer'}, 'phase': {'type': 'string'}, 'apiUrl': {'type': 'string'}, 'status': {'type': 'string'}, 'liveUrl': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'mobileUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
discover_search
Search public listings
Look up real, current information from open public sources: jobs, hospitals, clinics, pharmacies, banks, schools, universities, companies, government offices. Reads the sources live at the moment of asking rather than from a stored copy, so it is current. Place types (hospitals, schools, banks, pharmacies, clinics, government offices) REQUIRE `near`. Always tell the user which sources answered and when. Each result may carry `phone`, `website`, `address`, `lat`/`lng` and a `detail` map (salary, cuisine, opening hours). QUOTE THEM — a phone number or an apply link that came back and was not shown is the answer the user asked for, thrown away. Do NOT web-search for a detail that is already in the result. Where a field is genuinely absent, say so for that entry rather than searching again.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['type'], 'properties': {'lat': {'type': 'number', 'description': "latitude of the user, when the conversation states it — use with lng instead of guessing a place name for 'near me'"}, 'lng': {'type': 'number', 'description': 'longitude of the user, when the conversation states it'}, 'near': {'type': 'string', 'description': 'a place — a city, an address, a neighbourhood'}, 'type': {'type': 'string', 'description': 'which catalogue: jobs, hospitals, clinics, pharmacies, banks, schools, universities, companies, gov_offices, events, flights'}, 'query': {'type': 'string', 'description': 'what to look for — a job title, a company name, a university'}, 'radiusKm': {'type': 'integer', 'description': 'how far to look, in kilometres (default 5)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
discover_sources
List public listing sources
Say where a Discover answer comes from: which public sources would be asked for a data type, and under what licence. Use when the user asks how we know something, or whether the information can be trusted.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'description': 'which catalogue'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
edit_app
Change an app
Use this when the user wants to change an app they built in Xenition — add a feature, change a screen, restyle it, fix something — described in plain words. Rewrites the affected files and saves a new version of the app. If the app is already live, the change is not published until deploy_app is called again. The app must have finished building (check app_status).
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['artifactId', 'instruction'], 'properties': {'artifactId': {'type': 'string', 'description': "the app's id from build_app, build_app_from_template or search_artifacts"}, 'instruction': {'type': 'string', 'description': "the change in plain words — e.g. 'add a dark mode toggle', 'make the booking form ask for a phone number'"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifactId', 'name', 'status'], 'properties': {'name': {'type': 'string'}, 'error': {'type': 'string'}, 'files': {'type': 'integer'}, 'phase': {'type': 'string'}, 'apiUrl': {'type': 'string'}, 'status': {'type': 'string'}, 'liveUrl': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'mobileUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
edit_artifact
Edit a saved item
Use this when the user wants one of their existing Xenition items changed in place — rewrite, shorten, expand, change tone, fix grammar or translate. Saves a new version and returns it. Best for documents and notes. To only suggest changes without editing, use review_artifact.
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['artifactId', 'instruction'], 'properties': {'artifactId': {'type': 'string', 'description': 'the id of the artifact to edit (from search_artifacts / get_artifact)'}, 'instruction': {'type': 'string', 'description': "what to change, in plain language (e.g. 'make it shorter', 'translate to Spanish', 'more formal tone')"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifact'], 'properties': {'artifact': {'type': 'object', 'required': ['id', 'title', 'type', 'content', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'language': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}, 'totalChars': {'type': 'integer'}}, 'additionalProperties': False}}, 'additionalProperties': False}
edit_image
Edit an image
Use this when the user wants an existing image changed: edit it by instruction, upscale, remove the background, enhance, erase something, restyle, colorize, restore, expand the canvas, or make a variation. Saves the result as a new image in their Xenition library; the original is kept.
입력 스키마
{'type': 'object', 'required': ['image', 'operation'], 'properties': {'image': {'type': 'string', 'description': 'https URL of the image to edit (e.g. from create_image)'}, 'title': {'type': 'string'}, 'prompt': {'type': 'string', 'description': 'what to change, for edit / erase / stylize'}, 'operation': {'type': 'string', 'description': 'one of: edit, upscale, background-removal, enhance, erase, stylize, colorize, restore, expand, variation'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'status'], 'properties': {'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'error': {'type': 'string'}, 'title': {'type': 'string'}, 'status': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
edit_video
Edit a video
Use this when the user wants an existing video improved: burned-in captions, enhanced picture and sound, the background removed, or silences cut out (jump cut). Starts the edit and returns an id right away; video_status reports when the new video is ready. The original is kept; the result is saved to their Xenition library.
입력 스키마
{'type': 'object', 'required': ['video', 'operation'], 'properties': {'title': {'type': 'string'}, 'video': {'type': 'string', 'description': "https URL of the video to edit (e.g. from create_video or the user's library)"}, 'language': {'type': 'string', 'description': "for captions: the spoken language code, e.g. 'en'"}, 'operation': {'type': 'string', 'description': 'captions (burn in subtitles), enhance (clean up picture and sound), matte (remove the background) or jumpcut (cut out silences)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'status'], 'properties': {'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'error': {'type': 'string'}, 'title': {'type': 'string'}, 'status': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
export_pdf
Export a document as PDF
Use this when the user wants one of their Xenition documents as a PDF file — to download, print or attach. Returns a link to the PDF. Works for documents (reports, letters, articles); for slides, sheets or notes, open them in Xenition to export.
입력 스키마
{'type': 'object', 'required': ['artifactId'], 'properties': {'artifactId': {'type': 'string', 'description': "the document's id from search_artifacts or create_document"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifactId', 'title', 'url'], 'properties': {'url': {'type': 'string'}, 'title': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
extract_from_artifact
Extract details from a document
Use this when the user wants a specific kind of information pulled out of one of their Xenition documents as a list — names, dates, figures, action items, tasks. Answers only from that document. To ask a free question about it, use query_document.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['artifactId', 'what'], 'properties': {'what': {'type': 'string', 'description': "what to pull out, in plain language (e.g. 'all email addresses', 'the key dates', 'every action item')"}, 'artifactId': {'type': 'string', 'description': 'the artifact to extract from'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['heading', 'title', 'artifactId', 'body'], 'properties': {'body': {'type': 'string'}, 'title': {'type': 'string'}, 'formula': {'type': 'string'}, 'heading': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'question': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
find_app_templates
Find an app template
Use this when the user wants a ready-made app for a kind of business — a dance school, restaurant, clinic, store, CRM — to start from. Searches Xenition's ~200 full-stack templates (web app, API and database, each with a live demo) and returns matches with their demo links. To start the user's own copy, pass a template id to build_app_from_template.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'max results (default 6, max 12)'}, 'query': {'type': 'string', 'description': "what the app is for — e.g. 'dance school', 'restaurant', 'CRM', 'clinic booking'"}, 'category': {'type': 'string', 'description': "optional category, e.g. 'fitness-sports', 'food-drink', 'health-wellness'"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
find_forms
Find a document generator
Search Xenition's library of ready-made forms (invoice, resume, proposal, meeting agenda, job description, and ~200 more). Returns matching forms with their fields, shown as a fillable form the user can complete right here to generate a document. Use when the user wants to create a specific kind of document or fill out a form.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'description': 'max results to return (default 6)'}, 'query': {'type': 'string', 'description': "what the user wants to make — e.g. 'invoice', 'resume', 'business proposal', 'meeting agenda'"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['forms'], 'properties': {'forms': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['id', 'title', 'description', 'category', 'submitLabel', 'sections'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'category': {'type': 'string'}, 'sections': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['fields'], 'properties': {'title': {'type': 'string'}, 'fields': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['name', 'label', 'type'], 'properties': {'help': {'type': 'string'}, 'name': {'type': 'string'}, 'rows': {'type': 'integer'}, 'type': {'type': 'string'}, 'label': {'type': 'string'}, 'fields': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['name', 'label', 'type'], 'properties': {'help': {'type': 'string'}, 'name': {'type': 'string'}, 'rows': {'type': 'integer'}, 'type': {'type': 'string'}, 'label': {'type': 'string'}, 'options': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'required': {'type': 'boolean'}, 'placeholder': {'type': 'string'}}, 'additionalProperties': False}}, 'options': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'required': {'type': 'boolean'}, 'itemLabel': {'type': 'string'}, 'placeholder': {'type': 'string'}}, 'additionalProperties': False}}, 'description': {'type': 'string'}}, 'additionalProperties': False}}, 'description': {'type': 'string'}, 'submitLabel': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
find_tools
Find a built-in tool
Use this when the user asks for a calculator, converter or generator (loan, currency, BMI, age, QR code and ~200 more) and you need the tool's id. Returns matching tools with links. To get an answer from the tool, pass its id to run_tool.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'description': 'max results to return (default 6)'}, 'query': {'type': 'string', 'description': "what the user wants — e.g. 'loan calculator', 'currency converter', 'BMI', 'qr code'"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['tools'], 'properties': {'tools': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['name', 'title', 'description', 'category'], 'properties': {'name': {'type': 'string'}, 'title': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'category': {'type': 'string'}, 'description': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
form_responses
Read form responses
Use this when the user wants to see what people submitted to a shareable form they made with create_shared_form — sign-ups, survey answers, RSVPs, feedback. Takes the form's link. Returns the responses, newest first, each with its answers and time. Only works for forms the user owns.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['form'], 'properties': {'form': {'type': 'string', 'description': "the form's share link (https://xenition.com/f/…) or its token, from create_shared_form"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
get_artifact
Open a saved item
Use this when the user wants to read or open one specific item — a document, deck, spreadsheet, note or other artifact — and you have its id (from search_artifacts or an earlier result). Returns its content. Very long items come back cut to the first part; use query_document or summarize_artifact to work with the whole thing. Do not use to find items; use search_artifacts.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'the artifact id, e.g. art_abc123'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifact'], 'properties': {'artifact': {'type': 'object', 'required': ['id', 'title', 'type', 'content', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'language': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}, 'totalChars': {'type': 'integer'}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_mission
Get an agent run
Use this when the user asks about one specific Xenition mission (a long-running multi-agent job) by id. Returns its status and results. To see all missions, use list_missions.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'the mission id (from list_missions)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'additionalProperties': False}
import_file
Import a file into your workspace
Use this when the user wants to bring a file's content into their Xenition workspace — e.g. they attached or pasted a document and want it saved. Pass UTF-8 text in textContent, or other content base64-encoded in base64Content, with contentMimeType. Saves it as an editable document that summarize_artifact, query_document, ask_workspace and edit_artifact can work on. Supports text, Markdown, CSV, JSON, HTML and PDF. To bring in a page from the web instead, use add_to_knowledge with its URL.
입력 스키마
{'type': 'object', 'required': ['title'], 'properties': {'title': {'type': 'string', 'description': "a title for the saved file, e.g. 'Q3 Board Notes'"}, 'textContent': {'type': 'string', 'description': "the file's UTF-8 text content. Use this for text, Markdown, CSV, JSON or HTML. Set either this or base64Content, not both."}, 'base64Content': {'type': 'string', 'description': "the file's content, base64-encoded. Use this for non-UTF-8 files such as a PDF. Set either this or textContent, not both."}, 'contentMimeType': {'type': 'string', 'description': "the MIME type of the content, e.g. 'text/markdown', 'text/csv', 'text/html', 'application/pdf'. Recommended so the content is handled correctly."}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'type', 'chars'], 'properties': {'type': {'type': 'string'}, 'chars': {'type': 'integer'}, 'title': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
list_agents
List your agents
Use this when the user asks what Xenition agents (named AI workers) they have, or before run_agent to pick the right one. Returns each agent with its name and what it does.
읽기 전용
입력 스키마
{'type': 'object', 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
list_automations
List automations
Use this when the user asks what automations they have, when they run, or whether one is paused. Returns each with its schedule, on/off state, last run and id.
읽기 전용
입력 스키마
{'type': 'object', 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
list_connected_apps
List connected apps
Use this when the user asks which third-party apps (Gmail, Slack, Notion, …) are connected to their Xenition account. Read-only; it cannot connect new apps or act in them.
읽기 전용
입력 스키마
{'type': 'object', 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
list_events
List calendar events
Use this when the user asks what is on their Xenition calendar for a range — today, this week, a date, or upcoming. Returns the events with times and links. For a combined view of today's events, tasks and approvals, use my_agenda.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'range': {'type': 'string', 'description': 'today | week | month | a YYYY-MM-DD date; default upcoming (next 30 days)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
list_missions
List agent runs
Use this when the user asks what missions (long-running multi-agent jobs) they have in Xenition and how they are going. Returns each with its status and id for get_mission.
읽기 전용
입력 스키마
{'type': 'object', 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
list_pending_approvals
List actions awaiting approval
List actions the user's assistant/agents are waiting on the user to approve (the 7A approval gate). Each item's id can be passed to approve_action or deny_action.
읽기 전용
입력 스키마
{'type': 'object', 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
list_tasks
List board tasks
Use this when the user asks what tasks are open on their Xenition boards — optionally one board, only theirs, or only overdue ones. Returns each task with its board, column, due date and link.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'mine': {'type': 'boolean', 'description': 'only tasks assigned to me'}, 'board': {'type': 'string', 'description': 'optional board name to scope to'}, 'overdue': {'type': 'boolean', 'description': 'only overdue tasks'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
mark_paid
Mark an invoice paid
Mark a specific invoice in the user's own Xenition ledger as paid. This changes financial records, so it is a confirmed, two-step action: first call it WITHOUT `confirmed` to preview exactly which invoice would change, relay that to the user, and only call again with `confirmed:true` after they explicitly agree. When the user asks to mark ALL/EVERY/multiple unpaid invoices paid, list the affected invoices and get the user's confirmation before marking any. Returns the ledger's invoices.
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['vendor'], 'properties': {'on': {'type': 'string', 'description': 'date paid YYYY-MM-DD (default today)'}, 'amount': {'type': 'number', 'description': 'amount paid (default the invoice total)'}, 'vendor': {'type': 'string', 'description': "the invoice's vendor (matched)"}, 'confirmed': {'type': 'boolean', 'description': 'set true ONLY after the user has explicitly confirmed this invoice should be marked paid; leave false/absent on the first attempt so they can review and confirm'}, 'invoiceNumber': {'type': 'string', 'description': 'the invoice number, if you know it'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
meeting_notes
Turn a meeting into notes
Turn a meeting or call transcript into clean notes, decisions, and action items (with owners and due dates), saved to the user's Xenition workspace. Use when the user pastes a transcript or asks to summarize a call into notes and tasks.
입력 스키마
{'type': 'object', 'required': ['transcript'], 'properties': {'notes': {'type': 'string', 'description': 'optional rough notes to clean up and anchor to the transcript'}, 'title': {'type': 'string', 'description': 'optional meeting title'}, 'transcript': {'type': 'string', 'description': 'the meeting/call transcript text (one line per utterance is ideal)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'decisions', 'actions', 'notes', 'artifactId'], 'properties': {'notes': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'title': {'type': 'string'}, 'actions': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['task'], 'properties': {'due': {'type': 'string'}, 'task': {'type': 'string'}, 'owner': {'type': 'string'}, 'quote': {'type': 'string'}}, 'additionalProperties': False}}, 'openUrl': {'type': 'string'}, 'decisions': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['decision'], 'properties': {'quote': {'type': 'string'}, 'decision': {'type': 'string'}}, 'additionalProperties': False}}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
move_task
Move a task
Use this when the user wants a specific task moved to another column on its board (e.g. to 'In progress'). Returns the updated board. Ask which task if the name is ambiguous.
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['title', 'toColumn'], 'properties': {'board': {'type': 'string'}, 'title': {'type': 'string', 'description': 'the task to move (matched by title)'}, 'toColumn': {'type': 'string', 'description': 'the destination column name'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifact'], 'properties': {'artifact': {'type': 'object', 'required': ['id', 'title', 'type', 'content', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'language': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}, 'totalChars': {'type': 'integer'}}, 'additionalProperties': False}}, 'additionalProperties': False}
my_agenda
Show my agenda
The user's day at a glance from Xenition: today's calendar events, tasks due today or overdue, and anything awaiting approval. Use ONLY when the user explicitly asks about their day, schedule, or agenda — e.g. 'what does my day look like', 'what's on my plate today'. Do NOT use it as a fallback for vague requests like 'just handle it' or 'take care of the rest' — for those, ask the user what they mean instead.
읽기 전용
입력 스키마
{'type': 'object', 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
publish_artifact
Publish a shareable link
Publish an existing Xenition artifact as a public, read-only link anyone can open without signing in. Returns the shareable URL. Use when the user wants to share a document, deck, sheet, board, or other artifact.
외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['artifactId'], 'properties': {'artifactId': {'type': 'string', 'description': 'the id of the artifact to publish (from search_artifacts, get_artifact, or a create_* tool)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifactId', 'shareUrl', 'token'], 'properties': {'type': {'type': 'string'}, 'title': {'type': 'string'}, 'token': {'type': 'string'}, 'shareUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
query_document
Ask about a document
Answer a question about, or find a specific thing inside, ONE of the user's Xenition documents (grounded only in that document). Use to look something up in a specific file the user names.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['artifactId', 'question'], 'properties': {'question': {'type': 'string', 'description': 'what to find or ask about the document, in plain language'}, 'artifactId': {'type': 'string', 'description': 'the document to search/answer from'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['heading', 'title', 'artifactId', 'body'], 'properties': {'body': {'type': 'string'}, 'title': {'type': 'string'}, 'formula': {'type': 'string'}, 'heading': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'question': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
query_ledger
Look up invoices and bills
List the user's own Xenition ledger invoices with paid/unpaid status. Optionally filter to a vendor or only unpaid ones. Use ONLY when the user is asking to see or total invoices already recorded in their Xenition ledger — e.g. 'what invoices are unpaid', 'how much do I owe vendor X'. Do NOT use it to send, text, email, or deliver an invoice to anyone (Xenition cannot send communications), and do NOT use it to look up invoices that are not in the user's Xenition ledger.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'vendor': {'type': 'string', 'description': 'only invoices from this vendor'}, 'unpaidOnly': {'type': 'boolean', 'description': 'only unpaid invoices'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
query_spreadsheet
Ask about a spreadsheet
Answer a question or compute a result over one of the user's Xenition spreadsheets — sums, trends, lookups, or 'what does this data say'. Returns the answer and, when relevant, a suggested formula.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['artifactId', 'question'], 'properties': {'question': {'type': 'string', 'description': "a question to compute/answer over the sheet (e.g. 'total revenue in Q3', 'which region grew fastest')"}, 'artifactId': {'type': 'string', 'description': 'the spreadsheet artifact to query'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['heading', 'title', 'artifactId', 'body'], 'properties': {'body': {'type': 'string'}, 'title': {'type': 'string'}, 'formula': {'type': 'string'}, 'heading': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'question': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
repurpose_artifact
Turn an item into another format
Use this when the user wants one of their Xenition items turned into a different format: a task board, calendar events, a form or a slide deck — e.g. meeting notes into a board of action items, or a document into a deck. Creates a new item and returns it; the original is unchanged.
입력 스키마
{'type': 'object', 'required': ['artifactId', 'target'], 'properties': {'title': {'type': 'string', 'description': 'optional title for the new artifact; defaults to the source title'}, 'target': {'type': 'string', 'description': "what to turn it into: 'board' (tasks), 'calendar' (events), 'form', or 'slides' (a deck)"}, 'artifactId': {'type': 'string', 'description': 'the source artifact to repurpose (from search_artifacts / get_artifact)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifact'], 'properties': {'artifact': {'type': 'object', 'required': ['id', 'title', 'type', 'content', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'language': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}, 'totalChars': {'type': 'integer'}}, 'additionalProperties': False}}, 'additionalProperties': False}
reschedule_event
Reschedule an event
Use this when the user wants to move an existing Xenition calendar event to a new time. Returns the upcoming schedule. Ask which event if several share the name; to add a new event use add_event.
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['title', 'start'], 'properties': {'end': {'type': 'string', 'description': 'new end (optional)'}, 'start': {'type': 'string', 'description': 'new start, same format as add_event'}, 'title': {'type': 'string', 'description': 'the event to move (matched by title)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
review_artifact
Review a document
Review one of the user's Xenition documents and return constructive comments — each tied to a quoted passage — on clarity, structure, and correctness. Non-destructive: it suggests, it doesn't edit (use edit_artifact to apply changes).
읽기 전용
입력 스키마
{'type': 'object', 'required': ['artifactId'], 'properties': {'artifactId': {'type': 'string', 'description': 'the artifact to review (best for documents)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'artifactId', 'comments'], 'properties': {'title': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'comments': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['note'], 'properties': {'note': {'type': 'string'}, 'quote': {'type': 'string'}}, 'additionalProperties': False}}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
run_agent
Run an agent
Use this when the user wants one of their Xenition agents to work on a task in the background (research can take a few minutes). Returns a run id right away; progress, the final result and a link appear as it finishes, and check_agent_run reports on it. Call list_agents first if you do not know the agent.
파괴적 작업 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "the agent's slug (from list_agents)"}, 'input': {'type': 'string', 'description': 'the task/prompt for the agent'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['status', 'done', 'failed', 'missionId'], 'properties': {'done': {'type': 'boolean'}, 'goal': {'type': 'string'}, 'agent': {'type': 'string'}, 'error': {'type': 'string'}, 'answer': {'type': 'string'}, 'failed': {'type': 'boolean'}, 'status': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'missionId': {'type': 'string'}}, 'additionalProperties': False}
run_tool
Run a built-in tool
Use this when the user wants an answer from one of Xenition's built-in tools — a unit conversion (length, weight, volume, area, speed, data size, energy, pressure, and more), a loan payment, BMI, tip split, discount, sales tax, percentage, temperature or age. Returns the computed answer. For interactive tools (timers, QR codes, live weather) it returns what the tool needs and a link that opens it ready to use. Call find_tools first if you do not know the tool id. Do not use for general maths you can do yourself, or for anything that is not a built-in tool.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['tool'], 'properties': {'tool': {'type': 'string', 'description': "the tool id from find_tools, e.g. 'loan', 'bmi', 'length-convert', 'temperature'"}, 'inputs': {'type': 'object', 'description': "the tool's inputs. Converters: {value, from, to} using the unit names find_tools/run_tool report (e.g. {value: 5, from: 'km', to: 'mi'}). Calculators: see each tool's inputs — e.g. loan {amount, annual_rate_pct, years}; bmi {weight_kg, height_cm}; tip {bill, percent, people}; age {birth_date: 'YYYY-MM-DD'}", 'additionalProperties': True}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['tool', 'title', 'computed'], 'properties': {'tool': {'type': 'string'}, 'title': {'type': 'string'}, 'units': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'inputs': {'type': ['null', 'array'], 'items': {'type': 'string'}}, 'result': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'computed': {'type': 'boolean'}}, 'additionalProperties': False}
search_artifacts
Search your workspace
Search the signed-in user's own Xenition artifacts (documents, slides, sheets, media, code) and return matches. Use ONLY when the user is explicitly looking for their existing content. Do NOT call it to check whether an unsupported or out-of-scope action is possible, to find another person's content, or as a first step toward a bulk/irreversible action — confirm or decline those first.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'type': {'type': 'string', 'description': 'filter by type: document, slides, sheet, image, media, code'}, 'query': {'type': 'string', 'description': "free-text search over the user's artifacts"}, 'project': {'type': 'string', 'description': 'optional project id to scope the search'}, 'workspace': {'type': 'string', 'description': 'optional workspace id to scope the search'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifacts'], 'properties': {'total': {'type': 'integer'}, 'artifacts': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['id', 'title', 'type', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'updatedAt': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
search_marketplace
Search the marketplace
Use this when the user is looking for a ready-made digital product to buy or download — a template, e-book, design pack or app — from creators on the Xenition Marketplace. Returns matching listings with price and a link to each listing page. Do not use for the user's own files (search_artifacts) or for Xenition's free built-in templates (find_app_templates, find_forms).
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'max results (default 6, max 12)'}, 'query': {'type': 'string', 'description': "what the user is looking for — e.g. 'resume template', 'budget tracker', 'kids coloring book'"}, 'category': {'type': 'string', 'description': 'optional category: design, documents or apps'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
search_notes
Search notes
Use this when the user is looking for one of their Xenition notes by words, tag or notebook. Returns matching notes with links. To search all their content (documents, decks, sheets), use search_artifacts.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'tag': {'type': 'string', 'description': 'only notes with this tag'}, 'query': {'type': 'string', 'description': 'free text to match in the note title/content'}, 'notebook': {'type': 'string', 'description': 'only notes in this notebook'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'count', 'items'], 'properties': {'count': {'type': 'integer'}, 'empty': {'type': 'string'}, 'items': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['title'], 'properties': {'id': {'type': 'string'}, 'lat': {'type': ['null', 'number']}, 'lng': {'type': ['null', 'number']}, 'meta': {'type': 'string'}, 'phone': {'type': 'string'}, 'title': {'type': 'string'}, 'accent': {'type': 'string'}, 'detail': {'type': 'object', 'additionalProperties': True}, 'address': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'website': {'type': 'string'}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}}, 'additionalProperties': False}
set_automation_enabled
Pause or resume an automation
Use this when the user wants to pause one of their automations or turn a paused one back on. Needs the automation's id from list_automations.
파괴적 작업
입력 스키마
{'type': 'object', 'required': ['id', 'enabled'], 'properties': {'id': {'type': 'string', 'description': "the automation's id from list_automations or create_automation"}, 'enabled': {'type': 'boolean', 'description': 'false to pause it, true to resume it'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'additionalProperties': False}
submit_form
Generate a document from a form
Submit a filled Xenition form (from find_forms) to generate its document. Saves the result to the user's workspace and returns it. Usually called by the form widget when the user clicks submit.
입력 스키마
{'type': 'object', 'required': ['formId', 'values'], 'properties': {'title': {'type': 'string', 'description': 'optional title for the produced document'}, 'formId': {'type': 'string', 'description': "the form id from find_forms (e.g. 'invoice', 'resume')"}, 'values': {'type': 'object', 'description': 'the filled field values, keyed by field name; a list field is an array of objects keyed by its sub-field names', 'additionalProperties': True}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['artifact'], 'properties': {'artifact': {'type': 'object', 'required': ['id', 'title', 'type', 'content', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'language': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'updatedAt': {'type': 'string'}, 'totalChars': {'type': 'integer'}}, 'additionalProperties': False}}, 'additionalProperties': False}
summarize_artifact
Summarize a document
Use this when the user wants a summary of one of their Xenition documents, notes or research — a TL;DR, key points, action items or a fuller summary. Works on long documents in full. Do not use to change the document (use edit_artifact).
읽기 전용
입력 스키마
{'type': 'object', 'required': ['artifactId'], 'properties': {'style': {'type': 'string', 'description': "'tldr' (default, short), 'key_points' (bulleted), 'action_items', or 'detailed'"}, 'artifactId': {'type': 'string', 'description': 'the artifact to summarize (from search_artifacts / get_artifact)'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['heading', 'title', 'artifactId', 'body'], 'properties': {'body': {'type': 'string'}, 'title': {'type': 'string'}, 'formula': {'type': 'string'}, 'heading': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'question': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
transcribe_audio
Transcribe a recording
Use this when the user wants the words from an audio or video recording — a meeting, lecture, interview or voice memo — and gives a link to the file (https, up to 25 MB). Returns the transcript and saves it as a document in their Xenition workspace. To turn it into notes and action items, pass the text to meeting_notes.
입력 스키마
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'https link to an audio or video file (mp3, m4a, wav, mp4, webm …), up to 25 MB'}, 'title': {'type': 'string', 'description': 'optional name for the saved transcript'}, 'language': {'type': 'string', 'description': "optional spoken language code, e.g. 'en', 'es'; detected when omitted"}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'text'], 'properties': {'text': {'type': 'string'}, 'title': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'truncated': {'type': 'boolean'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
video_status
Check a video
Use this when the user asks whether a video from create_video or edit_video is ready. Returns generating, the finished file link, or why it failed. Needs the id from create_video or edit_video.
입력 스키마
{'type': 'object', 'required': ['artifactId'], 'properties': {'artifactId': {'type': 'string', 'description': 'the id returned by create_video'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['title', 'status'], 'properties': {'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'error': {'type': 'string'}, 'title': {'type': 'string'}, 'status': {'type': 'string'}, 'openUrl': {'type': 'string'}, 'artifactId': {'type': 'string'}}, 'additionalProperties': False}
추가됨
video_status
2026년 10월 4일 2:40 AM
추가됨
transcribe_audio
2026년 10월 4일 2:40 AM
추가됨
summarize_artifact
2026년 10월 4일 2:40 AM
추가됨
submit_form
2026년 10월 4일 2:40 AM
추가됨
set_automation_enabled
2026년 10월 4일 2:40 AM
추가됨
search_notes
2026년 10월 4일 2:40 AM
추가됨
search_marketplace
2026년 10월 4일 2:40 AM
추가됨
search_artifacts
2026년 10월 4일 2:40 AM
추가됨
run_tool
2026년 10월 4일 2:40 AM
추가됨
run_agent
2026년 10월 4일 2:40 AM
추가됨
review_artifact
2026년 10월 4일 2:40 AM
추가됨
reschedule_event
2026년 10월 4일 2:40 AM
추가됨
repurpose_artifact
2026년 10월 4일 2:40 AM
추가됨
query_spreadsheet
2026년 10월 4일 2:40 AM
추가됨
query_ledger
2026년 10월 4일 2:40 AM
추가됨
query_document
2026년 10월 4일 2:40 AM
추가됨
publish_artifact
2026년 10월 4일 2:40 AM
추가됨
my_agenda
2026년 10월 4일 2:40 AM
추가됨
move_task
2026년 10월 4일 2:40 AM
추가됨
meeting_notes
2026년 10월 4일 2:40 AM
추가됨
mark_paid
2026년 10월 4일 2:40 AM
추가됨
list_tasks
2026년 10월 4일 2:40 AM
추가됨
list_pending_approvals
2026년 10월 4일 2:40 AM
추가됨
list_missions
2026년 10월 4일 2:40 AM
추가됨
list_events
2026년 10월 4일 2:40 AM
추가됨
list_connected_apps
2026년 10월 4일 2:40 AM
추가됨
list_automations
2026년 10월 4일 2:40 AM
추가됨
list_agents
2026년 10월 4일 2:40 AM
추가됨
import_file
2026년 10월 4일 2:40 AM
추가됨
get_mission
2026년 10월 4일 2:40 AM