Flujos de trabajo
Un flujo de trabajo es automatización que el producto ejecuta por ti: un disparador, un grafo de pasos y ejecuciones que avanzan al llegar los eventos. Borrador y publicación van separados, así que lo que ejecuta el tráfico es siempre una versión que alguien envió deliberadamente.
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
- Los disparadores son un disparo manual o una señal de cohorte, así que el 'quién' es una cohorte y no una condición escrita a mano.
- Los pasos cubren acciones, retrasos, ramas y saltos con guarda; un grafo que el motor rechazaría se nombra antes de publicar.
- Cada ejecución guarda su razón: una espera nombra su señal, un fallo lleva su error.
Cómo funciona
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.
Dónde acceder
| 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 |
Ejemplo
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'" }
}'