> ## Documentation Index
> Fetch the complete documentation index at: https://prismeai-legacy.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Autonomous Agent with Tools

> Build AI agents capable of using external tools and APIs to accomplish complex tasks

The Autonomous Agent with Tools template enables you to create advanced AI agents that can interact with external systems, APIs, and data sources to accomplish complex tasks. By equipping your agents with a toolkit of capabilities, they become more powerful and can deliver greater value to your organization.

## Template Overview

This template provides a framework for building autonomous agents:

* Tool definition and integration architecture
* Tool selection and execution logic
* Authentication and security controls
* Error handling and fallback mechanisms
* Conversation management with tool usage

<CardGroup cols={2}>
  <Card title="Tool Integration" icon="screwdriver-wrench">
    Connect agents to external capabilities and systems
  </Card>

  <Card title="Autonomous Reasoning" icon="brain">
    Agents intelligently select and use appropriate tools
  </Card>

  <Card title="Multi-step Solutions" icon="stairs">
    Solve complex problems through sequential tool usage
  </Card>

  <Card title="Self-improvement" icon="arrow-trend-up">
    Agents learn from tool usage patterns and outcomes
  </Card>
</CardGroup>

## Use Cases

<Tabs>
  <Tab title="Data Analysis">
    Create agents that can:

    * Query databases and generate reports
    * Analyze spreadsheets and visualize data
    * Monitor metrics and send alerts
    * Perform complex calculations and simulations
  </Tab>

  <Tab title="System Integration">
    Build agents that connect with:

    * CRM systems for customer information
    * ITSM platforms for incident management
    * ERP systems for business operations
    * HR systems for employee data
  </Tab>

  <Tab title="Process Automation">
    Deploy agents that can:

    * Create tickets and track their progress
    * Schedule meetings and send invitations
    * Generate and send documents
    * Validate and process forms
  </Tab>
</Tabs>

## Key Features

* **Tool Registry**: Central repository of available tools and their capabilities
* **Parameter Mapping**: Intelligent extraction of tool parameters from user requests
* **Execution Engine**: Secure and monitored tool execution environment
* **Result Processing**: Formatting and presentation of tool execution results
* **Conversation Memory**: Context retention across multiple tool executions

## Getting Started

For self-hosted Prisme.ai installations, follow these steps:

