Skip to main content

Flow nodes types

Flow nodes are the building blocks of flows. They are used to represent the different steps in a flow.

With flow nodes you can reference your services, events, commands and queries, external systems, users (actors) or even create your own custom nodes.

Flow node types

  • default
    • A blank node type with just a title in your flow
  • actor
    • Represents a person in your flow diagram
  • externalSystem
    • Represents an external system in your flow diagram
  • message
    • Represents an event, command or query resource in EventCatalog
  • service
    • Represents an service resource in EventCatalog
  • custom
    • A custom node type, you can configure the title, summary, icon, properties and more.

default node type

A blank node type with just a title in your flow

steps:
- id: "step-1"
title: "This value will be shown in the node on the flow diagram"

actor

Actor represents a person in your flow diagram.

steps:
- id: "step-1"
title: "Example Step of a Actor"
# here we define the actor type and the name
actor:
name: "Dave"

externalSystem

Represents an external system in your flow diagram

steps:
- id: "step-1"
title: "Example Step of a externalSystem"
# here we define the externalSystem, its summary and a url
externalSystem:
name: "Google"
summary: "Search engine"
href:"https://google.com"

message

Represents and refers to an event, command or query resource in EventCatalog.

steps:
- id: "step-1"
title: "Example Step of a Event"
# here we define the id and version of the event we want to use in the flow diagram
message:
id: "order-placed"
version: 0.0.1

service

Represents and refers to an service resource in EventCatalog.

steps:
- id: "step-1"
title: "Example Step of a Event"
# here we define the id and version of the service we want to use in the flow diagram
service:
id: "order-service"
version: 0.0.1

custom

The custom node allows you to define any custom node you want in your flow diagram.

Use cases could include:

  • A custom node that represents a scheduled job
  • A custom node that represents a batch job
  • A custom node that represents a decision
  • A custom node that represents a process
  • A custom node that represents an aggregate

Custom nodes can be anything you want.

You can view a UI example of a custom nodes here.

UI Example

Custom Node

MDX Example

This example shows a custom node that represents a scheduler.

steps:
- id: "renewal_timer_triggered"
title: "Renewal Period Reached"
custom:
# the title shown on the node
title: "Renewal Timer"
# optional, the color of the node (see https://tailwindcss.com/docs/colors for the list of colors)
color: "orange"
# optional, the icon shown on the node (see https://heroicons.com/ for the list of icons)
icon: "ClockIcon"
# optional, the type of the node, this is shown on the sidebar of the node
type: "Scheduler"
# the summary of the node
summary: "Automated timer triggers the subscription renewal process"
# optional (default 5), the height of the node (careful going too high, the diagram does not calculate the graph based on the height of nodes)
height: 8
# optional, the properties shown in the node, urls will be shown as links
properties:
subscription_id: "sub_12345678"
renewal_type: "Automatic"
billing_cycle: "Monthly"
next_billing_date: "2024-08-01"
# optional, the "right click" menu items
menu:
- label: "View scheduler configuration"
url: "https://docs.example.com/scheduler"
- label: "Subscription timing documentation"
url: "https://docs.example.com/subscription-timing"
# optional, the next step to navigate to
next_step:
id: "check_subscription_status"
label: "Verify subscription status"

You can find a full example on GitHub here.