Skip to content

Proof of Concept – Workflow Builder Feature #833

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

tihom4537
Copy link
Contributor

This PR introduces the Workflow Builder for API Dash as a Proof of Concept, including both the visual design and the initial version of the execution engine.

Previously, in PR #817, I submitted the Collection Runner and Performance Load Testing features. As mentioned in the comments on that PR, I was working on the workflow builder canvas — this update delivers that feature with basic execution capabilities.

What’s Included in This PR:
Visual Workflow Canvas: A drag-and-drop interface that allows users to design multi-step API workflows by placing and connecting nodes.

Node Types Supported:

Start – defines the beginning of a workflow
Request – makes an API call
Condition – adds branching logic
Transform – performs simple data manipulation

Connection Management: Users can connect nodes based on flow outcomes (success, error, condition).

Bidirectional Sync: All changes to the visual interface sync with the underlying workflow model and vice versa.

Execution Engine (Initial Version):

Allows step-by-step execution of workflows
Provides visual feedback as each node executes
Supports execution state tracking and basic error handling
Architecture: Built with a clean separation between UI and execution logic, making the system extensible and maintainable.

The visual component uses the flutter_flow_chart package for rendering, while the custom engine handles the execution flow logic.

Future Enhancement/Plans:
Add display block in canvas (text,chart etc)
Support for nested workflows and reusable subflows
Enable grouping of related nodes for better visual clarity
Add dynamic data flow and node-level configuration

Related Issues:

Checklist:
✅ Followed the contributing guide

✅ Synced with the latest main branch

✅ Using the latest Flutter stable version

✅ All tests passing (flutter test)

Tests Added or Updated?
✅ No

Tested On:
macOS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants