Skip to main content

Qu’est-ce que workflow_definition ?

workflow_definition est le JSON qui représente un agent sous forme de graphe (nœuds + arêtes). Le format est proche de ReactFlow :
En tant qu’intégrateur, vous n’êtes pas censé construire ce JSON à la main. La méthode la plus simple est de dupliquer un template. Voir Flows.

Structure d’un nœud

Structure d’une arête

Workflow minimal valide

startCall → agentNode → endCall :

Types de nœuds disponibles

Chaque type est documenté côté produit : Start Call, Agent, End Call, Global, Trigger, Webhook, QA.

Catalogue node-types

Le catalogue expose, pour chaque type de nœud, le schéma exact de son champ data. C’est la source de vérité : ne devinez jamais un champ, lisez-le ici.
  • GET /api/v1/api/node-types : liste tous les types.
  • GET /api/v1/api/node-types/{name} : détail d’un type.
Chaque entrée renvoie un NodeSpec.

NodeSpec (niveau nœud)

PropertySpec (niveau champ de data)

Chaque entrée de properties[] décrit un champ que vous pouvez poser dans data.

Types de champ (PropertyType)

PropertyOption (valeurs de options / multi_options)

display_options (visibilité conditionnelle)

Certains champs ne sont pertinents que selon la valeur d’un autre champ.
  • show : le champ est visible uniquement si tous les champs référencés ont une des valeurs listées (ET logique).
  • hide : le champ est masqué si au moins un champ référencé a une des valeurs listées (OU logique).

graph_constraints (règles de connexion)

Contraintes appliquées à la validation du graphe : Utilisez ce catalogue pour générer des formulaires dynamiques et valider les champs côté client, sans coder les nœuds en dur.

Valider un workflow

POST /api/v1/api/workflow/{workflow_id}/validate En cas d’échec, la réponse 422 contient :
Les nœuds startCall, agentNode et endCall exigent un prompt non vide. Les arêtes exigent data.label et data.condition non vides.

Flows

Créer, valider, publier un agent.

Endpoints

Tous les endpoints workflow.
Last modified on October 28, 2026