AI tools

What are AI tools and tool calling?

AI tools are services that an AI model can use to gain new abilities and information. Tool calling is the AI's internal decision-making process where it recognizes that a request requires it to temporarily stop its normal text generation and instead use a tool to assist the user. This allows the AI to fetch real-time data, run code, or take actions in the outside world, making it a much more useful assistant.

circle-info

You can find AI tools under EbbotGPT > Configurations. Go into your active configuration and set it to prompt version: v2 (the tool calling version) and the AI tools section of the configuration will appear.

How to use tools

Activating a tool makes EbbotGPT aware of its capabilities, but providing specific instructions ensures it uses those tools precisely when needed. You do that by adding explicit instructions to your Persona Settings.

  • Data Retrieval: "If a user inquires about platform status, ongoing maintenance, or reported outages, use the Get website tool to retrieve the latest updates from our official status page."

  • Escalation: "Trigger a Human Handover immediately if a user expresses a desire to cancel their subscription or requires a refund."

Ebbot's native AI tools

Handover to Human

Transfers the conversation to a human agent.

Trigger scenario

This capability enables the AI to recognize and launch your predefined scenarios or workflows. To ensure accurate execution, provide a clear, detailed description for each scenario, then simply activate the tool and select the scenarios the AI is authorized to use.

How to:

  1. Add a description to the scenario to make it easy for the AI to understand when it should be triggered

  2. Activate trigger scenario tool

  3. Select what scenario that can be triggered

Get Website

Use this tool to perform live web scrapes for information that is time-sensitive or frequently changing, ensuring the most current data is acquired on demand.

Allowed URLs: Specify what URLs the tool should be allowed to scrape.

circle-exclamation

Limitations: The Get Website tool is designed for single-page extraction, not site-wide crawling. It should not be used as a substitute for a full website scrape.

Use Case: Use this tool to retrieve real-time data from specific, high-value URLs, such as your status.ebbot.aiarrow-up-right or specific page on your website such as ebbot.com/platform/integrationsarrow-up-right

Calculator

Use this tool to perform accurate mathematical calculations. This bypasses the LLM's core weakness, which is its reliance on statistical probability rather than logical computation for numerical tasks.

Get User Info

Fetch information that already exist in Ebbot about the user. By design, EbbotGPT does not have blanket access to all your stored data. This ensures that sensitive information stays private and isn't processed by the AI unless necessary. This tool acts as a secure bridge, allowing the AI to fetch only the specific, safe user details it needs to provide a personalized experience.

circle-info

By default, the only information about the user in Ebbot is:

  • User Location: Belgium (IP: 35.228.240.254)

  • Tech Stack: Chrome browser on a non-standard OS; English language.

  • Current Activity: Configuring an Ebbot GPT instance on the v2.ebbot.app dashboard.

  • Last Action: The user clicked a Conversation Starter (a preset button) rather than typing a message manually.

  • Behavior Note: The bot was set to "skip typing," meaning the response appeared instantly without a loading animation.

You can add custom user metadata through the chat widget API. For implementation details, please refer to our documentation herearrow-up-right.

Set User info

Enables the LLM to dynamically update user profiles in Ebbot by extracting and saving key details from the conversation.

circle-exclamation

Search dataset

Search for information in the dataset by allowing the AI to create the query and perform the search.

Extra description: In the inputfield you can define when a specific data set should be used

Searchable datasets: Set one or more datasets the LLM should be able to access

Number of results: How many documents should be retrieved (more documents means slower LLM response)

Search Google

The Search Google tool enables the LLM to perform real-time web searches to retrieve up-to-date facts, news, and documentation. By processing live search results, the assistant can provide grounded answers and reduce hallucinations when discussing recent events.

circle-exclamation

You can add more allowed URLs by adding a comma and a space between them:

End Chat

Let the AI be able to close the chat.

Reject

Let the AI block harmful questions and topics.

HTTP Request

Allow your AI agent to access information on the internet by making HTTP requests to external APIs and websites. This tool allows you to fetch real-time data or send information to third-party services instantly.

circle-info

Use this tool as a fast way to do light weight integrations. For instance, it can execute a GET request to your product recommendation engine in order to suggest products.

chevron-rightTechnical instruction on how to use the http request toolhashtag

HTTP Request Tool (http_request)

The http_request tool lets you define one or more preconfigured HTTP requests that the assistant can call as safe, named tools. Each request you configure becomes its own tool (for example, request_search_products).

This chapter explains the JSON config for http_request and how to set it up.

How it works (short version)

  • You provide a requests array in the tool config.

  • Each request object defines a method, URL, headers/body, and optional placeholders.

  • Placeholders are turned into arguments that the assistant must supply.

  • The tool performs the HTTP call, then returns a JSON string with metadata and the response data.

Config JSON

The tool config accepts a single key: requests.

Request object fields

Field
Type
Required
Description

name

string

Yes

Human-readable name. Used to generate the tool name (e.g. request_search_catalog).

description

string

No

Custom tool description shown to the assistant.

method

string

Yes

HTTP method. Allowed: GET, POST, PUT, PATCH, DELETE (case-insensitive).

url

string

Yes

Target URL. Must be HTTPS and public. You can include placeholders like {{id}}.

headers

object

No

Header key/value map. Placeholders are supported in both keys and values.

body

any

No

Request body for non-GET methods. Placeholders are supported anywhere in the JSON.

placeholders

array

No

Defines the arguments the assistant must provide. See below.

responsePath

string

No

JMESPath expression to extract a specific part of a JSON response.

Placeholders (dynamic arguments)

Use placeholders to insert user-provided values into the request.

  • Placeholder format: {{key}}

  • Supported in: url, headers, and body (including nested fields and object keys).

  • Placeholders create tool arguments for the assistant.

Each entry in placeholders can include:

Field
Type
Required
Description

key

string

Yes

Argument name used in {{key}} placeholders.

type

string

No

Argument type for the schema. Defaults to string. Options: string, number, boolean, object, array.

description

string

No

Helpful explanation for the assistant.

default

any

No

If provided, the argument becomes optional.

Example: optional placeholder with default

If the assistant does not pass limit, the tool uses 10.

Response selection with responsePath

If the response is JSON, you can extract a nested value using a JMESPath expression. If the path is invalid, the full JSON is returned instead.

Example:

Safety limits and behavior

The tool enforces safe and predictable HTTP behavior:

  • HTTPS only.

  • No localhost, private IPs, single-label hostnames, or .local domains.

  • Max response size: 1 MB.

  • Max redirects: 3.

  • Timeout: 15 seconds.

  • Only certain content types are accepted (HTML, text, JSON, XML, etc.).

  • Responses are returned as a JSON string and truncated to 16,384 characters.

The returned JSON string looks like this:

Tips

  • Use clear name values so the generated tool name is understandable.

  • Define placeholders for anything that should be dynamic (query, IDs, auth tokens).

  • Prefer responsePath to keep responses small and focused.

  • For GET requests, body is ignored.

How to see if a tool was used

To see exactly how your AI agent used its tools, go to your chat history. In the top right corner of the AI's reply you can see if a tool was used. Click on that text to see more information about the tool's output and how it was used.

Last updated

Was this helpful?