Skip to main content

Tools

Understand the tools available for agents to use when processing emails.

Overview

Tools are capabilities that agents can use to interact with external systems and take actions. When an agent decides it needs to perform an action—like sending an email or searching for information—it calls a tool.

How Tools Work

Tool Calling Process

  1. Agent receives an email to process
  2. Agent analyzes the email and decides what actions to take
  3. Agent calls appropriate tools (e.g., search, reply)
  4. Tools execute and return results
  5. Agent uses results to complete the task

Tool Architecture

Agent
├── Receives email
├── Reasons about needed actions
├── Calls tools as needed
│ ├── search_knowledge_base → Results
│ ├── lookup_employee → Employee data
│ └── reply_email → Email sent
└── Completes execution

Built-in Tools

ExecAssist includes the following built-in tools:

Required Tools

complete

Mark execution as complete. Use this when the task has been finished or when no action is required for this email. This tool is automatically available to all agents and cannot be removed.

Parameters:

  • reason (required) - Brief explanation of why the execution is complete or why no action is needed

Use cases:

  • Task has been completed successfully
  • Informational emails that require no response
  • Acknowledgments or confirmations
  • Spam that passed filters
  • Newsletters or automated notifications

Communication Tools

reply_email

Send an email response to the sender.

Parameters:

  • body - Email content (supports HTML)
  • cc - Optional CC recipients
  • attachments - Optional file attachments

Use cases:

  • Responding to customer inquiries
  • Acknowledging receipt of messages
  • Sending automated updates

reply_all_email

Send a reply to all recipients of the original email.

Parameters:

  • body - Email content (supports HTML)
  • cc - Optional additional CC recipients

Use cases:

  • Group discussions requiring all-party responses
  • Team-wide acknowledgments

forward_email

Forward the email to another recipient.

Parameters:

  • to - Recipient email address
  • body - Optional message to include with the forward

Use cases:

  • Routing emails to appropriate team members
  • Escalating to specialists

create_draft_reply

Create a draft response without sending.

Parameters:

  • body - Email content for the draft
  • cc - Optional CC recipients

Use cases:

  • Creating responses for human review before sending
  • Preparing complex responses

request_human_input

Request input, approval, or information from a human. The agent will pause and wait for a response.

Parameters:

  • message - Detailed message explaining what you need and why (required)
  • subject - Brief subject line for the request
  • recipient - Email address of the person to ask (required unless agent is an SME with a configured manager)
  • request_type - Type of request: approval_required, clarification_needed, exception_request, compliance_concern, deadline_risk, resource_needed, information_request, other
  • urgency - Urgency level: low, normal, high, critical
  • required_by - When you need a response by (ISO 8601 datetime)
  • context_for_resume - Note to yourself about what to do when you resume

Use cases:

  • Getting approval for actions above agent authority
  • Asking questions that require human judgment
  • Multi-step workflows requiring external input
  • Approval processes

notify_user

Send a notification to a user (via Teams, email, or SMS).

Parameters:

  • user_email - User to notify
  • message - Notification content
  • channel - Notification method (teams, email, sms)

Use cases:

  • Alerting team members about urgent matters
  • Sending status updates

send_sms

Send an SMS message.

Parameters:

  • phone_number - Recipient phone number
  • message - SMS content (limited length)

Use cases:

  • Urgent notifications
  • Follow-up reminders

Email Management Tools

manage_my_mailbox

Manage emails in the agent's own mailbox: assign categories, move to folders, or mark as read/unread. By default operates on the current email; supply message_ids to act on up to 20 specific emails in bulk.

Parameters:

  • action - Action to perform: assign_category, move_to_folder, mark_read, mark_unread
  • category - Category name (for assign_category). Common categories: "Spam", "Response Requested", "Urgent"
  • folder - Destination folder (for move_to_folder): "inbox", "drafts", "sentitems", "deleteditems", "junkemail", "archive"
  • message_ids - Optional array of message IDs (max 20) to act on; if omitted, operates on the current email
  • complete_after_execution - If true, end agent execution after this action

Use cases:

  • Categorizing emails for later review
  • Moving spam to junk folder
  • Organizing emails by topic

get_email_thread_context

Retrieve the full email thread for context.

Parameters:

  • None (uses current email context)

Use cases:

  • Understanding conversation history
  • Avoiding redundant responses

Information Retrieval Tools

search_knowledge_base

Search indexed knowledge bases for relevant information.

Parameters:

  • query - Search query text
  • filters - Optional filters (date, source, etc.)
  • limit - Maximum results to return

Use cases:

  • Looking up product information
  • Finding policy documentation
  • Retrieving technical specifications

lookup_employee

Find employee information from the directory.

Parameters:

  • name - Employee name to search
  • email - Employee email address
  • department - Filter by department

Use cases:

  • Finding the right person to contact
  • Verifying employee information
  • Looking up reporting structure

search_contacts

Search for contacts across the organization.

Parameters:

  • query - Search term (name, email, etc.)

Use cases:

  • Finding contact information
  • Identifying email senders

search_mailbox

Search, read, and browse emails from any mailbox in the organization. Supports full-text KQL search, structured filters (sender, date, attachments), reading full message bodies, and listing folders. Access is controlled by per-agent mailbox scoping configuration.

Parameters:

  • operation (required) - The operation: search, read_message, list_folders
  • mailbox_address (required) - Email address of the mailbox to search
  • keywords - KQL full-text search query (for search operation)
  • from_address - Filter by sender email address
  • date_after / date_before - Filter by date range (ISO date)
  • has_attachments - Filter by attachment presence
  • folder_id - Scope search to a specific folder
  • max_results - Maximum results, 1-50 (default: 10)
  • message_ids - Message IDs to read (for read_message operation, max 5)
  • max_body_length - Maximum body length per message, 500-50,000 (default: 8,000)

Use cases:

  • Looking up previous correspondence with a customer across team mailboxes
  • Gathering context from other departments before responding
  • Researching email history for investigation or audit tasks
  • Executive assistants searching organizational mailboxes on demand

Note: This tool requires per-agent mailbox access configuration. See Search Mailbox Tool for setup instructions.

Subject Matter Expert (SME) Tools

list_available_smes

List available subject matter experts.

Parameters:

  • topic - Topic area to filter by

Use cases:

  • Finding expertise for specific questions
  • Routing complex inquiries

invoke_sme

Request help from a subject matter expert agent.

Parameters:

  • sme_id - ID of the SME agent to invoke
  • question - Question to ask the SME
  • context - Additional context

Use cases:

  • Getting specialized expertise
  • Complex technical questions

check_sme_status

Check the status of an SME invocation.

Parameters:

  • invocation_id - ID of the SME request

Use cases:

  • Monitoring pending SME requests
  • Following up on expertise requests

Calendar Tools

schedule_meeting

Schedule a meeting with attendees.

Parameters:

  • title - Event title
  • attendees - List of attendee emails
  • start_time - Event start time
  • end_time - Event end time
  • location - Optional location
  • description - Optional meeting description

Use cases:

  • Booking meetings
  • Scheduling follow-ups
  • Coordinating with teams

Reminder Tools

set_reminder

Set a reminder or timeout to perform an action at a future time. Use this when you need to follow up on something later, wait for a response with a fallback, or check on a pending item.

Parameters:

  • reminder_type (required) - Type of reminder: timeout, reminder, follow_up, or check
  • trigger_in_hours - Number of hours from now when reminder should trigger (alternative to trigger_at)
  • trigger_at - Specific date/time when reminder should trigger in ISO format (alternative to trigger_in_hours)
  • title (required) - Short title for the reminder (e.g., "Follow up on budget approval")
  • description - Detailed description of what to do when reminder triggers
  • action_type (required) - What action to take: send_email, notify, escalate, check_response, execute_agent, or continue_execution
  • action_details - Details for the action (varies by action type)
  • target_email - Email address of person this reminder is about (optional)
  • related_email_id - ID of the email that triggered this reminder (optional)

Action Types:

ActionDescription
send_emailSend an email to specified recipients (requires email_to, email_subject, email_body in action_details)
notifyCreate a notification in the system (requires notification_message in action_details)
check_responseCheck if a response was received in an email thread (requires check_thread_id, check_from in action_details)
escalateEscalate to human review
execute_agentRe-trigger an agent execution (requires agent_id in action_details)
continue_executionResume a paused long-running task (used internally by checkpoint system)

