- Select the AI Agent node in your flow
- Open the TOOLS section in the node configuration
- Click the ”+ Add tools” button
- In the “Select a Tool” field, you will see the list of all available tools, including native ones (marked with the text “(Native)”)

Product search
Searches products in the available catalog to recommend to the user. Uses a search engine to find matches based on the product name or related terms. Parameters:| Name | Type | Required | Description |
|---|---|---|---|
product | string | Yes | Search term or product name. |
top_k | number | No | Maximum number of results to return. |
score_threshold | number | No | Minimum similarity score (0.0 to 1.0) to consider a result relevant. |
client_reference_id | string | No | Customer reference ID for personalized searches. |
“If the user asks about the availability of a specific item or model, you MUST use the search_products tool to query the catalog before responding.”
Arguments Example:
- Requires the bot to have a product catalog configured and accessible.
Transfer to agent
Transfers the user’s current conversation to a human agent or an attention queue. Allows specifying routing strategies and priorities. Parameters:| Name | Type | Required | Description |
|---|---|---|---|
assignment_type | enum | No (Default: direct) | Assignment method: direct (immediate) or queue (ticket queue). |
assignment_by | enum | No (Default: shuffle) | Routing strategy: shuffle (auto), team, operators, general. |
teamId | number | No* | Team ID. *Required only if assignment_by is ‘team’. |
operatorId | number | No* | Operator ID. *Required only if assignment_by is ‘operators’. |
priority | number | No (Default: 0) | Queue priority (0-10), only relevant for assignment_type='queue'. |
“When the user expresses frustration or explicitly requests to speak with a real person, execute the transfer_to_agent function immediately.”
Arguments Example:
Case: Automatic direct transfer (most common)
- Can end the AI flow immediately.
- When using
assignment_type: "queue"withassignment_by: "general", a ticket is created in the general attention queue. - Important: Team or operator IDs must not be made up; only those explicitly configured should be used.
Send interactive messages
Sends a structured or interactive message to the user. The exact format depends on the channel (WhatsApp, Web, etc.), but generally includes buttons or option lists. Parameters:| Name | Type | Required | Description |
|---|---|---|---|
text | string | Yes | Main content of the message. Maximum 1024 characters. |
title | string | No | Header/title of the message. Maximum 60 characters. |
caption | string | No | Subtitle or complementary description. Maximum 60 characters. In WhatsApp with 4+ options, used as the button text that expands the list. |
options | array | Yes | List of options/buttons. See structure below. |
options (Array of objects):
title(string, required): Text of the option/button. Maximum 20 characters. Duplicate titles are not allowed.description(string, optional): Additional description of the option. Maximum 72 characters.
“If the user asks what services we offer, you MUST use send_interactive_message to display a menu with the available options.”
Arguments Example (Buttons - 3 or fewer options):
In WhatsApp, when you send 4 or more options, the message is displayed as a dropdown list. The
caption value is used as the button text that opens the list (in the example above, “View options”)."Message sent successfully." if the sending was successful or an error message otherwise.
Notes:
- Sends a real message to the user.
- The message type adapts automatically according to the channel and number of options.
Send Call to Action (CTA)
Sends a call-to-action button that opens an external URL. It can be configured as a WebView for forms or payments that require waiting for a user response. Parameters:| Name | Type | Required | Description |
|---|---|---|---|
text | string | Yes | Main content of the message. |
url | string | Yes | URL that opens when the button is clicked. |
display_text | string | Yes | CTA button text. Maximum 20 characters. |
title | string | No | Header/title of the message. |
caption | string | No | Subtitle to complement the message. |
is_webview | boolean | No | If true, sends as a WebView that pauses the flow and waits for a callback. Default: false. |
expiration_time | number | No | Seconds to wait for the callback before expiring. Default: 300. Only applies when is_webview=true. |
pending_message | string | No | Message to show if the user sends text while waiting for the WebView callback. |
response_variable | string | No | Name of the variable where the callback response will be saved. |
input | string | object | No | Data to pass to the WebView as URL parameters. |
“When the user confirms they want to make the payment, useArguments Example (Simple CTA):send_call_to_actionwithis_webview=trueto send the payment link and wait for confirmation.”
- Normal CTA:
"Call-to-action message sent successfully." - WebView:
"WebView message sent. Waiting for user action."
- Available only for WhatsApp providers that support this type of message.
- When
is_webview=true, the flow pauses until the WebView returns a callback or the time expires. - The
inputvalue is converted to URL query string parameters. - The callback response is saved in the variable specified in
response_variable.
Current date and time
Gets the current date and time. Allows specifying a time zone to get the correct local time. Parameters:| Name | Type | Required | Description |
|---|---|---|---|
timezone | string | No | Desired time zone in IANA format (e.g., “America/Guayaquil”, “UTC”). |
“Before processing any time-dependent request (such as ‘good morning’ or appointments for ‘today’), call get_current_date_time to know the exact time.”
Arguments Example:
"Monday, December 08, 2025 10:30 AM".
Notes:
- Has no visible side effects for the user.
- It is purely informational for the model.
Day of the week
Calculates and returns the day of the week corresponding to a specific date provided. Parameters:| Name | Type | Required | Description |
|---|---|---|---|
date | string | Yes | Date to query (ISO format or standard readable format, e.g., “2024-12-25”). |
“If the user wants to schedule for a specific date, first verify what day of the week it is using get_weekday_of_a_date to ensure it is a business day.”
Arguments Example:
"Wednesday".
Notes:
- Useful for validating appointments or schedules.