# AI functions and required inputs

Define the operations an AI agent can use and the information it must supply to each operation.

*Release 3.3 · admin, developer*

**Settings › AI › Functions** · **Settings › AI › Features** · **Settings › AI › Skills**

## What it is

**Functions** are operations an AI agent can use to obtain information or perform an action. Each function has a name, description and type, plus any expected arguments. You decide which functions a feature or skill makes available.

## Who uses it and why

Users with the **Settings** or **Developer** role select the approved operations for an agent. Developers define integration details and the parameter descriptions that help the AI supply suitable input.

## Where to find it

Open **Settings › AI › Functions**. You need **Settings** with **AI** allowed under **Settings Permissions**, or **Developer**.

Assign functions through **Functions** under **Settings › AI › Features**. For reusable skills, use **AI Functions** under **Settings › AI › Skills**.

## How it works

1. Define an operation in the function catalogue and configure its type-specific options.
2. Describe what it does and when the agent should use it.
3. Define **Parameters** where the type needs them. Some types generate or import their parameters automatically.
4. Enable the function and assign it to a compatible feature or skill.
5. During a request, the AI can ask to call the available function. INSIDE runs the configured operation and returns its result for the agent's next decision.

Function types cover knowledge lookup, browsing, APIs, scripts, connected automations, workflow tasks, voice actions, data updates, commerce, specialist agents and virtual try-on. Availability depends on the owning feature and required integration.

For supported text agents, an active skill can add functions. INSIDE combines these with the feature's functions, removes repeated references to the same function and rejects conflicting effective names. Supported tool history can let the agent revisit earlier results.

## Configure it

Choose the function **Type**, enter **Name** and **Description**, and complete the type-specific options. Names must contain **1 to 64** letters, numbers, underscores or hyphens. A new function cannot reuse an existing name on the website.

Under **Parameters**, set each argument's **Key**, **Type**, **Description** and **Required** flag. Supported types include text, integers, numbers, booleans, arrays, objects and enumerations. Use **Items Type**, **Enum Values (comma-separated)** or **Object Schema (JSON)** as appropriate.

Save the function, check **Enabled**, and select it on the intended feature or skill. Creating a catalogue entry alone does not assign it to an agent.

### Settings

| Setting | Where | Applies to | Default | Who can change it | What it does |
|---|---|---|---|---|---|
| Enabled | Settings › AI › Functions | website | On for a new function | Settings role, Developer role | Controls whether a configured function is available to supported agents. |
| Functions | Settings › AI › Features | website | Not set: no functions assigned to the feature | Settings role, Developer role | Selects configured operations for that AI feature. |
| AI Functions | Settings › AI › Skills | website | Not set: no functions added by the skill | Settings role, Developer role | Adds operations when an assigned skill becomes active. |

### Fields

| Field | Where | Required | What it is for |
|---|---|---|---|
| Name | Settings › AI › Functions | Yes | Identifies the operation to the AI and in configuration lists. |
| Description | Settings › AI › Functions | No | Explains when the AI should use the operation. |
| Type | Settings › AI › Functions | Yes | Selects the kind of operation and its configuration form. |
| Key | Settings › AI › Functions | No | Names an argument in Parameters. |
| Type | Settings › AI › Functions | No | Sets an argument's value type within Parameters. |
| Required | Settings › AI › Functions | No | Marks an argument as mandatory in the function's parameter definition. |
| Description | Settings › AI › Functions | No | Explains an individual argument within Parameters. |
| Items Type | Settings › AI › Functions | No | Defines the item type for an array argument. |
| Enum Values (comma-separated) | Settings › AI › Functions | No | Lists the allowed values for an enumeration argument. |
| Object Schema (JSON) | Settings › AI › Functions | No | Defines the properties of an object argument. |

### Permissions

| Permission | Lets you |
|---|---|
| Settings | Manage AI functions and assignments when AI is allowed under Settings Permissions. |
| AI | Allows AI configuration within Settings Permissions. |
| Developer | Manage AI functions and assignments. |

## Limits and good to know

- System-managed functions cannot be deleted or have their names or types changed. You can customise their descriptions.
- Instructions mentioning an operation do not make an unassigned operation available.
- Each function type determines what arguments it accepts and how failures are reported. A parameter definition is not a guarantee that an external service will accept a request.
- Active skills cannot increase the feature's execution limits. Their combined functions are subject to the skill limits.
- Email Autopilot excludes workflow functions. Voice call actions use Voice Autopilot's own selection and execution path.

## Depends on and works with

### This feature uses

- **Configured in** [Roles and permissions](ADM-008.md): Roles and AI permissions control catalogue access.
- **Configured in** [AI feature settings and change history](AI-001.md): AI features choose the functions they can use.
- **Configured in** [AI run limits](AI-014.md): Run allowances restrict repeated function execution.
- **Configured in** [AI result processor templates](AI-040.md): Optional result processors change how function output is reused.
- **Works better with** [AI knowledge and web search](AI-017.md): Knowledge and browser functions provide retrieved information.
- **Works better with** [AI integrations and automation tools](AI-018.md): External-action functions call APIs, scripts and connected automations.
- **Works better with** [AI updates to customer and conversation data](AI-019.md): Update Data and workflow prerequisites control structured data collection.
- **Works better with** [Reusable AI skills and instructions](AI-020.md): Active skills add their selected functions to a supported feature.
- **Works better with** [Specialist sub-agents for AI tasks](AI-023.md): Sub-agent functions request work from another configured AI feature.
- **Works better with** [Virtual Try-On with customer photos](AI-035.md): Virtual Try-On is available as a configured function type.
- **Works better with** [Conversation history tools for AI](AI-038.md): Supported agents can inspect previous tool results when tool history is enabled.
- **Works better with** [Virtual Assistant tasks started by Autopilot](ENG-027.md): Workflow functions can hand supported Autopilot conversations to a task.