Use cases:

  • Setting follow-up reminders for pending responses
  • Creating timeout-based escalations ("if no response in 4 hours, escalate")
  • Scheduling deadline reminders
  • Automating check-ins at specific intervals

Example: "If Sarah doesn't respond to the budget approval request within 48 hours, send her a reminder email."

cancel_reminder

Cancel an existing reminder that is still pending.

Parameters:

  • reminder_id (required) - ID of the reminder to cancel
  • reason - Reason for cancellation (optional but recommended for audit trail)

Use cases:

  • Removing obsolete reminders when the issue has been resolved
  • Cancelling follow-ups when a response is received early
  • Cleaning up reminders that are no longer needed

pause_and_schedule_resume

Pause the current execution and schedule automatic resume at a future time. This tool is only available to agents with Long-Running Tasks enabled.

Parameters:

  • resume_at - Specific date/time to resume (ISO 8601 format, alternative to resume_in_hours)
  • resume_in_hours - Hours from now to resume (1-168, alternative to resume_at)
  • context (required) - Note to yourself about what to do when resumed. This will be shown to you when execution continues.

Use cases:

  • Multi-day workflows that span business hours
  • Waiting for external events before continuing
  • Giving users time to act before following up
  • Complex research that benefits from periodic resumption

Example: An agent researching a topic might pause with the note: "Initial research complete. Resume tomorrow to check for new publications and compile findings."

Note: The pause_and_schedule_resume tool requires the agent to have "Enable Long-Running Tasks" turned on in the Execution Limits configuration. See Agents - Long-Running Tasks for setup instructions.

Memory Tools

Memory tools enable agents to store and retrieve information across executions. See Agent Intelligence for detailed documentation.

manage_global_memory

Store, update, or delete organization-wide information that all agents can access. Global memories are automatically injected into agent prompts based on priority.

Parameters:

  • action - Action: store, update, delete
  • key - Memory key (descriptive identifier)
  • value - Value to store (for store/update actions)
  • category - Category: policy, guideline, fact, rule, temporary
  • priority - Priority level (1-100, higher = more prominent)

Use cases:

  • Storing organizational policies
  • Maintaining shared knowledge across agents
  • Setting temporary guidelines (e.g., holiday policies)

Note: Global Memories require Pro Plus. See Global Memories for details.

query_global_memory

Query information from global memory.

Parameters:

  • query - Search query for memory content
  • key - Specific key to retrieve (optional)
  • category - Filter by category (optional)

Use cases:

  • Retrieving stored policies
  • Checking organizational guidelines
  • Accessing shared knowledge

manage_personal_memory

Store, update, or delete information about specific contacts. Personal memories are automatically retrieved when processing emails from that contact.

Parameters:

  • action - Action: store, update, delete
  • contact_email - Email address of the contact
  • key - Memory key (descriptive identifier)
  • value - Value to store (for store/update actions)
  • category - Category: preference, project, personal, history, other
  • importance - Importance: low, normal, high, critical

Use cases:

  • Remembering customer communication preferences
  • Tracking ongoing projects per contact
  • Storing relevant personal details for personalization

See Personal Memories for detailed usage guidelines.

Artifact Tools

Artifact tools enable agents to store and reuse large outputs like reports, analyses, and datasets. See Artifacts for detailed documentation.

store_artifact

Store agent findings as a reusable artifact that can be retrieved later by other agents. Artifacts are automatically deduplicated using content hashing.

Parameters:

  • artifact_type - Type: report, analysis, dataset, document, data
  • title - Short, descriptive title
  • summary - Brief summary of contents (optional)
  • content - Full artifact content
  • content_format - Format: text, markdown, json, html
  • tags - Comma-separated tags for categorization
  • category - Domain category (e.g., "marketing", "finance")
  • is_reusable - Allow other agents to access (default: true)
  • valid_for_days - Custom validity period

Use cases:

  • Caching expensive research for reuse
  • Storing generated reports
  • Sharing analysis across agents

get_artifact

Retrieve the full content of a stored artifact by its ID.

Parameters:

  • artifact_id - UUID of the artifact to retrieve
  • include_content - Include full content (default: true)

Use cases:

  • Accessing previously generated reports
  • Retrieving cached research
  • Referencing saved analysis

search_artifacts

Search for existing artifacts that might be relevant to the current task. Always search before performing expensive research to avoid redundant work.

Parameters:

  • artifact_type - Filter by type (optional)
  • category - Filter by domain category (optional)
  • tags - Filter by tags, comma-separated (optional)
  • search_text - Search in title and summary
  • limit - Maximum results (default: 20, max: 100)

Use cases:

  • Finding existing research before repeating work
  • Discovering relevant reports
  • Locating cached data

Activity Search Tool

search_activity

Search and retrieve information about past agent activity. This tool requires Activity Search to be enabled. It allows agents to search their own execution history, enabling self-reflection and learning from past interactions.

Parameters:

  • query - Natural language search query (e.g., "What happened with Acme Corp?")
  • execution_id - Specific execution ID to retrieve full details
  • time_range - Time period filter with either preset or custom dates:
    • preset - Predefined range: today, yesterday, last_7_days, last_30_days, this_month, last_month
    • start_date / end_date - Custom date range (YYYY-MM-DD format)
  • filters - Optional filters:
    • include_all_agents - Include activity from all agents (default: false, own activity only)
    • source_type - Filter by source: agents, scans, caioo, integrations
    • status - Filter by status: completed, error, escalated
    • topics - Filter by topic tags
  • output_format - How to format results: list (default), summary, detail
  • limit - Maximum results (1-50, default: 10)

Operating Modes:

ModeTriggerReturns
Semantic Searchquery providedList of matching executions with summaries and relevance scores
Execution Detailexecution_id providedFull details for a specific execution
Summaryoutput_format: "summary"Natural language summary with aggregated statistics

Access Control:

Agent TypeDefault Scope
Regular AgentOwn executions only
AICOSAll tenant executions

Regular agents can set include_all_agents: true to search across all tenant executions when needed for coordination.

Use cases:

  • Remembering previous interactions with a contact
  • Finding related past work before processing a new request
  • Explaining why certain actions were taken
  • Providing context about recent activity
  • AICOS gathering intelligence for daily reports

Example:

Agent receives: "What did you do with my email from John at Acme?"
Agent calls: search_activity(query: "John Acme email", time_range: {preset: "last_7_days"})
Agent responds with summary of matching past executions

Note: This tool requires Activity Search to be enabled. See Activity Search for setup instructions.

Knowledge Indexing Tools

index_knowledge

Index valuable knowledge into the Corporate Knowledge Index. This tool allows agents to preserve insights, research findings, and synthesized information for future retrieval by other agents.

Parameters:

  • content (required) - The knowledge content to index (minimum 10 characters, maximum 100 KB)
  • title - Title for the document (auto-generated from content if omitted)
  • summary - Brief summary of the content
  • source - Where the knowledge came from (defaults to agent name)
  • documentType - Type: research, meeting_notes, decision, procedure, reference, other
  • topicId - Topic ID from taxonomy (auto-classified if omitted)
  • topicName - Topic name (auto-classified if omitted)
  • keywords - Array of keywords for search optimization (max 10, auto-extracted if omitted)
  • valueScore - Importance score from 0.0 to 1.0 (default: 0.8)
  • relatedDocumentIds - Array of related document IDs (max 10)

Outcomes:

OutcomeDescription
indexedSuccessfully added to the knowledge base
duplicateContent already exists (blocked by hash check)
quota_exceededRate limit reached (hourly, daily, or total)
errorIndexing failed due to an error

Use cases:

  • Preserving research findings from SME consultations
  • Storing meeting summaries extracted from email threads
  • Recording decisions and their rationale
  • Indexing valuable content discovered during email processing

Example:

Agent finds valuable policy clarification in an email thread.
Agent calls: index_knowledge(
content: "Our return policy allows...",
title: "Return Policy Clarification - January 2026",
documentType: "procedure",
source: "Email from Legal Team"
)
Knowledge is now searchable by all authorized agents.

Note: This tool requires the Index Knowledge Tool to be enabled. See Index Knowledge Tool for setup instructions.

