Skip to Content
This documentation is provided with the HEAT environment and is relevant for this HEAT instance only.
RunnersDashboard UtilsSession Trigger Node

session-trigger (Processing Node)

The session-trigger node reprocesses a target node in another session based on metadata matching rules.

Use this node to propagate updates from a source session (for example, an individual user session) into another session (for example, a profile or collective session) by triggering reprocessing on a specific node.


Configuration Schema

PropertyTypeRequiredDescription
target-nodestringYesNode name in the matched target session to reprocess.
searchCriteriaobjectYesCriteria used to locate the target session. Must contain session and expression.

searchCriteria fields:

FieldTypeRequiredDescription
sessionstringYesTarget session name to search for in the project.
expressionstringYesJMESPath expression applied to target session metadata_raw to extract comparison value.

How it works

At runtime, the processor:

  1. Reads latest upstream inputs and expects dashboard payload under key dashboard.
  2. Parses dashboard JSON and reads dashboard_users.
  3. Lists sessions in the current project.
  4. Filters sessions whose name equals searchCriteria.session.
  5. Parses each candidate metadata_raw JSON.
  6. Evaluates searchCriteria.expression against metadata.
  7. When a match is found, loads node instances for that session and finds target-node.
  8. Calls reprocess_node on the first matching node instance and returns:
    • {"reprocessed_node_id": "<node-instance-id>"}.

Intended cross-session usage

Typical pattern:

  • Source session: per-user session emits dashboard payload.
  • Target session: profile-level or collective session holds a node that should refresh when user data changes.
  • session-trigger bridges them by selecting the target session and forcing reprocessing on target-node.

Runtime behavior and caveats

  • Fails when dashboard input is missing.
  • Fails when dashboard_users is missing in parsed dashboard payload.
  • Fails when exceptions occur during lookup or reprocess flow.
  • If no matching node instance is found in the target session, it logs and continues scanning.
  • If no match is found, it returns None without reprocessing.

Current implementation details to be aware of:

  • Input lookup is currently hard-wired to input_map.get("dashboard").
  • Matching compares searchCriteria.expression result with dashboard_users value from payload.
  • Validation enforces target-node string, searchCriteria object with session/expression, and valid JMESPath syntax.

Example configuration

{ "target-node": "profile-aggregator", "searchCriteria": { "session": "user-profile-session", "expression": "user.externalId" } }

Integration in a session template

  1. Place session-trigger after a node that produces dashboard JSON including dashboard_users.
  2. Configure searchCriteria.session to the target session name.
  3. Configure searchCriteria.expression to extract the comparison key from target session metadata.
  4. Set target-node to the node name you want to reprocess in the matched session.