4 min readUpdated Mar 2, 2026

WorkflowEdge Documentation

Overview

The WorkflowEdge is a feature designed to provide a flexible and visually engaging representation of connections between nodes in a workflow diagram. Utilizing Bezier paths for smooth curves, this component allows users to define the visual flow of processes and relationships effectively.

Purpose

The primary purpose of the WorkflowEdge component is to draw connections (edges) between two points (nodes) within a workflow. It enhances the user interface by making the relationships between various workflow components clear, enabling better understanding and interaction.

Settings

This section outlines the configuration settings available for the WorkflowEdge component, detailing each aspect that can be tailored to customize its behavior and appearance.

1. id

2. sourceX

3. sourceY

4. targetX

5. targetY

6. sourcePosition

7. targetPosition

8. markerEnd

How it Works

The WorkflowEdge component employs the getBezierPath function from the reactflow library to calculate smooth curves between two coordinates defined by the source and target positions. It dynamically generates the path element in SVG format based on the coordinates provided as props.

Data Expectations

The WorkflowEdge expects the following data inputs:

Use Cases & Examples

Use Case 1: Project Management Tool

In a project management tool, WorkflowEdge can visually connect tasks and dependencies, allowing users to understand project progress and interrelations at a glance.

Use Case 2: Data Flow Diagram

In a data engineering application, the WorkflowEdge can represent how data flows between various data processing nodes, making it easier to diagnose bottlenecks in data pipelines.

Use Case 3: API Workflow Representation

In API orchestration, WorkflowEdge can illustrate how different API calls relate to each other, helping developers visualize and optimize API interactions.

Example Configuration

To configure the WorkflowEdge for a project management tool that connects two tasks, you might set it up as follows:

javascript
<WorkflowEdge
    id="edge-1"
    sourceX={100}
    sourceY={200}
    targetX={300}
    targetY={400}
    sourcePosition="right"
    targetPosition="left"
    markerEnd="arrowhead"
/>

In this example: