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
- Agent receives an email to process
- Agent analyzes the email and decides what actions to take
- Agent calls appropriate tools (e.g., search, reply)
- Tools execute and return results
- 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 recipientsattachments- 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 addressbody- 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 draftcc- 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 requestrecipient- 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,otherurgency- Urgency level:low,normal,high,criticalrequired_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 notifymessage- Notification contentchannel- 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 numbermessage- 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_unreadcategory- 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 emailcomplete_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 textfilters- 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 searchemail- Employee email addressdepartment- 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_foldersmailbox_address(required) - Email address of the mailbox to searchkeywords- KQL full-text search query (for search operation)from_address- Filter by sender email addressdate_after/date_before- Filter by date range (ISO date)has_attachments- Filter by attachment presencefolder_id- Scope search to a specific foldermax_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 invokequestion- Question to ask the SMEcontext- 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 titleattendees- List of attendee emailsstart_time- Event start timeend_time- Event end timelocation- Optional locationdescription- 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, orchecktrigger_in_hours- Number of hours from now when reminder should trigger (alternative totrigger_at)trigger_at- Specific date/time when reminder should trigger in ISO format (alternative totrigger_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 triggersaction_type(required) - What action to take:send_email,notify,escalate,check_response,execute_agent, orcontinue_executionaction_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:
| Action | Description |
|---|---|
send_email | Send an email to specified recipients (requires email_to, email_subject, email_body in action_details) |
notify | Create a notification in the system (requires notification_message in action_details) |
check_response | Check if a response was received in an email thread (requires check_thread_id, check_from in action_details) |
escalate | Escalate to human review |
execute_agent | Re-trigger an agent execution (requires agent_id in action_details) |
continue_execution | Resume 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 cancelreason- 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 toresume_in_hours)resume_in_hours- Hours from now to resume (1-168, alternative toresume_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_resumetool 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,deletekey- Memory key (descriptive identifier)value- Value to store (for store/update actions)category- Category:policy,guideline,fact,rule,temporarypriority- 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 contentkey- 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,deletecontact_email- Email address of the contactkey- Memory key (descriptive identifier)value- Value to store (for store/update actions)category- Category:preference,project,personal,history,otherimportance- 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,datatitle- Short, descriptive titlesummary- Brief summary of contents (optional)content- Full artifact contentcontent_format- Format:text,markdown,json,htmltags- Comma-separated tags for categorizationcategory- 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 retrieveinclude_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 summarylimit- 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 detailstime_range- Time period filter with either preset or custom dates:preset- Predefined range:today,yesterday,last_7_days,last_30_days,this_month,last_monthstart_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,integrationsstatus- Filter by status:completed,error,escalatedtopics- Filter by topic tags
output_format- How to format results:list(default),summary,detaillimit- Maximum results (1-50, default: 10)
Operating Modes:
| Mode | Trigger | Returns |
|---|---|---|
| Semantic Search | query provided | List of matching executions with summaries and relevance scores |
| Execution Detail | execution_id provided | Full details for a specific execution |
| Summary | output_format: "summary" | Natural language summary with aggregated statistics |
Access Control:
| Agent Type | Default Scope |
|---|---|
| Regular Agent | Own executions only |
| AICOS | All 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 contentsource- Where the knowledge came from (defaults to agent name)documentType- Type:research,meeting_notes,decision,procedure,reference,othertopicId- 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:
| Outcome | Description |
|---|---|
indexed | Successfully added to the knowledge base |
duplicate | Content already exists (blocked by hash check) |
quota_exceeded | Rate limit reached (hourly, daily, or total) |
error | Indexing 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_quotamailboxAddress- 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 sourcefolderPath- 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 basereferences- Source documents used to generate the answerresultCount- 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:
- Navigate to Build > Connections > SQL Tools
- Create a database connection with credentials
- Use the wizard to create query tools with parameters
- Test queries before deployment
- Assign tools to agents
Tool Types:
| Type | Description |
|---|---|
| SELECT queries | Retrieve data from database tables |
| INSERT/UPDATE/DELETE | Modify data (requires write permissions enabled) |
| Stored procedures | Execute stored procedures with parameters |
Parameters:
- Query parameters use
@paramNamesyntax - 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:
- Navigate to Build > Connections > QuickBooks
- Connect your QuickBooks account via OAuth
- A default query tool is automatically created
- Optionally create specialized tools in the Tools tab
Tool Types:
| Type | Description |
|---|---|
query_all | General purpose query tool (default, includes reports) |
query_customers | List and search customers |
query_vendors | List and search vendors |
query_invoices | Query invoices with filters |
query_bills | Query bills and payment status |
query_payments | Query customer and vendor payments |
query_reports | Run financial reports (agent selects type) |
report_balance_sheet | Balance Sheet for a date range |
report_profit_and_loss | Profit & Loss for a date range |
report_cash_flow | Cash Flow Statement for a date range |
update_customer_contact | Update customer contact info (write) |
update_vendor_contact | Update vendor contact info (write) |
Parameters:
operation(required) - The query operation to performentityId- Entity ID for get/update operationsfilters- Filter criteria for list operationsstartDate/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_INimageUrl- Optional image to include
reply_message
Reply to a LinkedIn message.
Parameters:
conversationUrn- Conversation identifiertext- Reply content
share_article
Share an external article with commentary.
Parameters:
url- Article URL to share (required)text- Commentary to includevisibility- 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
Navigate to 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
- Go to Build > AI Agents > Agents
- Click Add Agent or edit existing
- In the Tools section, select desired tools
- Click Save
Note: The
completetool 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 Type | Recommended Tools |
|---|---|
| Customer Support | reply_email, search_knowledge_base, search_mailbox, request_human_input, manage_my_mailbox, search_activity |
| Scheduling Assistant | schedule_meeting, lookup_employee, reply_email |
| Information Bot | search_knowledge_base, lookup_employee, reply_email, search_activity |
| Triage Agent | request_human_input, manage_my_mailbox, forward_email |
| Research Agent | search_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 Analyst | quickbooks_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:
- Which tools were called
- Parameters passed to each tool
- Results returned
- 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
- Minimum necessary - Only assign tools the agent needs
- Match purpose - Tools should align with agent's role
- Test combinations - Verify tools work well together
- 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
- Review tool call patterns in executions
- Identify unnecessary tool calls
- Optimize instructions to reduce wasted calls
- Track tool errors and failures
Troubleshooting
Tool Not Available
Symptoms: Agent cannot call a tool, tool missing from list
Solutions:
- Verify the tool is assigned to the agent
- Check if the underlying service is configured (e.g., search index exists)
- Ensure required permissions are in place
Tool Calls Failing
Symptoms: Tool returns errors, execution fails at tool call
Solutions:
- Check tool parameters in execution details
- Verify external services are available
- Review authentication/permissions
- Check for rate limiting
Unexpected Tool Behavior
Symptoms: Tool returns wrong results, behaves unexpectedly
Solutions:
- Review the parameters being passed
- Check if tool configuration changed
- Test the tool manually
- Update agent instructions for clearer guidance
Related Topics
- Agents
- HTTP API Tools
- QuickBooks Tools
- SQL Query Tools
- Tool: create_pdf - convert Office documents or inline markdown to PDF
- Search Tools
- Agent Executions
- Activity Search
- Agent Intelligence
- Index Knowledge Tool
- Mine Mailbox Tool
- Search Mailbox Tool