Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

flow-map

Outil en ligne de commande qui transforme les metadata Salesforce Flow (XML) en carte d’exécution lisible.

Understand your Salesforce automations in seconds.

Quickstart

cargo install --path .

# Exécuter sur un fichier *.flow-meta.xml
flow-map force-app/main/default/flows/MonFlow.flow-meta.xml --format markdown

# Sortir un JSON
flow-map force-app/main/default/flows/MonFlow.flow-meta.xml --format json --output flow.json

# Sortir un graphe brut (WIP)
flow-map force-app/main/default/flows/MonFlow.flow-meta.xml --format graph-json --output flow-graph.json

Installation

cargo install --path .
# ou depuis le repo
cargo build --release
# binaire: target/release/flow-map

Usage

# Analyser un flow (fichier .flow-meta.xml)
flow-map force-app/main/default/flows/cheminlocal.flow-meta.xml

# Format Markdown
flow-map flow.xml --format markdown

# Diagramme Mermaid (pour GitHub/GitLab)
flow-map flow.xml --format mermaid

# Sortie JSON (résumé + execution path + champs modifiés)
flow-map flow.xml --format json

# Sortie JSON "graphe brut" (work in progress)
flow-map flow.xml --format graph-json --output flow-graph.json

# Dossier de flows (tous les *.flow-meta.xml)
flow-map force-app/main/default/flows/

# Résolution des subflows (cherche les flows enfants dans un dossier)
flow-map flow.xml --flow-dir force-app/main/default/flows

Exemple de sortie (texte)

Flow: Screenflow - Invite To Platform
Type: Flow

Execution path:
1. Start Screen
2. Record Lookup: Get Contact (Contact)
3. Record Lookup: Get Related Account (Account)
4. Screen Input
5. Decision: Validate URL: URL Valid, Rule_Invalid
...
Fields modified by this flow:
  (vide si pas de recordUpdates/recordCreates)

Utilisation dans un autre environnement Salesforce

flow-map ne se connecte pas à une org : il lit uniquement des fichiers *.flow-meta.xml sur le disque.

Aucune configuration Salesforce (org, alias, etc.) n’est requise dans flow-map : tout repose sur les XML déjà présents dans le projet (soit après un retrieve sur votre disque ou une autre opération).

Dépendances

  • Rust 1.70+
  • A noter que pour compiler sur macOS, la licence Xcode doit être acceptée (sudo xcodebuild -license).

WIP / Limitations

  • execution_path est une vision linéarisée (pour mieux lire), donc certains aspects de la structure (ex: boucles) peuvent être moins visibles.
  • --format graph-json (WIP) expose le graphe brut (nodes + edges) pour des analyses plus avancées.
  • Les types de nœuds Salesforce supportés dépendent du contenu disponible dans *.flow-meta.xml.

N'hésitez pas à contribuer si vous le souhaitez (PR/ Issues, etc.)

Auteur

@AlexandreKuzo

About

Understand Salesforce automations in seconds

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages