PAD Flow Cleaner
Free · Open source · No sign-up

Turn a messy PAD flow into a clear picture.

Paste a Power Automate Desktop flow. Get a compact, secret-free version for review or AI, plus a flowchart and step-by-step summary in one click.

  1. 1
    Paste or dropCopy actions from the PAD designer, or drop a .txt file.
  2. 2
    Clean & redactNoise removed. Passwords, tokens and PII masked.
  3. 3
    See the flowFlowchart, plain-English steps and sequence diagram.

Your flow

0 chars · 0 lines

Runs 100% in your browser. Nothing is uploaded or saved.

Advanced: merge a main flow with its subflows

Paste the main subflow (the one with CALLs) and scan. Then paste each subflow body. Empty boxes are skipped. Merge builds one flow and cleans it.

How it works
Clean (Mode B): pre-flatten multi-line $'''...''' (DOTALL)
               drop line containing '"Repository": "{' entirely
               drop default params: WaitForPageToLoadTimeout, UseMachineLocale,
                 ClearCache, ClearCookies, Timeout, PiPUserDataFolderMode,
                 TargetDesktop, UnfocusAfterPopulate
               collapse appmask['...']['name'] to [name]
               shorten WebAutomation.X.Y -> Web.Y
               normalize whitespace (4-space indent -> 2-space)
               SCRUB sensitive data:
                 - PAD encrypted: Text: P'...' -> <REDACTED_ENCRYPTED>
                 - selector-context field values for password/secret/token/
                   apikey/username/email/login (handles \' escape) -> <REDACTED>
                 - JWT, Bearer, AWS (AKIA*), GitHub PAT (ghp_*), Slack (xox*)
                 - URL embedded creds: https://u:p@h -> https://<REDACTED>@h
                 - Connection-string Password=X / Pwd=X
                 - TH National ID / phone (with label)
                 - Plain emails -> <REDACTED_EMAIL>

Graph (Mode C, runs on Mode B output): drop ControlRepository tail
               stack-based parser tracks LOOP/IF/BLOCK frames
               IF branches: yes/no labels, merge at END
               LOOP: back-edge from body tail to head (dashed "iter")
               LOOP exit: edge from head to post-END node (labeled "done")
               GOTO X / NEXT LOOP: dashed back-edge to LABEL X or loop head
               label shortener compresses each line to verb + key arg
               emits Mermaid flowchart TD; shapes vary by node kind