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

# Skills

> Learn how to enable, configure, and manage the built-in skills your AI agent can use—such as sending files, answering FAQs, collecting user information, and escalating to human agents—across supported channels.

Manage your AI agent's skills through two types of tools: predefined tools that come built-in with the platform, and custom tools that you can create to extend your agent's functionality.

<Tabs>
  <Tab title="Tools (Predefined)">
    The **Tools (Predefined)** tab allows you to enable or disable built-in capabilities that your AI agent can use during conversations. Each tool represents a predefined function—such as answering FAQs, sending files, or escalating to a human agent—that can be toggled on or off depending on your business needs.

    When a tool is enabled, additional configuration may be required before the agent can use it successfully. Some tools also depend on the **type of channel** where the end user is interacting (e.g., WhatsApp, Zendesk, Freshchat).

    ***

    ## How to Enable or Disable a Tool

    1. Navigate to **AI Agent > Design > Skills** in the left menu.
    2. Under **Tools (Predefined)**, locate the tool you want to manage.
    3. Use the **toggle switch** to turn the tool on or off.
    4. If the tool requires configuration, click **Configuration**, complete the required setup, and save your changes.
    5. Check that the tool is supported by the **channels** your agent is connected to.

    ***

    ## Available Predefined Tools

    ### **Send Files**

    * **Description:** Allows the agent to send files directly to the user during a conversation.
    * **Default:** Always enabled.
    * **Configuration:** No setup required.

    ***

    ### **Answer FAQs**

    * **Description:** Enables the agent to respond to frequently asked questions about your product or service.
    * **Default:** Always enabled.
    * **Configuration:** No setup required. You can manage and update FAQs in the **Knowledge** section of the agent.

    ***

    ### **Collect Information**

    * **Description:** Enables the agent to collect, verify, and store user information (e.g., name, email, phone number) for lead generation or service requests.
    * **Toggle:** Off by default.
    * **Configuration:** Define the fields you want the agent to collect and where the data should be stored.

    <Note>
      This tool is **so important** that once enabled, it activates a dedicated **Collect Information tab** in the Skills section. From there, you can create, edit, and manage information collection configurations in detail.
    </Note>

    <Accordion title="How to Configure Collect Information">
      1. Go to **AI Agent > Design > Skills > Collect Information**.
      2. Click **New Configuration** to start.
      3. Enter a **Name** for your configuration (e.g., `registro_interesados`).
      4. Add any **Special Instructions** to guide the agent's behavior while collecting data.
      5. Add **Fields** to specify the data points you want to collect:
         * **Field name** (e.g., `Full name`)
         * **Field type** (text, number, date, boolean, or enum)
         * **Instructions** for the agent (e.g., "Ask politely for the user's full name")
         * **Required / Optional** toggle
         * **Validation** — for text or number fields, you can add a **regular expression** (regex) to validate the user's input before accepting it
      6. Choose the **Channels** where this configuration should be active.
      7. Click **Save** to activate.
    </Accordion>

    ***

    ### **Search Links (Web Search)**

    * **Description:** Allows the agent to search the web for real-time information. The agent will use external web searches to supplement its responses when necessary.
    * **Toggle:** Off by default.
    * **Configuration:** No setup required.

    ***

    ### **Human Escalation**

    * **Description:** Enables the agent to hand off a conversation to a live human agent when it cannot resolve the user's request.
    * **Toggle:** Off by default.
    * **Channel support:** This tool only appears and is configurable if you have an active integration with **Freshchat** or **Zendesk**.
    * **Configuration:** Select which integration should handle the escalation.

    ***

    ### **Send Email**

    * **Description:** Allows the agent to send emails on behalf of your organization during a conversation.
    * **Toggle:** Off by default.
    * **Configuration:** Email settings (sender address, templates, etc.) must be configured before the agent can send emails.
  </Tab>

  <Tab title="Custom Tools">
    The **Custom Tools** tab allows you to create your own tools that extend what your AI agent can do. Unlike predefined tools, custom tools connect your agent to **external APIs and services** — enabling it to look up data, trigger actions, or interact with your internal systems during a conversation.

    ***

    ## What is a Custom Tool?

    A custom tool is an HTTP-based integration that your agent can call mid-conversation. You define:

    * The **endpoint URL** your agent should call
    * The **HTTP method** (GET, POST, PUT, DELETE, PATCH)
    * The **headers** and **authentication** needed
    * The **input parameters** the agent should extract from the conversation
    * The **output fields** the agent should use from the response

    When the agent determines that a custom tool is relevant to the user's request, it automatically extracts the required parameters from the conversation, calls the endpoint, and uses the response to continue the interaction.

    ***

    ## Creating a Custom Tool

    <Steps>
      <Step title="Go to Skills > Custom Tools">
        Navigate to **AI Agent > Design > Skills** and select the **Custom Tools** tab.
      </Step>

      <Step title="Click New Tool">
        Click the **New Tool** button to open the tool creation form.
      </Step>

      <Step title="Fill in the general information">
        Provide the following details:

        * **Name** — a unique identifier for the tool (used internally by the agent). Use lowercase and underscores (e.g., `check_order_status`).
        * **Title** — an optional human-readable label for the tool. When set, this title is displayed in dashboards (such as the Task Log) instead of the internal name, making it easier to identify tools at a glance.
        * **Description** — explain what the tool does. This helps the agent decide when to use it.
      </Step>

      <Step title="Configure the HTTP request">
        * Select the **HTTP method** (GET, POST, etc.)
        * Enter the **endpoint URL**
        * Add any required **headers** (e.g., `Authorization: Bearer <token>`)
        * Choose the **authentication type** if needed
      </Step>

      <Step title="Define input parameters">
        Add the parameters the agent needs to extract from the conversation:

        * **Parameter name** — the key expected by the API
        * **Type** — string, number, boolean, etc.
        * **Description** — how the agent should identify this value in the conversation
        * **Required** — whether the parameter is mandatory
      </Step>

      <Step title="Define output fields">
        Specify which fields from the API response the agent should use:

        * **Field name** — the key in the response JSON
        * **Description** — what this field represents (helps the agent use it naturally in conversation)
      </Step>

      <Step title="Save">
        Click **Save** to create the tool. It will be available for your agent to use immediately.
      </Step>
    </Steps>

    <Tip>
      Write clear, specific descriptions for both the tool and its parameters. The better the agent understands what the tool does and what each parameter means, the more accurately it will use the tool during conversations.
    </Tip>

    <Tip>
      Use the **Title** field to give your tool a friendly, descriptive label (e.g., "Check Order Status"). This title appears in the Task Log and other dashboards, making it much easier to monitor tool activity without needing to remember internal names.
    </Tip>

    ***

    ## Managing Custom Tools

    From the Custom Tools tab, you can:

    * **Edit** any existing tool by clicking on it
    * **Delete** tools that are no longer needed
    * **Test** tools directly from the Playground to verify they work as expected

    <Note>
      Custom tools are scoped to your **organization**. All agents in your organization can potentially use any custom tool you create.
    </Note>
  </Tab>
</Tabs>
