Login
Free Sign Up
Docs
/

Flow - Trigger

Type identifier: flow:trigger Category: Flow Operations

Description

Entry point for Flow runs. Defines the inputs that a Flow accepts and makes them available to downstream nodes. Every Flow must have exactly one trigger node.

Input Handles

This node has no input handles. It is the entry point of the Flow.

Output Handles

Handle

Data Type

Description

trigger

trigger

Execution trigger output (unless isDataOnly)

entity:{incomingDataId}

object

Record data for entity-type incoming data

{type}:{incomingDataId}

Varies

Data output for each configured incoming data

Output Handle Details

trigger

  • Type: trigger
  • Notes: Only present when isDataOnly is false. Starts the run.

Dynamic Data Handles

Output handles are dynamically generated based on the incomingData configuration. The handle ID follows the pattern {type}:{incomingDataId} where:

  • type is the data type (entity, string, number, boolean, date, object, array, file, content)
  • incomingDataId is the unique identifier for the incoming data item

Configuration Options

Property

Type

Required

Default

Description

label

string

Yes

"Flow - Trigger"

Display label for the node

isDataOnly

boolean

No

false

If true, the Flow runs in data-only mode

incomingData

array

No

[]

Array of incoming data definitions

Configuration Details

isDataOnly

  • Type: boolean
  • Default: false
  • Notes:

    • When true, the Flow runs without a trigger output handle
    • Data-only Flows directly process to result nodes
    • Used for Flows that are called synchronously and return data immediately

incomingData

  • Type: array of objects, each with id (string), incomingDataId (string), and type; type is one of: entity, string, number, boolean, date, duration, file, object, geojson, array, content
  • Notes: Each incoming data item creates a corresponding output handle

Record Incoming Data

entity-type incoming data has additional properties:

Property

Type

Required

Default

Description

schemaId

string

Yes

—

CUID2 of the target Schema

name

string

Yes

—

Display name

required

boolean

No

true

Whether input is required

showOnEntity

boolean

No

false

Show trigger on Record detail view

showOnTable

boolean

No

false

Show trigger on Record table view

triggerOnCreate

boolean

No

false

Auto-trigger on Record creation

triggerOnUpdate

boolean

No

false

Auto-trigger on Record update

triggerOnDelete

boolean

No

false

Auto-trigger on Record deletion

order

number

No

0

Display order

Behaviour

Execution Flow

  1. The run begins at the trigger node
  2. Incoming data values are read from the run's inputs
  3. Each incoming data item is validated against its type schema
  4. entity-type inputs are enriched with standard Record fields (such as id, createdAt, updatedAt)
  5. Results are set on output handles for downstream consumption

Data-Only Mode

When isDataOnly is true:

  • No trigger output handle is created
  • The Flow processes directly to connected flow:result nodes
  • Used for synchronous runs that return data immediately

Standard Mode

When isDataOnly is false:

  • trigger output handle starts the downstream nodes
  • The Flow runs asynchronously through the connected node graph

Record Input Handling

Record inputs can be provided in two ways:

  1. Record ID (string): The Record is looked up
  2. Record object: The raw Record data is validated against the Schema

Record lifecycle settings can start the Flow on Record creation, update, or deletion. The lifecycle event supplies the Record ID through the configured Record input. A missing Record produces a null output; when triggerOnDelete is enabled, deleted Records can be included in the lookup.

For Record inputs, the output includes:

  • id: Record identifier
  • createdAt: Creation timestamp
  • updatedAt: Last update timestamp
  • createdById: Creator user ID
  • updatedById: Last updater user ID
  • All Record properties converted to ID-based format

Raw Record values are validated and mapped using the active Schema when the trigger runs. Bare file references in raw Record values are verified when the trigger runs; if verification fails, the run fails.

Edge Cases

Scenario

Behaviour

Missing required input

Error: "No input provided for..."

Invalid Record data

Error: "Invalid schema data provided for..."

Schema not found

Trigger run fails

Record not found (when ID given)

Output is null

Deleted Record with triggerOnDelete

Deleted Record is included in the lookup

Examples

Basic Trigger with String Input

{
  "type": "flow:trigger",
  "data": {
    "label": "Flow - Trigger",
    "isDataOnly": false,
    "incomingData": [
      {
        "id": "input1",
        "incomingDataId": "input1",
        "type": {
          "type": "string",
          "display": "text",
          "name": "User Name",
          "required": true
        }
      }
    ]
  }
}

Output Handles:

  • trigger (trigger)
  • string:input1 (string)

Record Trigger with Auto-Create

{
  "type": "flow:trigger",
  "data": {
    "label": "On Contact Created",
    "isDataOnly": false,
    "incomingData": [
      {
        "id": "contact",
        "incomingDataId": "contact",
        "type": {
          "type": "entity",
          "schemaId": "clx1234567890abcdefghij",
          "name": "Contact",
          "required": true,
          "triggerOnCreate": true,
          "showOnEntity": false
        }
      }
    ]
  }
}

Output Handles:

  • trigger (trigger)
  • entity:contact (object)

Data-Only Trigger

{
  "type": "flow:trigger",
  "data": {
    "label": "Calculate Total",
    "isDataOnly": true,
    "incomingData": [
      {
        "id": "items",
        "incomingDataId": "items",
        "type": {
          "type": "array",
          "items": { "type": "number" },
          "name": "Items"
        }
      }
    ]
  }
}

Output Handles:

  • array:items (array) — no trigger handle

Related pages