### Used by

- **Required by** [Virtual Assistant tasks started by Autopilot](ENG-027.md): The AI function catalogue exposes Virtual Assistant Task for permitted AI use.
- **Required by** [AI knowledge and web search](AI-017.md): The agent must have the appropriate retrieval function available.
- **Required by** [AI integrations and automation tools](AI-018.md): Each external operation is a configured and assigned function.
- **Required by** [AI updates to customer and conversation data](AI-019.md): Update Data and Workflow must be available as configured functions.
- **Required by** [Specialist sub-agents for AI tasks](AI-023.md): Specialist invocation is configured as a function available to the calling feature.
- **Required by** [Virtual Try-On with customer photos](AI-035.md): Virtual Try-On must be available as a function on the AI feature.
- **Required by** [Embedding models for knowledge search](AIP-008.md): Embedding options are configured on a Knowledge Base function.
- **Required by** [Knowledge Base connections for AI](AIP-009.md): Knowledge retrieval runs as an authorised AI function.
- **Required by** [Algolia Search for AI knowledge](AIP-010.md): The connector runs through an enabled and authorised AI function.
- **Required by** [MCP tool connections for AI](AIP-017.md): The selected remote operation runs through an authorised AI function.
- **Required by** [AI customer and order search](COM-011.md): A Commerce function exposes the enabled search and lookup capabilities.
- **Required by** [AI commerce functions and access limits](COM-029.md): Commerce is an AI Function with authorised operation execution.
- **Configures** [Autopilot handover and error handling](AI-004.md): A Virtual Assistant Task function enables an intentional AI handoff.
- **Configures** [Voice Autopilot call handling](AI-013.md): The selected functions determine which call actions and custom operations are available.
- **Configures** [AI product suggestion settings](AI-027.md): The built-in suggestion process uses the search functions configured and assigned to the feature.
- **Configures** [AI result processor templates](AI-040.md): Each function selects its Result Processor and output-processing Mode.
- **Configures** [Saved responses as AI knowledge](AIP-011.md): The generated search function's enablement and description control its availability and guide its use by AI features.
- **Configures** [Knowledge sources behind AI citations](AIP-012.md): Knowledge Source on an AI function assigns the named source to information that function returns.
- **Configures** [Voice Autopilot connection setup](AIP-025.md): The selected AI functions determine which call actions and custom tools the voice agent may use.
- **Configures** [Commerce provider setup and selection](COM-001.md): A Commerce function can select a fixed provider instead of automatic routing.
- **Configures** [Product search and filters](COM-007.md): Commerce function capabilities control AI access to catalogue search and facets.
- **Enhances** [Autopilot for live chat](AI-003.md): Selected functions let Autopilot perform permitted actions.
- **Enhances** [Copilot reply suggestions](AI-006.md): Configured functions supply information and permitted actions.
- **Enhances** [Ask AI beside a visitor conversation](AI-008.md): Configured functions extend what the assistant can do.
- **Enhances** [Email Autopilot for tickets](AI-012.md): Assigned functions can provide results before the final ticket action.
- **Enhances** [AI run limits](AI-014.md): The function catalogue supplies the operations used between generations.
- **Enhances** [Reusable AI skills and instructions](AI-020.md): An active skill adds selected functions to the feature's effective function set.
- **Enhances** [AI agent service connections](AI-024.md): External agents can receive access to permitted INSIDE functions.
- **Enhances** [Rich content in AI replies](AI-026.md): Approved tool results can supply facts for cards.
- **Enhances** [AI answer citations and summaries](AI-028.md): Tool results provide the evidence referenced by answers.
- **Enhances** [Ask AI agents in Team Chat](AI-036.md): The agent can use approved functions that do not require unavailable visitor context.
- **Enhances** [AI model provider selection](AIP-003.md): Tool-capable providers can request functions made available to an AI feature.
- **Enhances** [OpenAI API connection options](AIP-004.md): Supported models can request functions exposed by the feature.
- **Enhances** [Google AI Studio model connection](AIP-005.md): Direct connections can use functions exposed by the AI feature.
- **Enhances** [AWS Bedrock model connection](AIP-006.md): Compatible Bedrock models can request functions exposed by a feature.
- **Enhances** [AI execution tracing with Langfuse](AIP-015.md): Traces can include tool calls, arguments and results.
- **Enhances** [Salesforce Models API connection](AIP-027.md): Explicit tool emulation lets supported model responses request configured functions.

## FAQ and troubleshooting

### Why does the AI not use a function I created?

Check **Enabled**, the feature's **Functions** selection and any skill activation conditions. Also check that the function type is supported by that feature.

### Why is a function name rejected?

Use the allowed characters and length, and choose a unique name. Active functions with conflicting names also prevent a skill configuration from running correctly.

### Why can I not delete or rename a system function?

INSIDE manages its identity and execution behaviour. Edit its description to guide use, or change whether the relevant feature selects it.

### Does selecting a function guarantee the AI will call it?

No. Selection makes it available. Its description, the feature's instructions, the user's request and remaining execution allowance affect whether it is used.
