Flux de travail
Un flux de travail est de l'automatisation que le produit exécute pour vous : un déclencheur, un graphe d'étapes et des exécutions qui avancent au fil des événements. Brouillon et publication sont séparés, ce que le trafic exécute est donc toujours une version que quelqu'un a délibérément livrée.
At a glance
- Shape
- A trigger, a graph of steps, published versions
- Triggers
- Manual fire, or a cohort signal
- Operate
fireWorkflow,signalWorkflow,cancelWorkflow- Live updates
workflow.runon the project room- Auth
- Access token; runs execute server-side
- Les déclencheurs sont un tir manuel ou un signal de cohorte, le « qui » est donc une cohorte plutôt qu'une condition écrite à la main.
- Les étapes couvrent actions, délais, branches et sauts gardés ; un graphe que le moteur refuserait est nommé avant la publication.
- Chaque exécution garde sa raison : une attente nomme son signal, un échec porte son erreur.
Comment ça marche
A definition holds a draft graph and its published versions. The draft is edited freely and saved as it changes; publishing validates the graph and makes that version the one runs execute, so an edit in progress can never leak into traffic. A run advances node by node: actions do work, delays hold, branches choose a case or the otherwise, and a waiting node parks the run until its named signal arrives, from the product or by hand. Runs, their steps and their errors are all kept, which is what the console's runs tab and the Home screen's Needs you list read.
Où y accéder
| Surface | Operation |
|---|---|
| REST | None: workflows are authored and operated, not ingested |
| GraphQL | workflowDefinitions, workflowRuns queries · publishWorkflowVersion, fireWorkflow, signalWorkflow, cancelWorkflow mutations |
| Realtime | workflow.run on the project room, as a run advances |
| MCP | prodantix.workflows.list |
Exemple
curl "https://api.prodantix.com/graphql" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"query": "mutation ($p: String!, $d: String!) { fireWorkflow(projectId: $p, definitionId: $d) { runId } }",
"variables": { "p": "'$PROJECT_ID'", "d": "'$DEFINITION_ID'" }
}'