> For the complete documentation index, see [llms.txt](https://docs.flowiseai.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flowiseai.com/espanol/documentacion-oficial/use-cases/calling-children-flows.md).

# Calling Children Flows

Aprende a usar efectivamente el Chatflow Tool y el Custom Tool

***

Una de las características más potentes de Flowise es que puedes convertir flujos en tools. Por ejemplo, tener un flujo principal para orquestar qué/cuándo usar las tools necesarias. Y cada tool está diseñada para realizar una tarea específica.

Esto ofrece varios beneficios:

* Cada children flow como tool se ejecutará por sí mismo, con memoria separada para permitir una salida más limpia
* Agregar salidas detalladas de cada children flow a un agente final, a menudo resulta en una salida de mayor calidad

Puedes lograr esto usando las siguientes tools:

* Chatflow Tool
* Custom Tool

## Chatflow Tool

1. Ten un chatflow listo. En este caso, creamos un chatflow Chain of Thought que puede pasar por múltiples encadenamientos.

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-25eb81ba7887f3bb9fd5c4ac13d46863bb59f750%2Fimage%20(169).png?alt=media" alt=""><figcaption></figcaption></figure>

2. Crea otro chatflow con Tool Agent + Chatflow Tool. Selecciona el chatflow que quieres llamar desde la tool. En este caso, fue el chatflow Chain of Thought. Dale un nombre y una descripción apropiada para que el LLM sepa cuándo usar esta tool:

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-76fc4d4f8c19ed9ae99ff4c2f80315d9a1606bc9%2Fimage%20(35).png?alt=media" alt="" width="245"><figcaption></figcaption></figure>

3. ¡Pruébalo!

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-9d0ae75507de6d62369d4b341f6b1a4c0ed36648%2Fimage%20(168).png?alt=media" alt=""><figcaption></figcaption></figure>

4. En la respuesta, puedes ver la entrada y salida del Chatflow Tool:

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-9e2c6d6b999e4ea23c1f2eab3bc52d7e85ebe8f6%2Fimage%20(170).png?alt=media" alt=""><figcaption></figcaption></figure>

## Custom Tool

Con el mismo ejemplo anterior, vamos a crear una custom tool que llamará a la [Prediction API](https://github.com/FlowiseAI/FlowiseDocs/blob/main/esp/using-flowise/api.md#prediction-api) del chatflow Chain of Thought.

1. Crea una nueva tool:

<table><thead><tr><th width="180">Tool Name</th><th>Tool Description</th></tr></thead><tbody><tr><td>ideas_flow</td><td>Usa esta tool cuando necesites alcanzar cierto objetivo</td></tr></tbody></table>

Input Schema:

<table><thead><tr><th>Property</th><th>Type</th><th>Description</th><th data-type="checkbox">Required</th></tr></thead><tbody><tr><td>input</td><td>string</td><td>pregunta de entrada</td><td>true</td></tr></tbody></table>

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-cdf7bcfa4e3d6f935235ca5afaf08cccd85f5785%2Fimage%20(95)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

Función Javascript de la tool:

```javascript
const fetch = require('node-fetch');
const url = 'http://localhost:3000/api/v1/prediction/<chatflow-id>'; // reemplazar con el id específico del chatflow

const body = {
	"question": $input
};

const options = {
	method: 'POST',
	headers: {
		'Content-Type': 'application/json'
	},
	body: JSON.stringify(body)
};

try {
	const response = await fetch(url, options);
	const resp = await response.json();
	return resp.text;
} catch (error) {
	console.error(error);
	return '';
}
```

2. Crea un Tool Agent + Custom Tool. Especifica la tool que hemos creado en el Paso 1 en el Custom Tool.

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-131ee883749f2fdc62c69b304e29f6dcfd96ed59%2Fimage%20(97).png?alt=media" alt=""><figcaption></figcaption></figure>

3. En la respuesta, puedes ver la entrada y salida del Custom Tool:

<figure><img src="https://4068692976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUiD7nOmFRK805sNuiieJ%2Fuploads%2Fgit-blob-0460f1bcf9600f81b4a9defb54ec2d3781fcae77%2Fimage%20(99).png?alt=media" alt=""><figcaption></figcaption></figure>

## Conclusión

En este ejemplo, hemos demostrado exitosamente 2 formas de convertir otros chatflows en tools, a través de Chatflow Tool y Custom Tool. Ambos están usando la misma lógica de código internamente.
