Skip to main content
Import any tool set and spread it into your agent’s tools object. Each tool set is a plain object whose keys are tool names — you can spread multiple sets together, or use pick / omit to narrow them.

guildTools

Platform tools that give agents access to the Guild API — workspaces, agents, triggers, credentials, workspace context, and more. Including guildTools also enables task.guild.

Tool naming

Every guild tool is named guild_{endpoint} where {endpoint} is the GuildService method name. For example, get_workspace_contexts becomes guild_get_workspace_contexts.

Tools vs hooks

Most guild tools are synchronous: the runtime calls the Guild API and returns the result immediately. A few are hooks — they may suspend the agent while waiting for user action or an external callback: Your agent does not need to handle hook suspension explicitly; the runtime persists the agent’s state, and onToolResults / automatic resumption continues where you left off.

Full endpoint listing

All 55 guild_* tools correspond 1-to-1 with the GuildService methods documented in the Task object — task.guild section, organized into these groups: See the full tables for descriptions of every endpoint. Both guild_experimental_fetch and guild_experimental_fetch_async accept an optional max_bytes integer parameter that truncates non-JSON text responses to at most that many UTF-8 bytes (appending a [Response truncated to <max_bytes> bytes] marker), while returning JSON responses fully intact. See task.guild for details.

guildai~get_self

guildai~get_self is a built-in internal platform tool that returns the calling agent’s own identity — agent info, running version, session, and workspace — in a single call. No tool set import or credential configuration is required; the runtime provides it automatically to every running agent.
See Agent self-identification for the full response payload and attribution examples.

userInterfaceTools

Tools for interacting with the user. Including this set also enables task.ui.
llmAgent wires ui_notify internally so progress notifications (task.ui.notify()) work, but hides it from the model’s tool definitions unless you explicitly add ui_notify (or userInterfaceTools) to the agent’s tools. Add userInterfaceTools explicitly when an llmAgent needs ui_prompt or ui_ping, and include them in coded agents that need user interaction.

consoleTools

Debug and diagnostic logging.
task.console is always available regardless of whether consoleTools is included. Include consoleTools in llmAgent definitions to give the LLM access to debug logging.

noTools

An explicit empty tool set. Useful when an agent deliberately needs no tools — makes the intent clear instead of passing {}.

Service integrations

Third-party service tools are imported from their own @guildai-services/* packages. Add them to dependencies in your agent’s package.json. Credentials are configured at the organization level in Settings > Credentials at app.guild.ai using either OAuth or an API token, depending on the service configuration. All tools authenticate automatically through the workspace’s connected accounts. For tools backed by a Model Context Protocol server instead of a first-party integration, see MCP integrations — these packages follow a different naming convention.

Selecting specific tools

Use pick to cherry-pick or omit to exclude specific tools from a set:
Keeping the tool list small reduces the chance of an LLM calling unintended tools and lowers token cost in the tool definitions portion of the prompt.