Skip to main content

Agent Tools Reference

Agents interact with the outside world through tools. Every tool is available to every template -- the agent's system prompt and procedures determine which tools it actually uses.

Authentication

All tools that call the platform API authenticate via the X-Task-Authorization header:

X-Task-Authorization: SHA-1(projectId + tokenSecret)
X-Task-Namespace: <XPRESSAI_NAMESPACE>
X-Agent-Name: <AGENT_NAME>
Content-Type: application/json

See Agent Identity for details on how token validation works.

Tool Catalog

File Operations

Source: file_tools.py

FunctionParametersDescription
read_filepath: str (required)Read the contents of a file and return as string
write_filepath: str (required), content: str (required)Write content to a file (creates or overwrites)
list_filespath: str (required)List files and directories at a path
search_filespattern: str (required), path: str (optional)Search for files matching a glob pattern
mkdirpath: str (required)Create a directory (including parents)
delete_filepath: str (required)Delete a file
move_filesource: str (required), destination: str (required)Move or rename a file
Sandbox

All file operations are sandboxed to /data/home/ via _safe_path(). Attempts to access paths outside this directory are rejected.


Task Management

Source: task_tools.py

FunctionParametersDescription
create_tasksummary: str (required), details: str (optional), steps: list (optional), agent_id: int (optional)Create a new task on the project task board
list_tasksstatus: str (optional)List tasks with optional status filter
update_tasktask_id: int (required), status: str (optional), agent_id: int (optional), details: str (optional)Update task status, assignee, or details

Tasks are created via the platform API and appear on the project's task board (Kanban, list, or calendar view).


Scheduling

Source: schedule_tools.py

FunctionDescription
create_scheduleCreate a recurring schedule (cron-based)
list_schedulesList all schedules for the agent
update_scheduleModify a schedule's cron expression or payload
delete_scheduleRemove a schedule

Schedules use cron expressions. The platform converts 5-field Unix cron to 6-field Quartz cron automatically.


Messaging

Source: messaging_tools.py

FunctionDescription
send_messageSend a message to a conversation
list_conversationsList conversations the agent participates in
create_conversationCreate a new conversation with specified participants

Agents use messaging to communicate with users and other agents through channels.


Document Conversion

Source: document_tools.py

FunctionDescription
convert_file_to_markdownConvert a file (PDF, DOCX, PPTX, etc.) to Markdown
convert_url_to_markdownFetch a URL and convert its content to Markdown

Uses MarkItDown for conversion. Useful for ingesting external documents into the agent's context.


Document Creation

Source: document_create_tools.py

FunctionDescription
create_docxCreate a Word document
create_xlsxCreate an Excel spreadsheet
create_pptxCreate a PowerPoint presentation
create_pdfCreate a PDF document

Generated documents are saved to the agent's file system under /data/home/.


Google Workspace

Source: google_workspace_tools.py

FunctionDescription
create_google_docCreate a new Google Doc
read_google_docRead the content of a Google Doc
update_google_docUpdate an existing Google Doc
search_google_docsSearch for Google Docs by query
create_google_sheetCreate a new Google Sheet
read_google_sheetRead data from a Google Sheet
update_google_sheetUpdate cells in a Google Sheet
append_google_sheet_rowsAppend rows to a Google Sheet
create_google_slidesCreate a new Google Slides presentation
read_google_slidesRead the content of a Google Slides presentation
update_google_slidesUpdate an existing Google Slides presentation

Requires Google Workspace integration to be configured in project settings.


Atlassian (Jira & Confluence)

Source: atlassian_tools.py

FunctionDescription
search_confluenceSearch Confluence pages by query
get_confluence_pageGet the content of a Confluence page by ID
create_confluence_pageCreate a new Confluence page
update_confluence_pageUpdate an existing Confluence page
add_confluence_commentAdd a comment to a Confluence page
search_jira_issuesSearch Jira issues using JQL
get_jira_issueGet details of a Jira issue by key
create_jira_issueCreate a new Jira issue
update_jira_issueUpdate fields on an existing Jira issue
add_jira_commentAdd a comment to a Jira issue
transition_jira_issueTransition a Jira issue to a new status
get_jira_transitionsGet available transitions for a Jira issue

Requires Atlassian integration to be configured in project settings.


Email

Source: email_tools.py

FunctionDescription
send_emailSend an email via SendGrid

Sends from the platform's configured sender address. Supports HTML and plain text bodies.


Source: web_search_tools.py

FunctionDescription
web_searchSearch the web and return results

Returns a list of results with titles, URLs, and snippets.


Shell Execution

Source: shell_tools.py

FunctionDescription
execute_commandExecute a shell command with a configurable timeout
warning

Shell commands run inside the agent's container. Use with caution -- long-running commands may time out.


Image Generation

Source: image_tools.py

FunctionParametersDescription
generate_imageprompt: str (required), filename: str (optional)Generate an image from a text prompt using an AI image generation model. The generated image is saved to the agent's file system under /data/home/. Supported output format is PNG.

Content Publishing

Source: publish_tools.py

FunctionParametersDescription
publish_contentcontent: str (required), title: str (optional), destination: str (optional)Publish content to a configured destination. Supported destinations depend on project integrations (e.g., blog platforms, CMS). The content can be plain text or Markdown.

Procedures & Skills

Source: procedure_tools.py, skill_tools.py

FunctionSourceDescription
invoke_procedureprocedure_tools.pyExecute a named procedure (see Procedures Format)
invoke_skillskill_tools.pyExecute a named skill (see Skills Format)

Voice

Source: voice_turn_tools.py

FunctionDescription
request_turnRequest a speaking turn in an active voice call

Used during voice conversations to manage turn-taking between participants.


Platform HTTP Client

Source: platform_client.py

Not a tool itself, but the authenticated HTTP client used by all tools that call the platform API. Handles header injection (X-Task-Authorization, X-Task-Namespace, X-Agent-Name) and base URL resolution.