Flow management
Flows are the core building blocks of Identity Orchestrator (IO). This section provides comprehensive guidance on how to manage flows throughout their lifecycle.
What is a flow?
A flow in IO is a structured workflow pipeline composed of ordered processing steps. Each step executes a specific operation such as data transformation, validation, routing, or integration with external systems. The flow defines the execution logic, data propagation rules, and conditional branching, enabling automated and consistent processing across the entire pipeline.
How Flows Work
A flow is designed through a graph-based workflow, where each operation is represented as a node. Nodes perform specific tasks and are connected through directional links that define both the execution path and the data flow.
The visual node-based model allows you to design even complex pipelines in an intuitive way, while maintaining full control over input/output structures, conditional branching, triggers, and execution logic across the entire process.
Flow Lifecycle
Flows go through several stages in their lifecycle:
-
Creation: Define the flow type, name, and initial configuration.
-
Design: To build the workflow, add and connect nodes.
-
Configuration: Set up node parameters and flow settings.
-
Testing: Validate the flow in a test environment.
-
Activation: Enable the flow for production use.
-
Versioning: Create new versions as requirements evolve.
-
Maintenance: Update and optimize based on usage patterns.
-
Retirement: Deactivate or delete obsolete flows.
Flow operations
Add flow
Learn how to create new flows with proper configuration:
-
Choose the appropriate flow type.
-
Set name and description.
-
Initialize from an empty, file, or existing flow.
-
Configure general settings.
Edit flow
Modify flow configuration and settings:
-
Update name and description.
-
Activate or deactivate flows.
-
Set default flow status.
-
Manage tags.
-
Configure node tracking.
Design flow
Build and modify flows using the visual designer:
-
Use the IO designer interface.
-
Add and connect nodes.
-
Configure node settings.
-
Manage variables.
-
Add comments and annotations.
Run flow
Execute and test your flows:
-
Start flow execution.
-
Monitor flow progress.
-
Review execution results.
-
Debug flow issues.
[Import or export flow]
Share flows between environments:
-
Export flows as JSON files.
-
Import flows with ID preservation.
-
Migrate flows between tenants.
-
Back up flow configurations.
Flow versioning
Manage flow versions effectively:
-
Create new versions.
-
Test versions without affecting production.
-
Restore previous versions.
-
Compare version differences.
Languages
Add multi-language support to flows:
-
Upload language files.
-
Configure locale settings.
-
Manage translations.
-
Set default languages.
Delete flow
Remove flows safely:
-
Deactivate before deletion.
-
Understand deletion impact.
-
Clean up dependencies.
Flow categories
IO organizes flows into categories based on their purpose:
Authentication flows
Manage user authentication processes:
-
Login flows
-
Logout flows
-
Multi-factor authentication
-
Social authentication
Self-service flows
Enable users to manage their accounts:
-
Registration
-
Password reset
-
Profile updates
-
Account recovery
Admin flows
Administrative user management:
-
User provisioning
-
Account lifecycle
-
Bulk operations
-
Administrative tasks
API flows
Backend integrations and web hooks:
-
API orchestration
-
Data synchronization
-
Event-driven workflows
-
System integrations
Consent flows
Manage user consent and preferences:
-
Cookie consent
-
Data processing consent
-
Communication preferences
-
Compliance workflows
Custom flows
Build specialized workflows:
-
Business-specific processes
-
Complex integrations
-
Unique user journeys
Library flows
Create reusable components:
-
Shared logic
-
Common validations
-
Modular building blocks
Flow components
Start node
Every flow begins with a Start node that defines:
-
Entry point for the flow
-
Initial context and state
-
Output connectors based on flow type
Processing nodes
The main body of the flow contains:
-
Frontend nodes for user interaction
-
Backend nodes for processing logic
-
Decision nodes for conditional routing
-
Integration nodes for external services
End nodes
Flows terminate with End nodes:
-
End Success: Flow completed successfully
-
End Failure: Flow encountered an error
Best practices for IO flows
Flow design
-
Keep flows focused: Each flow should have a single, clear purpose.
-
Use descriptive names: Names should explain what the flow does.
-
Add documentation: Use descriptions and comments liberally.
-
Handle all outputs: Ensure every node output connects to another node.
-
Plan for errors: Include error handling paths.
Flow organization
-
Use categories: Organize flows by purpose.
-
Apply tags: Tag flows for easy filtering.
-
Version regularly: Create versions before major changes.
-
Document changes: Keep change logs for versions.
-
Archive obsolete flows: Remove or deactivate unused flows.
Flow configuration
-
Set appropriate TTL: Configure session timeout based on flow complexity.
-
Enable tracking: Use node tracking for important flows.
-
Test thoroughly: Validate all paths before activation.
-
Use variables wisely: Name variables clearly and consistently.
-
Optimize performance: Minimize unnecessary nodes.
Flow maintenance
-
Monitor execution: Review flow logs regularly.
-
Update as needed: Keep flows aligned with requirements.
-
Optimize bottlenecks: Improve slow-running flows.
-
Clean up regularly: Remove unused flows and versions.
-
Document dependencies: Track integration points.
Flow settings
Flows support various configuration options:
General settings
-
Name: Unique identifier for the flow
-
Description: Detailed explanation of purpose
-
Active: Turn flow execution on or off
-
Default: Set as primary flow for the category
-
Tags: Categorize and filter flows
Execution settings
-
Session TTL: How long the session remains valid
-
Node tracking: Log detailed execution information
-
Error handling: Configure error behavior
Localization settings
-
Language files: Upload translations.
-
Default locale: Set fallback language.
-
Locale detection: Automatic language selection.
Security settings
-
Authentication Required: Enforce authentication.
-
Authorization Rules: Control access to the flow.
-
Data Encryption: Protect sensitive data.
Flow performance
Optimization strategies
-
Minimize node count: Use fewer, more capable nodes.
-
Reduce API calls: Use batch operations when possible.
-
Cache data: Store frequently accessed data.
-
Parallel execution: Run independent operations concurrently.
-
Optimize conditions: Place common conditions first.
Monitoring
Track key metrics:
-
Execution time: How long flows take to complete
-
Success rate: Percentage of successful executions
-
Error rate: Frequency of failures
-
User abandonment: Where users drop off
Troubleshooting IO flows
Common flow issues and solutions:
Flow won't save
-
Check for validation errors.
-
Ensure that all required fields are filled.
-
Verify that node connections are valid.
Flow won't execute
-
Confirm that the flow is active.
-
Check the Start node configuration.
-
Review authentication requirements.
Flow execution errors
-
Review node tracking logs.
-
Verify variable names and values.
-
Check API endpoint availability.
-
Validate input data format.
Flow performance issues
-
Review execution logs.
-
Identify slow nodes.
-
Optimize API calls.
-
Consider flow redesign.
Next steps
Explore specific flow operations:
-
Add flow: Create new flows.
-
Design flow: Build flows visually.
-
Flow categories: Explore flow types.
-
Node management: Learn about nodes.