> ## Documentation Index
> Fetch the complete documentation index at: https://docs.compozy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Learn about tools in Compozy and how they extend workflow capabilities.

export const BrowseRegistry = ({title, description, icon, href}) => <div className="not-prose mb-8">
    <a href={href} className="group relative block overflow-hidden rounded-xl border border-gray-950/10 dark:border-white/10 bg-gradient-to-br from-white to-gray-50 p-1 transition-all hover:border-primary hover:shadow-lg dark:from-background-dark dark:to-background-dark/80">
      <div className="absolute inset-0 bg-gradient-to-r from-primary/0 via-primary/0 to-primary/0 opacity-0 transition-opacity group-hover:opacity-10" />
      <div className="relative flex items-start gap-6 p-5">
        <div className="flex px-8 h-14 w-14 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary shadow-sm dark:bg-primary/20 dark:shadow-none">
          <Icon icon={icon} iconType="solid" size={24} />
        </div>

        <div className="flex-1">
          <div className="flex items-center justify-between">
            <h3 className="m-0 text-xl font-semibold text-gray-900 group-hover:text-primary dark:text-white">
              {title}
            </h3>
            <Icon icon="arrow-right" iconType="solid" size={20} className="text-gray-400 transition-transform group-hover:translate-x-1 group-hover:text-primary" />
          </div>
          <p className="m-0 mt-2 text-gray-500 dark:text-gray-400">
            {description}
          </p>
          <div className="mt-4 flex items-center gap-2 text-sm font-medium text-primary">
            Browse Registry
            <Icon icon="chevron-right" iconType="solid" size={12} className="transition-transform group-hover:translate-x-0.5" />
          </div>
        </div>
      </div>
    </a>
  </div>;

<BrowseRegistry title="Browse Registry Tools" description="Discover pre-built tools for web integration, content formatting, data processing, and file handling in the Compozy registry" icon="cube" href="/registry/tools" />

## Introduction

Here's a simple example of using a tool to fetch data from an API:

```yaml theme={"dark"}
tools:
  - id: web_search
    use: compozy/tools:web-search
    config:
      api_key: "{{ env.SEARCH_API_KEY }}"

tasks:
  - id: search_docs
    use: tool(web_search)
    with:
      query: "Compozy documentation"
      max_results: 5
```

This tool can then be referenced using `{{ tools.web_search.output }}` in subsequent tasks.

## Core Functionality

<CardGroup cols={2}>
  <Card title="External Data Access" icon="database">
    Connect with external APIs, databases, and services to access required data.
  </Card>

  <Card title="Complex Operations" icon="gears">
    Handle specific calculations and data processing tasks efficiently.
  </Card>

  <Card title="Extended Capabilities" icon="rocket">
    Enable agents to perform actions beyond their built-in knowledge.
  </Card>

  <Card title="Consistent Operations" icon="arrows-repeat">
    Ensure standardized handling of operations across tasks.
  </Card>
</CardGroup>

## Key Points

<Steps>
  <Step title="Modular & Reusable" icon="puzzle-piece">
    Create and share tools across different workflows and projects, promoting code reuse and maintainability.
  </Step>

  <Step title="Type Safety" icon="shield-check">
    Built-in schema validation ensures type safety and consistent data structures.
  </Step>

  <Step title="Extensible" icon="rocket">
    Easily extend functionality by connecting with external services and APIs.
  </Step>

  <Step title="Language Agnostic" icon="code">
    Write tools in TypeScript or Python, with consistent interfaces across languages.
  </Step>
</Steps>

## Next Steps

* Learn about [Tool Configuration](/core/tools/usage)
* Explore [Creating Tools](/core/tools/creating)
* Review the [API Reference](/core/tools/api)
* See [Example Tools](/core/tools/examples)
