Zum Hauptinhalt springen

Workflows

Ein Workflow ist Automatisierung, die das Produkt für Sie ausführt: ein Auslöser, ein Graph aus Schritten und Läufe, die mit eintreffenden Ereignissen voranschreiten. Entwurf und Veröffentlichung sind getrennt, also führt der Traffic immer eine Version aus, die jemand bewusst freigegeben hat.

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.run on the project room
Auth
Access token; runs execute server-side
  • Auslöser sind ein manueller Start oder ein Kohortensignal, das »Wer« ist also eine Kohorte statt einer handgeschriebenen Bedingung.
  • Schritte umfassen Aktionen, Verzögerungen, Verzweigungen und bewachte Sprünge; ein Graph, den die Engine ablehnen würde, wird vor der Veröffentlichung benannt.
  • Jeder Lauf behält seinen Grund: ein Warten nennt sein Signal, ein Fehlschlag trägt seinen Fehler.

So funktioniert es

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.

Wo Sie darauf zugreifen

SurfaceOperation
RESTNone: workflows are authored and operated, not ingested
GraphQLworkflowDefinitions, workflowRuns queries · publishWorkflowVersion, fireWorkflow, signalWorkflow, cancelWorkflow mutations
Realtimeworkflow.run on the project room, as a run advances
MCPprodantix.workflows.list

Beispiel

Bash
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'" }
  }'