# Advanced functions

AIsuru's advanced functions let you create custom integrations between your Agent and external services through webhooks. This feature (also known as function calling) lets you go beyond built-in functions and build solutions tailored to your specific needs.

### What are advanced functions?

Unlike built-in functions, which provide pre-configured tools, advanced functions let you:

* Create custom integrations with any external service;
* Automate complex processes specific to your use case;
* Retrieve real-time data from your own proprietary sources;
* Have your Agent perform specific actions.

### How they work

When a user asks a question:

1. The generative AI decides whether and which function to call, based on the instructions and the function's description;
2. The function sends a request to the configured webhook;
3. The webhook processes the request and returns a response;
4. The language model analyzes the response and generates a natural reply for the user.

The real power of advanced functions lies in their flexibility: the webhook can return data in any format (JSON, markdown, text, HTML), and the language model will process it to craft an appropriate response.

### When to use advanced functions

Advanced functions are ideal when you need to:

* Integrate the Agent with proprietary systems;
* Create complex, custom automations;
* Retrieve data from sources not accessible through built-in functions;
* Execute actions specific to your use case.

In the next sections we'll look in detail at how to [configure advanced functions](/en/advanced-features/integrations/functions/advanced-functions/how-to-configure-a-custom-function.md), [best practices](/en/advanced-features/integrations/functions/advanced-functions/best-practices.md) for using them, and how to handle [common issues](/en/advanced-features/integrations/functions/advanced-functions/common-issues-with-advanced-functions.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aisuru.com/en/advanced-features/integrations/functions/advanced-functions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
