Node reference

Autoflow nodes: complete setting reference

Volledige referentie van alle ondersteunde node types: velden, defaults, validatie en voorbeeldconfiguraties.

1. Node type matrix

Type Configblok Doel Branching
triggertriggerFlowstart via schedule of eventdefault output
datasourcedataDatasource context zettendefault output
filterfilterFilterregels op context toepassendefault output
metricmetricAggregatie op data berekenendefault output
mathmathBerekeningen op metricwaardendefault output
conditionconditionVergelijking tussen referencesif + else verplicht
llmconditionllmAI true/false routingif + else verplicht
llmresponsellmAI tekstoutput naar contextdefault output
elementnodeelementElement uitvoeren als processing nodedefault output
elementactionelementElement uitvoeren als action nodedefault output
actionactionNotificatie verstureneindnode

2. Trigger, datasource en filter

Trigger node (type: trigger)

VeldTypeRequiredBeschrijving
trigger.schedulestringNoCron string of Manual.
trigger.eventTypestringNoEvent trigger type (bijv. parquet-refresh, alert).
trigger.minSeveritylow/medium/high/criticalNoAlleen relevant voor alert events.
{
  "id": "trigger_daily",
  "type": "trigger",
  "title": "Dagelijkse check",
  "trigger": {
    "schedule": "0 8 * * *"
  }
}

Datasource node (type: datasource)

VeldTypeRequiredBeschrijving
data.dataSourceIdstringYesID van bestaande datasource binnen tenant.
{
  "id": "ds_sales",
  "type": "datasource",
  "title": "Sales data",
  "data": {
    "dataSourceId": "testdata"
  }
}

Filter node (type: filter)

Ondersteunde rule-types: text, number, date, boolean. De runner vertaalt rules naar een SQL-achtige expressie en combineert rules met AND.

Rule veldTypeBeschrijving
fieldstringKolomnaam (vereist).
typetext/number/date/booleanDatatype van de vergelijking.
enabledbooleanUitgeschakelde rules worden genegeerd.
valuesarrayTekst/keuze-set of numerieke lijst afhankelijk van type.
min, maxnumberRange filtering voor type number.
datePresetstringPreset (o.a. past7, past30, thisWeek, lastWeek, ytd).
dateFrom, dateTostringDatumrange (YYYY-MM-DD of date-time string).
boolValuebooleanBoolean match voor type boolean.
{
  "id": "flt_paid_last_week",
  "type": "filter",
  "title": "Betaald vorige week",
  "filter": {
    "rules": [
      { "field": "status", "type": "text", "values": ["paid"], "enabled": true },
      { "field": "invoice_date", "type": "date", "datePreset": "past7_shift1w", "enabled": true }
    ]
  }
}

3. Metric, math en condition

Metric node (type: metric)

VeldTypeRequiredBeschrijving
metric.keystringYesUnieke metric key in context.
metric.labelstringNoLeesbaar label; default van key.
metric.aggregationsum/avg/count/min/maxYesAggregatietype.
metric.measureFieldstringYesKolom waarop geaggregeerd wordt (bij count optioneel conceptueel).
metric.dataSourceIdstringNoOverride van datasource context.
metric.sourceNodeIdstringNoSpecifieke contextbron voor filters.
{
  "id": "metric_revenue_current",
  "type": "metric",
  "title": "Omzet huidig",
  "metric": {
    "key": "revenue_current",
    "label": "Omzet huidig",
    "aggregation": "sum",
    "measureField": "line_total"
  }
}

Math node (type: math)

VeldTypeRequiredBeschrijving
math.variablesarrayYesVariabelen met key en optioneel metricKey/nodeId.
math.expressionsarrayYesExpressies met key en expression.
{
  "id": "math_compare",
  "type": "math",
  "title": "Vergelijking",
  "math": {
    "variables": [
      { "key": "current", "label": "Current", "metricKey": "revenue_current" },
      { "key": "previous", "label": "Previous", "metricKey": "revenue_previous" }
    ],
    "expressions": [
      { "key": "delta", "label": "Delta", "expression": "current - previous" },
      { "key": "pct_change", "label": "% verschil", "expression": "((current - previous) / NULLIF(previous, 0)) * 100" }
    ]
  }
}

