> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Workflow\.tool() La méthode `.tool()` ajoute un Tool comme étape déclarative. Les schémas d’entrée et de sortie propres au Tool s’appliquent ; la sortie de l’étape précédente doit donc satisfaire le schéma d’entrée du Tool. Utilisez `.map()` pour transformer les données s’ils ne correspondent pas. Contrairement à l’encapsulation d’un Tool avec `createStep()`, `.tool()` enregistre une entrée déclarative dans le graphe du Workflow. Le Workflow devient ainsi portable : le même graphe peut être sérialisé et conservé comme [Workflow dynamique](https://mastra.zisheng.pro/fr/docs/workflows/dynamic-workflows). ## Exemple d’utilisation ```typescript workflow.tool(testTool).commit(); ``` ## Paramètres **toolOrId** (`Tool | string`): Instance de Tool ou ID d’un Tool enregistré dans l’instance Mastra. Lorsqu’un ID est transmis, le Tool est résolu depuis le registre au moment de l’exécution. **options** (`{ retries?: number, scorers?: DynamicArgument, metadata?: StepMetadata }`): Nombre de nouvelles tentatives, scorers et métadonnées au niveau de l’étape de Tool. **stepOptions** (`{ id?: string }`): ID du site d’appel de l’étape dans le Workflow. Sa valeur par défaut est l’ID du Tool. Définissez-le lorsque le même Tool apparaît plusieurs fois dans un même Workflow. ## Valeur renvoyée **workflow** (`Workflow`): Instance de Workflow pour le chaînage de méthodes ## Référencer un Tool par ID Transmettez une chaîne pour référencer un Tool enregistré sans l’importer. Le Tool doit être enregistré dans l’instance Mastra lorsque le Workflow s’exécute : ```typescript workflow.tool("lookup-customer", { retries: 2 }).commit(); ``` ## Conserver les étapes de Tool Les Workflows construits avec `.tool()` se sérialisent dans les mêmes entrées déclaratives que les [Workflows dynamiques](https://mastra.zisheng.pro/fr/docs/workflows/dynamic-workflows). Seuls `retries` et `metadata` effectuent un aller-retour via le stockage. Une option `scorers` dont la valeur est une fonction lève une erreur lorsque le Workflow est conservé. ## Voir aussi - [Agents et Tools](https://mastra.zisheng.pro/fr/docs/workflows/agents-and-tools) - [Workflows dynamiques](https://mastra.zisheng.pro/fr/docs/workflows/dynamic-workflows) - [Workflow.agent()](https://mastra.zisheng.pro/fr/reference/workflows/workflow-methods/agent)