mine_mailbox

Programmatically create knowledge sources, configure email mining parameters, and trigger email scans. This tool allows agents to autonomously build searchable knowledge bases from email archives.

Parameters:

  • operation (required) - The operation to perform: create_source, update_source, trigger_scan, get_status, list_sources, get_quota
  • mailboxAddress - Email address of the mailbox to mine (required for create_source)
  • sourceId - ID of existing knowledge source (required for update_source and trigger_scan)
  • scanRequestId - ID of a scan request (required for get_status)
  • sourceName - Optional friendly name for the knowledge source
  • folderPath - Specific folder path to scan (e.g., 'Inbox/Projects')
  • topicFilters - Topic taxonomy IDs to filter for (array)
  • includeKeywords - Keywords that must appear in emails (array)
  • excludeKeywords - Keywords to exclude (array)
  • minValueThreshold - Minimum value score for indexing (0.5-1.0, default: 0.7)
  • scanStartDate - Only scan emails after this date (YYYY-MM-DD)
  • maxEmails - Maximum emails to process (1-1000)
  • notifyOnComplete - Receive notification when scan completes (default: true)

Use cases:

  • Building targeted knowledge bases when agents identify information gaps
  • Mining mailboxes for domain-specific knowledge to answer queries
  • Setting up knowledge sources for new team members or projects
  • Proactively expanding organizational knowledge during research tasks

Example:

Agent discovers need for historical client communications.
Agent calls: mine_mailbox(
operation: "create_source",
mailboxAddress: "sales@company.com",
sourceName: "Sales Team - Acme Corp",
includeKeywords: ["acme", "acme corp"],
minValueThreshold: 0.7
)
Agent triggers scan and waits for notification when complete.

Note: This tool requires the Mine Mailbox Tool to be enabled. See Mine Mailbox Tool for setup instructions.

Dynamic Tools

Some tools are created dynamically based on your configuration:

RAG Retriever Tools

When you create and provision a RAG Retriever, it automatically becomes available as a tool for agents. Each active retriever generates a tool with the name pattern rag_retriever_N.

Parameters:

  • query (required) - Search query to find relevant information

Returns:

  • answer - AI-synthesized answer from the knowledge base
  • references - Source documents used to generate the answer
  • resultCount - Number of relevant references found

Use cases:

  • Answering questions from company documentation
  • Finding relevant email history
  • Retrieving policy and procedure information

Example: If you create a "Product Documentation" RAG retriever, a tool becomes available that agents can use to search product docs.

Search Index Tools (Legacy)

When you configure legacy search indexes, corresponding search tools are automatically created. Each index becomes a searchable tool.

Example: If you create a "Product Documentation" search index, a tool called search_product_documentation becomes available.

Note: For new implementations, we recommend using RAG Retrievers instead of legacy search indexes.

SQL Query Tools

Database query tools allow agents to execute secure, parameterized SQL queries against Azure SQL Server databases. Create connections to your databases and define query tools through a guided wizard.

Tool Creation:

  1. Navigate to Build > Connections > SQL Tools
  2. Create a database connection with credentials
  3. Use the wizard to create query tools with parameters
  4. Test queries before deployment
  5. Assign tools to agents

Tool Types:

TypeDescription
SELECT queriesRetrieve data from database tables
INSERT/UPDATE/DELETEModify data (requires write permissions enabled)
Stored proceduresExecute stored procedures with parameters

Parameters:

  • Query parameters use @paramName syntax
  • Parameters are typed (INT, VARCHAR, DATETIME, etc.)
  • Validation rules can constrain input values
  • All queries are parameterized to prevent SQL injection

Use cases:

  • Looking up customer information by email or ID
  • Checking order status and shipping details
  • Retrieving inventory levels and product data
  • Updating customer contact information (with confirmation)
  • Running business reports and statistics

Security:

  • All credentials encrypted at rest using AES-256-CBC
  • Write operations can require confirmation
  • Row limits prevent excessive data retrieval
  • Complete audit trail of all query executions

See SQL Query Tools for the complete setup guide.

QuickBooks Query Tools

Tools for querying QuickBooks Online accounting data. When you connect a QuickBooks account via OAuth, a default query tool is automatically created. You can create additional specialized tools for specific use cases.

