Pular para o conteúdo principal

Tools

An agent on its own can only talk. What lets it look something up, create a job or move a document is a tool. An agent's tools are the whole of what it can do: an agent without create_job cannot create a job, however you ask.

This page is the catalogue. Read it to know what an existing agent is capable of, and to decide what to grant an agent you are building in Add your own skills, agents and tools.

How tools are granted

Every agent definition carries a tools allow-list. Listing tool names restricts the agent to those; leaving the list empty gives it the whole platform catalogue below.

get_current_time is added to every agent and needs no entry.

Two further sets are opt-in and are not part of tools:

  • Your data extraction queries: set useAnalyticsTools, and narrow with analyticsTools.
  • Your own MCP servers: list them in mcpServers.

Both are covered in Add your own skills, agents and tools.

Tools that write

These change data. Put every one of them on the agent's toolsRequiringApproval list so the user sees an approval card before the tool runs. See AI Assistant.

create_job · update_job · duplicate_document · update_document_brief · update_document_custom_fields · update_team_members · execute_workflow_transition · create_timesheet_entry

Everything else on this page reads, apart from the three memory tools, which write only to the asking user's own memory store.

Platform tools

These run on the server, against the Skills Workflow API, as the signed-in user.

Finding a record

ToolWhat the agent can do
resolve_clientFind a client from a name the user typed, ranked by relevance
resolve_projectFind a project from a name
resolve_departmentFind a department, scoped by project, client and business object type
resolve_job_typeFind a job type within a department
list_clientsList clients, optionally filtered by name
list_projectsList projects, filtered by name, client, product, contract or request
list_departmentsList departments the user can see, optionally narrowed by project
list_job_typesList job types, filtered by department, client, project or document type
list_document_typesList document types
list_assignment_typesList the team roles a document type accepts
get_project_by_idRead full project details
search_usersFind users by name, email or username
get_current_userRead who is asking
get_current_timeRead the current date and time

The resolve_* tools are what turn "the Northwind retainer" into a record. When more than one candidate matches, the assistant asks you to pick.

Documents and jobs

ToolWhat the agent can do
get_job_by_numberOpen a job by its number
search_documentsSearch any document type — projects, jobs, estimates, contracts, expenses, bills, purchase orders, requests, credit notes, supplier invoices
create_jobCreate a job or deliverable from project, business object type, department, job type, dates and title
update_jobEdit an existing job's title, priority, effort, business value, dates, job type and its plannable, blocked and timesheet flags
duplicate_documentCopy a Job, Deliverable, Project, Estimate or Request, optionally carrying over its description, team and custom field values

update_job changes only the fields passed. It cannot re-scope a document: client, project, department and business object type are fixed once a document exists.

Briefs

ToolWhat the agent can do
get_document_briefRead a document's brief
update_document_briefWrite a document's brief
get_job_type_brief_templateRead the briefing template configured on a job type, so a brief follows your structure
get_client_brief_instructionsRead the client's own brief-writing instructions

Together these are what produce a structured brief instead of a paragraph. The agent reads the job type's template and the client's instructions first, then writes into that scaffold.

Custom fields

ToolWhat the agent can do
get_document_custom_fieldsList a document's custom fields with their labels and current values
update_document_custom_fieldsSet one or more custom field values

Teams

ToolWhat the agent can do
get_document_teamRead who is on a document's team
update_team_membersAdd and remove team members

One update_team_members call carries every change the user asked for, across as many roles as they named, and lands in the document's feed as a single entry.

Workflow

ToolWhat the agent can do
list_workflow_transitionsList the transitions available on a document right now
execute_workflow_transitionMove a document to another stage

There is no default transition. The agent lists what is available, you pick, and then it asks for approval.

Time

ToolWhat the agent can do
create_timesheet_entryLog time. Without a user, it logs against the person asking

Your data

ToolWhat the agent can do
execute_named_queryRun one of your data extraction named queries and return rows
analytics_{query}One tool per named query your tenant publishes, granted through useAnalyticsTools

These are what answer "how is this client tracking this month" without a dashboard. Every query is filtered, sorted and paged in SQL before a row is returned, is read-only, and is scoped to the asking user's permissions — a user refused a report in the platform is refused it here too.

The query catalogue is per tenant. See Data Extraction API for which queries exist and what each carries.

Memory

ToolWhat the agent can do
save_memoryRemember a preference, fact or record the user named
update_memoryCorrect something remembered earlier
delete_memoryForget something

Users see and clear this store themselves under Manage Memories.

Chat interface

ToolWhat the agent can do
gen-ui.emit_custom_eventPush a card or a custom payload into the chat
gen-ui.emit_custom_promptOffer a follow-up prompt the user can tap

Neither changes any data.

Browser tools

These run in the user's browser instead of on the server, because they need the screen the user is looking at. They are granted per agent and cannot be listed in tools.

ToolWhat the agent can do
OpenDocumentOpen a document in a preview popup, or navigate to it
AttachFileToDocumentAttach a file the user dropped into the chat to a document's brief
PostFileToFeedPost to a document's feed, with a file
SDK_ListList the SDK methods available to it
SDK_InvokeCall one of them
Workspace_Get, Workspace_ListRead a workspace definition
Workspace_Validate, Workspace_ApplyCheck a workspace change, then apply it
CustomTable_List, CustomTable_Get, CustomTable_ValidateRead and check custom table definitions
Integration_Get, Integration_List, Integration_ValidateRead and check integration workflows
GetBriefingTemplates, GetBriefingTemplateContent, ResolveJobTypeBriefingTemplateRead briefing templates from the editor
GetTransitionRequirementsRead what a transition needs before running it: a comment, a motive, hours, a file, user fields
GetJobByNumber, SearchDocumentsLook up a job or search documents from the screen the user is on
SearchWorkflowStageTransitionsList the transitions available on a document right now
ExecuteWorkflowTransitionMove a document to another stage. Writes
GetDocumentBrief, UpdateDocumentBriefRead and write a brief from inside the editor. UpdateDocumentBrief writes

What tools cannot do

  • They never exceed your permissions. Every call carries the signed-in user's identity. An agent asked for a report the user is not granted gets refused, exactly as the user would be.
  • They never act as someone else. The user a tool acts for is taken from the session, never from something the agent decides.
  • Data extraction is read-only. No named query writes.