Workflow diagram


%%{init: {"flowchart": {"htmlLabels": false, "curve": "basis", "nodeSpacing": 60, "rankSpacing": 70}} }%%
flowchart LR
  A[Webhook trigger]:::trigger --> B[Validate input]:::process

  %% Continuous-looking arrows: line (---) then arrow (-->)
  B --- V[OK]:::edgeLabel --> C[200 OK · JSON]:::success
  B --- X[Missing name]:::edgeLabel --> D[400 Bad Request · JSON]:::error

  %% Node styling
  classDef trigger fill:#EEF2FF,stroke:#6366F1,stroke-width:2px,color:#111827,rx:12,ry:12;
  classDef process fill:#FFFFFF,stroke:#94A3B8,stroke-width:2px,color:#111827,rx:12,ry:12;
  classDef success fill:#ECFDF5,stroke:#10B981,stroke-width:2px,color:#064E3B,rx:12,ry:12;
  classDef error fill:#FEF2F2,stroke:#EF4444,stroke-width:2px,color:#7F1D1D,rx:12,ry:12;

  %% “Text only” labels (no shape)
  classDef edgeLabel fill:transparent,stroke:transparent,color:#334155,font-size:12px;
  style V fill:transparent,stroke:transparent
  style X fill:transparent,stroke:transparent

  %% Link styling (IMPORTANT: style BOTH segments of each branch)
  %% Link order here is:
  %% 0: A-->B
  %% 1: B---V
  %% 2: V-->C
  %% 3: B---X
  %% 4: X-->D
  linkStyle 0 stroke:#64748b,stroke-width:2px;
  linkStyle 1 stroke:#10B981,stroke-width:2px;
  linkStyle 2 stroke:#10B981,stroke-width:2px;
  linkStyle 3 stroke:#EF4444,stroke-width:2px;
  linkStyle 4 stroke:#EF4444,stroke-width:2px;