Tool Creation:

  1. Navigate to Build > Connections > QuickBooks
  2. Connect your QuickBooks account via OAuth
  3. A default query tool is automatically created
  4. Optionally create specialized tools in the Tools tab

Tool Types:

TypeDescription
query_allGeneral purpose query tool (default, includes reports)
query_customersList and search customers
query_vendorsList and search vendors
query_invoicesQuery invoices with filters
query_billsQuery bills and payment status
query_paymentsQuery customer and vendor payments
query_reportsRun financial reports (agent selects type)
report_balance_sheetBalance Sheet for a date range
report_profit_and_lossProfit & Loss for a date range
report_cash_flowCash Flow Statement for a date range
update_customer_contactUpdate customer contact info (write)
update_vendor_contactUpdate vendor contact info (write)

Parameters:

  • operation (required) - The query operation to perform
  • entityId - Entity ID for get/update operations
  • filters - Filter criteria for list operations
  • startDate / endDate - Date range for report operations (YYYY-MM-DD)
  • accountingMethod - Cash or Accrual (optional, for reports)
  • maxResults - Maximum results to return (default: 100)

Use cases:

  • Answering questions about customer balances and invoices
  • Looking up vendor payment history and outstanding bills
  • Verifying contract compliance through payment patterns
  • Generating Balance Sheet, Profit & Loss, and Cash Flow reports
  • Updating customer and vendor contact information (with approval)

Security:

  • Read-only by default; write operations require explicit enablement
  • Optional approval workflow for write operations
  • Complete audit trail of all queries
  • Configurable rate limits per connection

See QuickBooks Tools for the complete setup guide.

HTTP API Tools

Tools created from HTTP API integrations let agents interact with external REST APIs. These tools are configured using an AI-powered wizard that analyzes your API specification and automatically generates tool configurations.

Use cases:

  • CRM integrations (Salesforce, HubSpot)
  • Ticketing systems (Zendesk, ServiceNow)
  • Internal company APIs
  • Third-party data services

See HTTP API Tools for the complete setup guide.

LinkedIn Action Tools

Tools for LinkedIn automation, allowing agents to manage your company's LinkedIn presence. These tools are created when you configure LinkedIn connections and actions.

Original Actions

create_post

Create a new LinkedIn post on behalf of your company or personal profile.

Parameters:

  • text - Post content (required)
  • visibility - Who can see the post: PUBLIC, CONNECTIONS, LOGGED_IN
  • imageUrl - Optional image to include
reply_message

Reply to a LinkedIn message.

Parameters:

  • conversationUrn - Conversation identifier
  • text - Reply content
share_article

Share an external article with commentary.

Parameters:

  • url - Article URL to share (required)
  • text - Commentary to include
  • visibility - Post visibility level

Community Management API Actions

These actions require the Community Management API app (CorpAssist) for company page management.

add_comment

Add a comment to a LinkedIn post.

Parameters:

  • postUrn - URN of the post to comment on (required)
  • text - Comment content (required)
add_reaction

React to a LinkedIn post.

Parameters:

  • postUrn - URN of the post to react to (required)
  • reactionType - Type of reaction: LIKE, PRAISE, EMPATHY, INTEREST, APPRECIATION
delete_post

Delete a LinkedIn post from your company page.

Parameters:

  • postUrn - URN of the post to delete (required)
delete_comment

Delete a comment from a post.

Parameters:

  • commentUrn - URN of the comment to delete (required)
get_recent_posts

Retrieve recent posts from your company page.

Parameters:

  • count - Number of posts to retrieve (default: 5)

Returns: List of recent posts with content, engagement metrics, and URNs.

get_post_engagement

Get engagement details for a specific post (comments and reactions).

Parameters:

  • postUrn - URN of the post to analyze (required)

Returns: Comments and reactions data for the post.

get_follower_stats

Get follower statistics for your company page.

Parameters:

  • None

Returns: Follower count, demographics, and growth statistics.

get_activity_history

Query past LinkedIn activity performed by agents.

