Skip to main content

Creating a Function Tool

Follow these steps to create a new Function Tool
1

Add a new Tool to a Project

Use the + button to add a new Entity to a Project.
Tool Add
2

Enter Tool Details

Enter the main details of the tool:
  • Key, used by models to reference the tool
  • Name, used in the studio to find the tool
  • Description, used to describe the tool
    Make the Description as precise as possible, it is used notably by Agents when looking up relevant tools for their tasks.
Function Tool Configure
3

Configure your Function Tool

Function Tools are defined using JSON.Here is an example of a JSON schema for a function get_current_weather that declares the fields location (string)and unit (string):
{
  "type": "object",
  "properties": {
    "unit": {
      "type": "string",
      "description": "The temperature unit, e.g. Celsius"
    },
    "location": {
      "type": "string",
      "description": "The city and state, e.g. San Francisco, CA"
    }
  },
  "required": [
    "location",
    "unit"
  ]
}
The object defined here is based on JSON Schema. This framework allows for extensible definition that fit your ideal function definition.

Field Details

Type

Use here any of the valid JSON types: object, string, integer, number, array, etc… The top-level type will most commonly be an object holding other properties.Learn more about all JSON types in the JSON Schema definition.

Properties

Properties are definition of fields within an object. Here you can define any new variable. Nested properties are allowed.

Required

The required array within an object defines which fields must be entered for a JSON payload to be validated.

Creating a JSON Tool

Follow these steps to create a new JSON Schema Tool
1

Add a new Tool to a Project

Use the + button to add a new Entity to a Project.
Tool Add
2

Enter Tool Details

Enter the main details of the tool:
  • Key, used by models to reference the tool
  • Name, used in the studio to find the tool
  • Description, used to describe the tool
    Make the Description as precise as possible, it is used notably by Agents when looking up relevant tools for their tasks.
3

Configure your JSON Schema Tool

JSON Schema Tools are defined using JSON.Here is an example of a JSON schema for a function get_current_weather that declares the fields location (string)and unit (string):
{
  "type": "object",
  "properties": {
    "unit": {
      "type": "string",
      "description": "The temperature unit, e.g. Celsius"
    },
    "location": {
      "type": "string",
      "description": "The city and state, e.g. San Francisco, CA"
    }
  },
  "required": [
    "location",
    "unit"
  ]
}
The object defined here is based on JSON Schema. This framework allows for extensible definition that fit your ideal function definition.

Field Details

Type

Use here any of the valid JSON types: object, string, integer, number, array, etc… The top-level type will most commonly be an object holding other properties.Learn more about all JSON types in the JSON Schema definition.

Properties

Properties are definition of fields within an object. Here you can define any new variable. Nested properties are allowed.

Required

The required array within an object defines which fields must be entered for a JSON payload to be validated.

Creating an HTTP Tool

Follow these steps to create a new HTTP Schema Tool
1

Add a new Tool to a Project

Use the + button to add a new Entity to a Project.
Tool Add
2

Enter Tool Details

Enter the main details of the tool:
  • Key, used by models to reference the tool
  • Name, used in the studio to find the tool
  • Description, used to describe the tool
    Make the Description as precise as possible, it is used notably by Agents when looking up relevant tools for their tasks.
Http Tool Add Pn
3

Configure your HTTP Tool

HTTP Tools are defined within the Studio, either using the UI or using JSON (use the toggle to change mode)
Http Tool Configuration Pn
The following configurations are available:
FieldDescription
URLEnter the API URL as well as the HTTP Method for the call
HeaderDefine Request Header Key-value pairs
PayloadDefine Request Body Payload Key-value pairs (these are translated to JSON at runtime)
AuthenticationDefine an optional Bearer Authentication field and Token (Tokens are encrypted when saved in Orq).
You can use Variables with the {{variable}} syntax within any configuration field. The variable will be resolved at runtime when the payload is built for the HTTP call.
Use the Autogenerate Schema when using variables to ensure variable definition is correctly created.

Creating an MCP Tool

Follow these steps to create a new MCP Tool
1

Add a new Tool to a Project

Use the + button to add a new Entity to a Project.
Tool Add
2

Enter Tool Details

Enter the main details of the tool:
  • Key, used by models to reference the tool
  • Name, used in the studio to find the tool
  • Description, used to describe the tool
    Make the Description as precise as possible, it is used notably by Agents when looking up relevant tools for their tasks.
  • MCP Server URL, a valid MCP url
  • Authentication Type, an optional Bearer Authentication token, stored securely
Create Mcp Tool Pn
3

View your MCP configuration

MCP Tools are automatically configured, you can then visualize all the capabilities fetched from the MCP Server.Use the Refresh button to fetch a new configuration.
Mcp Tools Pn

Creating a Python Tool

Follow these steps to create a new Python Tool
1

Add a new Tool to a Project

Use the + button to add a new Entity to a Project.
Tool Add
2

Enter Tool Details

Enter the main details of the tool:
  • Key, used by models to reference the tool
  • Name, used in the studio to find the tool
  • Description, used to describe the tool
    Make the Description as precise as possible, it is used notably by Agents when looking up relevant tools for their tasks.
Create Python Tool
3

Configure your Python Tool

Freely define the code to be ran during Tool execution.You can define the JSON Schema for the parameters to be sent into the tool. Here, see the name field defined and then further fetched using params.get('name').Ensure your return value is stored within the result field.
Python Tool Config