Condition node (type: condition)

Vergelijkt left en right references. Bronnen kunnen metric, math of number zijn.

VeldTypeRequiredBeschrijving
condition.operator>, >=, <, <=, =, !=YesVergelijkoperator.
condition.leftobjectYesLinker reference (source, nodeId, key, value).
condition.rightobjectYesRechter reference met zelfde model.
{
  "id": "cond_revenue_down",
  "type": "condition",
  "title": "Omzet lager dan vorige week",
  "condition": {
    "operator": "<",
    "left": { "source": "metric", "nodeId": "metric_revenue_current", "key": "revenue_current" },
    "right": { "source": "metric", "nodeId": "metric_revenue_previous", "key": "revenue_previous" }
  }
}

4. AI, Element en Action nodes

LLM condition / response (llmcondition & llmresponse)

VeldTypeRequiredBeschrijving
llm.systemPromptstringNoSystem context/instructie.
llm.userTemplatestringYesGebruikersprompt met template tokens.
llm.responseKeystringNoOutput key in context.
llm.temperaturenumberNoCreativiteit (UI range 0..2).
llm.maxTokensnumberNoOutput token cap.
llm.includeHistorybooleanNoVoegt recente flow history toe als context.
{
  "id": "llm_outlier_gate",
  "type": "llmcondition",
  "title": "Outlier detectie",
  "llm": {
    "systemPrompt": "Je bent een data analist. Beslis alleen true of false.",
    "userTemplate": "Metric waarde={{metric:metric_revenue_current}}. Is dit een outlier?",
    "responseKey": "outlierDecision",
    "temperature": 0.1,
    "maxTokens": 120,
    "includeHistory": true
  }
}

Voor llmcondition zijn uitgaande if en else connecties verplicht.

Element node / Element action

VeldTypeRequiredBeschrijving
element.elementIdstringYesElement ID om uit te voeren.
element.elementVersionstringNoLeeg = latest published.
element.entrypointstringNoDefault run.
element.timeoutSecondsnumberNoWordt begrensd op 1..300.
element.responseKeystringNoContext key voor downstream gebruik.
element.paramsobjectNoJSON object; strings mogen template tokens bevatten.
{
  "id": "elem_predict",
  "type": "elementnode",
  "title": "Voorspelling",
  "element": {
    "elementId": "sales_forecast",
    "entrypoint": "run",
    "timeoutSeconds": 90,
    "responseKey": "forecastRows",
    "params": {
      "tenant": "{{dataSourceId}}",
      "windowDays": 14
    }
  }
}

Action node (type: action)

VeldTypeRequiredBeschrijving
action.channelNotificationYesWordt intern genormaliseerd naar Notification.
action.targetstringYesUser ID of all voor alle users.
action.severityinfo/warn/criticalNoDefault info.
descriptionstringNoBerichttemplate met tokens.
{
  "id": "action_warn",
  "type": "action",
  "title": "Waarschuwing",
  "description": "Omzet daalt: huidige={{revenue_currentValue}}, vorige={{revenue_previousValue}}",
  "action": {
    "channel": "Notification",
    "target": "all",
    "severity": "warn"
  }
}

5. Template variabelen

Action-, LLM- en Element-templates kunnen contextwaarden gebruiken uit upstream nodes.

Algemene tokens

  • {{dataSourceId}}
  • {{filters}}
  • {{filterExpressions}}
  • {{history}} (voor LLM nodes met history-context)

Node-specifieke tokens

  • {{metric:<nodeId>}}, {{metric:<nodeId>.results}}
  • {{metricKeyValue}}, {{metricKeyRows}}, {{metricKeyLabel}}
  • {{math:<nodeId>}}, {{mathVars:<nodeId>}}
  • {{llmResponseKey}}, {{llmResponseKeyDecision}}, {{llmResponseKeyRoute}}
  • {{responseKey}} voor Element output keys.