# Tools

## What are tools?

Tools enable AI agents to:

|                          |                                                               |
| ------------------------ | ------------------------------------------------------------- |
| **Access External Data** | Web searches, web scraping, databases, APIs, files            |
| **Perform Actions**      | Form submissions, code execution, API calls, custom functions |

Tools have two forms:

| **Custom Tools** | Developer-defined tools. Custom tools will require you to write code to handle the tool calls.                           |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Hosted Tools** | WorkflowAI-built tools (e.g., *search-web*, *browser-text*). Hosted tools do not require any code or engineering effort. |

## Custom Tools

Custom tools are tools specific to your application. You are responsible for running these tools when they are called by the AI agent.

Adding a custom tool through code is currently only available with our Python SDK. Read the documentation for [adding custom tools](/python-sdk/tools.md).

## Hosted Tools

### What hosted tools are available?

WorklfowAI supports and manages the following tools:

* `@browser-text` allows fetching the content of a web page (text-only)
* `@google-search` allows performing a web search using Google's search API
* `@perplexity-sonar-pro` allows performing a web search using Perplexity's Sonar Pro model

We're working on adding more tools, if you need any specfic tool, please open a discussion on [GitHub](https://github.com/workflowai/workflowai/discussions/categories/ideas) or [Discord](https://discord.gg/auuf8DREZh)

### How to enable tools?

Tools can be added in the Playground by either:

1. Describing the use case to the playground chat agent
2. Under "Instructions" tap on the tools you want to enable.

{% embed url="<https://customer-turax1sz4f7wbpuv.cloudflarestream.com/12ee172f6c8f7cd9448fda2579088d7f/watch>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.workflowai.com/concepts/tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
