Skip to content

Introduction to FlowBuilder

What is FlowBuilder?

FlowBuilder is a Laravel module that enables the visual creation and execution of workflows (flows) through a graphical interface based on nodes. This visual approach makes it easier for both technical and non-technical users to create automated processes without writing code.

Core Concepts

Flows

A Flow is a sequence of interconnected steps that represent a complete process. Each flow consists of a set of nodes linked together that define the logic and execution path.

Nodes

Nodes are the fundamental building blocks in a flow. Each node represents a specific action, logical condition, or trigger that can be executed as part of the flow. There are different types of nodes:

  • Trigger Nodes: Initiate the execution of a flow (e.g., manual trigger, schedule, webhook).
  • Action Nodes: Perform specific actions like sending HTTP requests, manipulating data, etc.
  • Logic Nodes: Control the flow of execution based on conditions (if/else, switch, etc).

Connections

Connections are the lines that connect nodes and define the execution path of the flow. Each node can have multiple inputs and outputs, allowing the creation of complex flows with conditional branches.

Variables

Variables allow you to store and reuse data within a flow. There are two types of variables:

  • Flow Variables: Created by the user within a specific flow.
  • System Variables: Provided by system modules and available to all flows.

FlowBuilder Architecture

FlowBuilder is built on the following main components:

  1. Drawflow: A JavaScript library that provides the visual interface for drawing and connecting nodes.
  2. Node System: A PHP system that defines the available node types and their functionality.
  3. Execution Engine: An execution engine that processes flows, executing each node in the order defined by the connections.
  4. Validation System: A system that validates flows before saving or executing them.

How to Navigate This Documentation

This documentation is organized progressively to help you fully understand the FlowBuilder system:

  1. Basic Structure: Understand the fundamental structure of nodes and flows.
  2. Creating Nodes: Learn how to create your own custom nodes.
  3. Creating Triggers: Understand how to create trigger nodes to initiate flows.
  4. System Variables: Learn how to work with variables in your flows.
  5. Flow Validation: Learn how to validate your flows to ensure they work correctly.
  6. Flow Execution: Understand how flows are executed and processed.
  7. Advanced Cases: Explore advanced uses and best practices of FlowBuilder.

This progressive organization allows you to build your knowledge step by step, from basic concepts to more advanced topics.