Skip to main content
Every automation in erlc.dev Studio is built by connecting blocks together on the canvas. Blocks come in three fundamental shapes: event triggers that start a run, action blocks that do work in sequence, and value blocks that produce data you feed into other blocks. Understanding these shapes — and which categories exist within each type — is the foundation for building reliable automations.

How block shapes work

Before diving into categories, it helps to understand how the connector system works.

Event Trigger shape

No connector on top (nothing runs before them). One connector on the bottom — action blocks snap beneath them. These always start a run.

Action block shape

A connector notch on top and a connector tab on the bottom. They slot into a vertical chain, reading top-to-bottom.

Value block shape

An output peg on one side, no top/bottom connectors. They plug into input sockets on action or other value blocks to supply data.

Event Triggers

Event trigger blocks have no previous connector (nothing runs before them) and one next connector (action blocks attach below). Every automation must start with exactly one event trigger block. Studio fires the automation whenever the corresponding event occurs.
Each automation canvas should have only one event trigger block as its root. If you need to respond to multiple events with the same logic, create a shared page and call it from separate automations.

Action Blocks

Action blocks sit in the vertical chain beneath an event trigger. They execute in order from top to bottom. Each has a previous connector on top and a next connector on the bottom.

Value Blocks

Value blocks produce data — text, numbers, booleans, lists, or objects — that you plug into the input sockets of action or other value blocks. They have no top or bottom connector; they only have an output peg.
Value blocks can be nested. For example, you can plug a Text join block into the input of an erlc_log block, and inside the Text join, plug an erlc_variable_value block — all in one expression.