Parameters:

  • days - Number of days to look back (default: 30)
  • connectionId - Filter by specific connection (optional)
  • actionTypes - Filter by action types (optional, array)
  • limit - Maximum results (default: 20)

Returns: Activity history from Azure Table Storage including posts, comments, and reactions made by agents.

Viewing Tools

Go to Build > Tool Management > Dashboard to see all available tools.

Tool List

The tools page shows all built-in tools organized by availability:

  • Available tools appear first
  • Upgrade required tools appear at the bottom (these require a higher subscription tier)

Tool Information

Click on any tool to view its details in a read-only modal. For each tool, you can see:

  • Name - Tool identifier
  • Description - What the tool does
  • Parameters - Required and optional inputs
  • Category - Tool type (communication, search, etc.)

Note: Built-in tools are read-only and cannot be modified. They are managed at the system level.

Assigning Tools to Agents

During Agent Creation

  1. Go to Build > AI Agents > Agents
  2. Click Add Agent or edit existing
  3. In the Tools section, select desired tools
  4. Click Save

Note: The complete tool is automatically available to all agents and cannot be removed. This ensures agents always have a way to mark execution as complete.

Tool Recommendations

Consider the agent's purpose:

Agent TypeRecommended Tools
Customer Supportreply_email, search_knowledge_base, search_mailbox, request_human_input, manage_my_mailbox, search_activity
Scheduling Assistantschedule_meeting, lookup_employee, reply_email
Information Botsearch_knowledge_base, lookup_employee, reply_email, search_activity
Triage Agentrequest_human_input, manage_my_mailbox, forward_email
Research Agentsearch_knowledge_base, search_mailbox, invoke_sme, store_artifact, search_activity
Executive Agent (AICOS)search_activity, search_mailbox, invoke_sme, manage_global_memory, store_artifact
Financial Analystquickbooks_query, search_knowledge_base, reply_email, store_artifact

Security Considerations

  • Only assign tools the agent actually needs
  • Be cautious with tools that send external communications
  • Review tool permissions for sensitive data access
  • Audit tool usage in execution logs

Tool Execution Tracking

Viewing Tool Calls

In Monitor > Activity > Agent Activity, click on any execution to see:

  1. Which tools were called
  2. Parameters passed to each tool
  3. Results returned
  4. Timing information

Common Patterns

Search then respond:

1. search_knowledge_base("product warranty policy")
2. reply_email(body: [response using search results])

Categorize and ignore:

1. manage_my_mailbox(action: "assign_category", category: "Spam")
2. complete(reason: "Spam email categorized")

Request human input with context:

1. get_email_thread_context()
2. request_human_input(urgency: "high", message: "Complex issue requiring your judgment", context_for_resume: "If approved, proceed with resolution")

Best Practices

Tool Selection

  1. Minimum necessary - Only assign tools the agent needs
  2. Match purpose - Tools should align with agent's role
  3. Test combinations - Verify tools work well together
  4. Document expectations - Instructions should guide tool use

Prompt Engineering for Tools

Help agents use tools effectively:

When responding to customer inquiries:
1. First search the knowledge base for relevant information
2. Use search results to inform your response
3. If you cannot find an answer, escalate to human support
4. Always reply to the customer, even if escalating

For spam or irrelevant emails:
1. Categorize appropriately using manage_my_mailbox
2. Use complete with a clear reason

Monitoring Tool Usage

  1. Review tool call patterns in executions
  2. Identify unnecessary tool calls
  3. Optimize instructions to reduce wasted calls
  4. Track tool errors and failures

Troubleshooting

Tool Not Available

Symptoms: Agent cannot call a tool, tool missing from list

Solutions:

  1. Verify the tool is assigned to the agent
  2. Check if the underlying service is configured (e.g., search index exists)
  3. Ensure required permissions are in place

Tool Calls Failing

Symptoms: Tool returns errors, execution fails at tool call

Solutions:

  1. Check tool parameters in execution details
  2. Verify external services are available
  3. Review authentication/permissions
  4. Check for rate limiting

Unexpected Tool Behavior

Symptoms: Tool returns wrong results, behaves unexpectedly

Solutions:

  1. Review the parameters being passed
  2. Check if tool configuration changed
  3. Test the tool manually
  4. Update agent instructions for clearer guidance