Flikk
Building flows

Nodes

The node families, the config every node shares, and how data moves between them.

A node is one step in a flow. Every node has a type, a spec (its settings), typed inputs, and typed outputs. Wire a node's output into the next node's input and you have a pipeline.

Node families

Triggers start a run, and a flow has exactly one:

  • endpoint is a webhook trigger. An incoming HTTP call starts the flow with the request payload.
  • cron runs the flow on a schedule.
  • manual runs when you start it by hand or through the API.

Action nodes do the steps:

  • Integration nodes do one action in an external integration, like send a WhatsApp message or create a Shopify customer. They come from the integration you connected. See Integrations.
  • http_request calls any HTTP API directly, when no integration node covers it. Integration nodes compile down to this.
  • generate calls an AI model to categorize, draft, extract, or decide.
  • transform reshapes data between steps.
  • delay waits before continuing.
  • log records a value into the run.
  • init runs a setup request before the flow's main pass.

Control flow:

  • loop runs a body of nodes once per item, or a fixed number of times.
  • Conditions on an edge route one event to different branches.

How data moves

Data flows by reference, not by copying. Anywhere a node input accepts a value, point it at an earlier node's output with {{slug.field}}:

ReferenceResolves to
{{list_orders.orders}}the orders array from the list_orders node
{{trigger.customer.email}}a nested field off the trigger payload

A node references another by its slug, so renaming a value in one place does not break the wiring.

Node config

Every node takes an optional config with the same operational fields, separate from its type-specific spec:

FieldMeaning
authCredential names the node needs. Set on http_request and generate; integration nodes carry it for you. See Connecting.
timeoutMilliseconds before the step times out. Default 30000.
retryRetry policy: maxAttempts, backoffMs, backoffMultiplier, and retryOn status codes.
fanInFor a node with several incoming edges: all waits for every source, any runs on the first to succeed.

When edges meet

One node can feed several outgoing edges, and each edge can carry a condition that decides whether it fires. That is branching, covered next.

On this page