Skip to main content
Flow validation is a mandatory step that runs before any automation can be activated. It evaluates the assembled flow against a set of structural, compliance, and configuration checks and returns either a clean result — the flow can proceed to activation — or a set of flagged issues that must be resolved first. Validation produces two types of results: blocking checks that must pass before activation is permitted, and advisory checks that surface recommendations without preventing activation.

What this covers

  • When validation runs
  • Blocking checks and advisory checks
  • All validation checks and what they look for
  • How to read and resolve validation results

When validation runs

Validation runs automatically when you attempt to activate an automation. It also runs continuously in the background during flow building — issues detected during building are surfaced as inline node highlights without blocking the canvas. The formal validation gate only applies at the moment of activation. A flow can be saved in any incomplete state as a draft — validation does not prevent saving. It only prevents the transition from inactive to active.

Check types

Blocking checks — Structural and compliance conditions that must pass for the flow to be activatable. A flow with any blocking failure cannot be activated until the issue is resolved. Advisory checks — Logical completeness and optimization quality checks. Advisory results surface recommendations without preventing activation. A flow with unresolved advisory suggestions can still be activated.

Validation checks

Check: Every Action Node in the flow must reference a template with APPROVED status.Type: BlockingWhat is checked: Galantis inspects every Action Node’s template assignment and verifies the current status of each referenced template. If any Action Node references a template in DRAFT, PENDING_APPROVAL, or REJECTED status, the flow fails this check.Why it blocks: WhatsApp does not accept message sends using unapproved templates. Activating a flow with an unapproved template would result in every customer who reaches that Action Node receiving a failed message send — the flow would appear active but would not function.How to resolve:
  • Open Templates and check the status of the template assigned to the flagged Action Node
  • If PENDING_APPROVAL — wait for Meta’s review to complete. Approval typically takes minutes to a few hours
  • If DRAFT — submit the template for Meta review
  • If REJECTED — review the rejection reason, fix the template content, and resubmit
Once the template reaches APPROVED status, return to the flow and attempt activation again — no changes to the flow itself are required.
A template that was APPROVED when the automation was built can be paused by Meta after activation. The template approval check runs at activation time — it does not continuously monitor template status after the flow is live. If a template is paused post-activation, the flow will remain active but affected Action Nodes will fail for customers who reach them.

Validation result summary

CheckTypeBlocks activation
Template approval statusBlockingYes
Node connectionsBlockingYes
Condition branch completenessBlockingYes
Condition logic completenessBlockingYes
Frequency cap configuredBlockingYes
Missing delay after triggerAdvisoryNo
Identical templates on both branchesAdvisoryNo
High-frequency trigger with EVER capAdvisoryNo
Broad trigger with no conditionsAdvisoryNo

How to read validation results

When validation runs at activation time, results are surfaced in two ways: Inline on the canvas — Nodes with blocking errors are highlighted in a distinct error state. Clicking a highlighted node opens its settings panel, which shows the specific issue and the resolution path. Validation summary panel — A summary of all blocking errors and advisory suggestions appears as a list. Blocking errors must be resolved before the activation button becomes available. Advisory suggestions are listed separately and can be individually dismissed. Work through blocking errors one at a time, starting with the simplest to resolve (unconnected nodes, missing frequency caps) before addressing more complex issues (template approval status, incomplete condition logic).