Tools
Tools are the actions your workflow can perform. Each workflow only has access to the tools you explicitly enable.
Tool categories
Email tools
Core email management capabilities.
| Tool | Description | Write? |
|---|---|---|
read_email | Read the full content of an email | No |
search_emails | Search for emails using Gmail syntax | No |
search_emails_analyzed | AI-enhanced email search | No |
add_label | Add a label to an email | Yes |
remove_label | Remove a label from an email | Yes |
archive_email | Archive an email (remove from inbox) | Yes |
trash_email | Move an email to trash | Yes |
move_email | Move email to a specific folder/label | Yes |
create_draft | Create a draft email | Yes |
send_email_to_user | Send an email to the account owner | Yes |
list_labels | List all available Gmail labels | No |
list_attachments | List attachments in an email | No |
get_attachment_to_sandbox | Download attachment for processing | No |
Write tools modify your email or send messages. In approval-required mode, these require approval.
Email search syntax
The search_emails tool uses Gmail search syntax:
| Query | Meaning |
|---|---|
from:john@example.com | Emails from John |
to:me | Emails sent to you |
subject:meeting | Subject contains “meeting” |
has:attachment | Has attachments |
is:unread | Unread emails |
newer_than:7d | From the last 7 days |
in:inbox | In inbox (not archived) |
Combine queries: from:john@example.com subject:report newer_than:30d
Calendar tools
Access to Google Calendar with full read and write capabilities.
| Tool | Description | Write? |
|---|---|---|
list_calendar_events | Get events within a time range | No |
get_calendar_event | Get details of a specific event | No |
create_calendar_event | Create a new event with attendees, reminders, Google Meet | Yes |
edit_calendar_event | Edit an event or RSVP (requires edit permission) | Yes |
delete_calendar_event | Delete an event (organizer deletes for all) | Yes |
Delete with caution. If you are the organizer, delete_calendar_event will cancel the event for ALL attendees. If you’re just an attendee, it only removes the event from your calendar.
Research tools
Web search and code execution.
| Tool | Description |
|---|---|
web_search | Search the web with AI-analyzed results |
run_code | Execute Python code in a sandbox |
get_sandbox_file | Download files from the code sandbox |
The run_code tool provides a Python environment for:
- Calculations and data processing
- Parsing attachments (PDFs, spreadsheets)
- Generating reports
- Any computation the workflow needs
Introspection tools
Monitor and query other workflows.
| Tool | Description |
|---|---|
query_session_history | Search messages and tool calls in a session |
query_session_summary | AI-analyzed session history summary |
list_agents | List all your workflows |
get_agent_sessions | Get recent sessions for workflows |
These tools let workflows:
- Report on other workflows’ activities
- Detect patterns in behavior
- Answer questions about what happened
Analytics tools
Access usage and performance data.
| Tool | Description |
|---|---|
get_analytics | Raw analytics data (JSON) |
get_analytics_summary | Formatted summary (Markdown) |
Profile tools
Manage user profile information.
| Tool | Description | Write? |
|---|---|---|
update_user_md | Update the user’s profile document | Yes |
The user profile helps your assistant understand context about you.
See Memory for the memory system (storing preferences across runs).
Integration tools
Available when you connect external services.
GitHub tools
| Tool | Description |
|---|---|
github_list_repos | List accessible repositories |
github_get_file | Read files from a repo |
github_create_or_update_file | Create or update files |
github_list_commits | List recent commits |
github_list_pull_requests | List pull requests |
github_create_pull_request | Create a new PR |
Slack tools
| Tool | Description |
|---|---|
slack_dm_user | Send a direct message to yourself |
Linear tools
| Tool | Description |
|---|---|
linear_list_issues | List issues with filters |
linear_get_issue | Get specific issue details |
linear_create_issue | Create a new issue |
linear_list_teams | List available teams |
linear_list_workflow_states | List workflow states |
Notion tools
| Tool | Description |
|---|---|
notion_search | Search pages and databases |
notion_query_database | Query a database with filters |
notion_get_page | Get page content |
notion_create_page | Create a new page |
notion_add_database_entry | Add entry to a database |
HubSpot tools
| Tool | Description |
|---|---|
hubspot_read_contact | Get contact details |
hubspot_update_contact | Update contact properties |
hubspot_read_deal | Get deal details |
hubspot_update_deal | Update deal properties |
hubspot_read_company | Get company details |
hubspot_update_company | Update company properties |
Integration tools only appear when you’ve connected the corresponding service in Integrations.
Analyzed vs. standard tools
Some tools have “analyzed” variants:
| Standard | Analyzed |
|---|---|
search_emails | search_emails_analyzed |
query_session_history | query_session_summary |
Note: web_search now uses AI-analyzed results by default for token efficiency.
Analyzed tools use an AI sub-agent to:
- Filter and summarize results
- Extract key information
- Reduce context size
Use analyzed tools when:
- You need summarized information, not raw data
- Results might be large or noisy
- You’re doing research-style queries
Use standard tools when:
- You need exact data
- You’ll process results yourself
- Token efficiency isn’t a concern
Tool selection best practices
Minimum viable toolset. Only enable tools your workflow actually needs. More tools = larger context = higher cost.
Prefer read tools for new workflows. Start with read-only tools, add write tools after testing.
Use send_email_to_user for notifications. It sends to your own email address, ensuring workflows communicate with you directly.
Pair run_code with attachment tools. If processing attachments, you’ll need both get_attachment_to_sandbox and run_code.
Tool modes (advanced)
In the configuration, tools can have per-tool modes:
{
"tools": [
{ "toolId": "read_email" },
{ "toolId": "archive_email", "mode": "hitl" }
]
}This would make archive_email require approval even if the workflow’s default mode is autonomous.