<Steps>
  <Step title="Download the Template">
    Visit the [Prisme.ai Templates Repository](https://github.com/prismeai/template-agentic-tools) and download the ZIP file
  </Step>

  <Step title="Import the Template">
    In your Prisme.ai instance, navigate to AI Builder > Import Workspace and upload the ZIP file
  </Step>

  <Step title="Configure Tools">
    Set up the tools you want your agent to access (APIs, databases, internal systems)
  </Step>

  <Step title="Define Tool Selection Logic">
    Configure how the agent decides which tools to use and when
  </Step>

  <Step title="Test and Publish">
    Validate tool functionality and publish your agent to AI Store
  </Step>
</Steps>

<Note>
  SaaS Prisme.ai users can access this template directly from the Template Gallery.
</Note>

## Tool Configuration Examples

### API Tool Example

```yaml theme={null}
slug: get-weather
name: AIK/Tools/Get Weather
do:
  - Weatherapi.run:
      type: '{{body.arguments.type}}'
      q: '{{body.arguments.q}}'
      aqi: '{{body.arguments.aqi}}'
      alerts: '{{body.arguments.alerts}}'
      days: '{{body.arguments.days}}'
      output: weather
  - set:
      name: output
      value:
        value: '{{weather}}'
        description: the weather of the location '{{body.arguments.q}}'
validateArguments: true
arguments:
  body:
    type: object
    properties:
      arguments:
        type: object
        properties:
          type:
            enum:
              - current.json
              - forecast.json
              - alerts.json
            type: string
            enumNames:
              - current
              - forecast
              - alerts
            title: Type
            description: current, forecast or alerts
          q:
            type: string
            title: Query
            placeholder: Paris
            description: Pass US Zipcode, UK Postcode, Canada Postalcode, IP address, Latitude/Longitude (decimal degree) or city name.
          aqi:
            type: string
            enum:
              - 'yes'
              - 'no'
            enumNames:
              - 'yes'
              - 'no'
            tile: Air quality
            description: Get air quality data
          alerts:
            type: string
            enum:
              - 'yes'
              - 'no'
            enumNames:
              - 'yes'
              - 'no'
            tile: Alerts
            description: Get weather alert data
          days:
            type: number
            tile: Days
            description: Number of days of weather forecast. Value ranges from 1 to 10
description: Get the weather information for a location.
output:
  type: tool_result
  output: '{{output}}'
when:
  endpoint: true
labels:
  - tools
```

### Send Email Tool Example

```yaml theme={null}
slug: send-email
name: AIK/Tools/Send Email
do:
  - SendMail.sendMail:
      to: '{{user.email}}'
      replyTo: '{{user.email}}'
      subject: '{{body.arguments.subject}}'
      body: '{{body.arguments.body}}'
      output: response
  - set:
      name: output
      value:
        value: '{{response}}'
        description: the status of sending email
validateArguments: true
arguments:
  body:
    type: object
    properties:
      arguments:
        type: object
        properties:
          subject:
            type: string
            title: Subject
            description: Email subject
          body:
            type: string
            title: Query
            placeholder: Body
            description: Body of the email
description: Send email based on subject and body.
output:
  type: tool_result
  output: '{{output}}'
when:
  endpoint: true
labels:
  - tools
```

### Web Browsing Tool Example

```yaml theme={null}
slug: Web-browsing
name: AIK/Tools/Web browsing
do:
  - Serper.run:
      type: '{{body.arguments.type}}'
      q: '{{body.arguments.query}}'
      ql: '{{body.arguments.country}}'
      location: '{{body.arguments.location}}'
      num: 20
      output: search
      hl: '{{body.arguments.lg}}'
      tbs: '{{body.arguments.tbs}}'
  - set:
      name: currentDate
      value: '{% date({{run.date}}).iso %}'
  - set:
      name: output
      value:
        value: '{{search}}'
        description: List of search results. We are on '{{currentDate}}'
validateArguments: true
arguments:
  body:
    type: object
    properties:
      arguments:
        type: object
        properties:
          type:
            type: string
            enum:
              - search
              - news
              - images
              - videos
              - places
              - reviews
              - scholar
              - patents
              - shopping
          query:
            type: string
            title: User query
          country:
            type: string
            title: Country
          lg:
            type: string
            title: lg
          location:
            type: string
            title: location
          tbs:
            title: Date range
            type: string
            enum:
              - ''
              - qdr:h
              - qdr:d
              - qdr:w
              - qdr:m
              - qdr:y
            enumNames:
              - Any time
              - Past hours
              - Past 24 hours
              - Past week
              - Past month
              - Past year
description: Return list of web browsing results.
output:
  type: tool_result
  output: '{{output}}'
when:
  endpoint: true
labels:
  - tools
```

## Security Considerations

* **Authentication**: Use secure methods for tool authentication
* **Data Privacy**: Ensure sensitive data is not exposed in conversations
* **Permission Boundaries**: Limit tool capabilities to necessary operations
* **Execution Controls**: Implement rate limiting and timeout policies
* **Logging and Auditing**: Track all tool executions for security and compliance

## Next Steps

After implementing this template, you can:

* Combine with the [AI Pipeline Agent](/resources/templates/ai-pipline-agent) template for complex workflows
* Enhance your agent's knowledge with the [Website to Agent](/resources/templates/website-to-agent) template
* Learn about advanced tool integration patterns in our [Tool Integration Guide](/create-agents/tool-agents/tool-integration)
* Explore our [AI Builder documentation](/products/ai-builder/overview) for custom tool development
