REDESIGNING SALESFORCE'S FLOW BUILDER

ROLE Lead Software Engineer
DURATION Dec 2022 — Feb 2023 (3 months)
TOOLS Lightning Web Components, Java, Typescript, HTML, CSS, Salesforce Flow Builder, Jest Testing Frameworks

A comprehensive redesign and refactor of Salesforce Flow Builder's canvas interface that resolves critical navigation challenges and optimizes element positioning for thousands of enterprise users. This project implemented WCAG 2.1 accessibility standards while enhancing visual organization and interaction patterns, creating a more navigable and compliant workflow creation experience.

Web Design Systems Accessibility UX/UI
Salesforce Canvas Enhancements

What is Flow Builder?

Flow Builder is Salesforce's powerful low-code automation tool that enables users to create visual business workflows through drag-and-drop elements. Users can automate tasks, guide user interactions, and integrate with Salesforce data without writing code, making complex business process automation accessible to non-technical users.

My Role

As the Lead Software Engineer of this project, I drove the engineering implementation of the canvas redesign, working closely with the UX team's design specifications. I led technical spiking, UI component development, and cross-functional collaboration to translate design concepts into functional code. My engineering efforts focused on implementing responsive components, accessibility improvements, and design system integration while ensuring the solution met enterprise performance and scalability requirements.

Outcome

0% reduction in flow creation time
0% improvement in WCAG accessibility compliance
0% decrease in user navigation errors

Due to a Non-Disclosure Agreement, information on this project is limited.

Context

Enterprise users need efficient, accessible workflow creation.

Flow Builder serves thousands of Salesforce customers who create complex business automation workflows. As the platform evolved to handle more sophisticated use cases, the original canvas design began showing limitations in navigation, usability, and accessibility compliance.

Salesforce Flow Builder context and workflow creation 1 — Context

Problems

Navigation Challenges

Users struggled with element positioning and zoom functionality in complex flows, with zoom resetting during interactions and elements becoming difficult to locate and manage.

Navigation challenges in complex flows 2.1 — Navigation Challenges

Accessibility Issues

Icon color contrast failed to meet WCAG 2.1 standards, creating significant barriers for sight-impaired users who rely on visual cues to navigate and build workflows effectively.

Accessibility issues with icon contrast 2.2 — Accessibility Issues

Goal

Redesign Flow Builder's canvas interface to resolve navigation challenges, optimize element positioning, and achieve WCAG 2.1 accessibility compliance.

Project Timeline

Key phases from research to implementation —

Salesforce Flow Builder project timeline and process phases 3 — Project Timeline

UX Deliverables

Essential design requirements for the product release —

Deliverable 1: Icon updates and animations 4.1 — Icon Updates
Deliverable 2: Help popover implementation 4.2 — Help Popover
Deliverable 3: Node distance optimization 4.3 — Node Distance
Deliverable 4: Connector width improvements 4.4 — Connector Width
Deliverable 5: Color contrast enhancements 4.5 — Color Contrast

Deliverable 1

Update The plus icon Icon

5 — Icon Animation

Icon Animation Cases

1
On Hover

When a user hovers on the circle icon, we want to display

On Hover Case
2
On Focus

When the focus is on the circle icon, we want to display

On Focus Case
3
On Load

When a user first loads a flow, we want to display

On Load Case
4
In Cut Mode

When a user is in cut mode, there should be no icon animation.

In Cut Mode Case

Deliverable 2

Add Icon Popover

Add Icon Popover 6.1 — Add Icon Popover

Popover Requirements

1
Display Once Per User

Show the popover only once per user session to avoid repetition.

2
Stay Anchored to Icon

Remain anchored to the first circle icon even when the flow moves.

3
Close Controls

User must click the X button or press the Esc key to close the popover.

4
Positioning

Popover appears on the right side of the circle icon.

Popover Anchoring Challenge

Technical Constraint

Popovers failed to maintain proper anchoring when users dragged the flow interface, creating a disjointed user experience.

Root Issue

Standard positioning solutions couldn't simultaneously address window resizing, flow movement, and cross-device compatibility requirements.

Solution

Collaborated with Salesforce In-App Guidance team to develop a custom anchoring algorithm that dynamically tracks flow position changes. This solution enhanced both user experience consistency and product scalability across different screen sizes and interaction patterns.

6.2 — Popover Anchoring Challenge

Deliverable 3

Shorten Vertical Node Distance

Shorten Vertical Node Distance 7 — Shorten Vertical Node Distance

Edge Cases & Considerations

I accounted for different connector types, unique node shapes, and icons with added borders that affected layout consistency.

1
Connector Types

Different connector types — straight, curved, and arrowed — have differnt widths and heights.

Connector types before Curved
Connector types after Arrowed
2
Node Types

Handling unique node shapes like diamond-shaped Decision elements.

Node types before Original
Node types after Optimized
3
Border Types

Different border types like dashed icon borders overlap new connector styles.

Border types example Dashed Borders
Resolution

Through systematic UX feedback sessions, I fine-tuned positioning variables to create a unified solution that handles diverse node types and connector styles without compromising visual integrity.

Deliverable 4

Reduce Connector Width

Reduce Connector Width 8.1 — Reduce Connector Width

Handling Complex Node and Connector Variations

During my research, I found that vertical node spacing and connector standardization were interdependent — implementing either change independently would create broken connector paths.

Connector width technical constraint 8.2 — Technical Constraint
Technical Resolution

This was a technical constraint the design team had overlooked, and required combining both requirements into a single release. However, by identifying and resolving this constraint early, I prevented future inconsistencies and improved the feature's long-term maintainability.

Deliverable 5

Increase Contrast

Increase Contrast 9 — Increase Contrast

Accessibility Changes & Requirements

While the code changes were straightforward, implementation required careful mapping and testing across every node and connector variation to ensure consistent behavior and WCAG 2.1 compliant color contrast throughout the entire codebase.

Personal Impact & Customer-Driven Design

This feature stood out as one of the few projects in my career that directly addressed interface-driven customer needs. The implementation created measurable improvements in both user productivity and platform inclusivity.

Results & Impact

The redesign modernized the interface with tighter spacing, thinner connectors, and high-contrast icons for better accessibility.

These changes reduced scrolling and zooming, making it easier to work with complex flows while creating a more inclusive experience for all users.

Flow Builder before and after comparison 10.1 — Feature Comparison

These changes came together in the Salesforce Summer 2023 release. The Flow Builder canvas enhancements were featured in multiple blogs and roundups, consistently ranking as one of the top features of that release.

Salesforce Flow Builder reviews and feedback 10.2 — Release Reviews

Reflection & Key Takeaways

The most impactful engineering solutions emerge from questioning design assumptions, not just implementing them.

Leading this project as the youngest engineer taught me that my "obvious" questions about connector behavior revealed critical technical gaps that seasoned team members had normalized. Instead of accepting design specifications at face value, my persistent curiosity uncovered systemic inconsistencies that, once addressed, improved both user experience and code maintainability. This experience transformed my approach to treat every design handoff as an opportunity to strengthen the underlying technical foundation.

See Next