What export preflight checks before package download
Export preflight exists to keep obvious import blockers from reaching the customer tenant. It is stricter than the Analyze screen because it evaluates the generated Power Automate definition rather than only the source workflow.
Structural checks
Before package download, Flow Migrator checks generated action names, duplicate names, missing runAfter targets, self-referential runAfter entries, generated action count, generated nesting depth, Switch case count, variable count, expression length, and URL length.
If a blocker-level issue is found, the product should return an actionable message instead of shipping a package that is likely to fail during Power Automate import.
- Action and trigger names must remain within platform length limits.
- runAfter targets must exist in the same generated action scope.
- Generated flows must not exceed core Power Automate platform limits.
- Long expressions or URLs are flagged before they become hard-to-debug import/runtime problems.
Why Analyze and export can differ
Analyze is a source and planning view. Export preflight is a generated-package validation step. A workflow can look mostly supported in Analyze and still fail preflight if the emitted Power Automate definition would exceed a platform limit.
This distinction is especially important for very large workflows, deeply nested workflows, and workflows with many generated variables or branch structures.
What to do when preflight blocks export
- Read the blocker message and identify whether it is action count, nesting, variable count, switch cases, expression length, URL length, or runAfter integrity.
- Return to Analyze and review the Power Automate limit-risk panel.
- Split or refactor the workflow if the issue is action count or nesting.
- Re-run analysis and export after the structural issue has been resolved.

