For the complete documentation index, see llms.txt. This page is also available as Markdown.

SmartConnector Execution Variables

Overview

Execution variables are how SQL results get passed into the rest of a SmartConnector. Any column from your SQL output that you want to use in matching rules, mapping rules, or load steps needs to be declared as an execution variable, and you need to tell Kizen what type of data it holds.

What Are Execution Variables?

Execution variables are typed, named values drawn from SQL output columns or defined statically in the SmartConnector configuration. Any column needed downstream must be declared as an execution variable with an explicit type before it can be used in a matching rule, mapping rule, or load step.

Once declared, execution variables persist in the SmartConnector configuration and are available to all downstream steps in the flow.

Variable type compatibility matters beyond the initial declaration. The UI filters the options available in matching and mapping rule dropdowns based on whether the variable type is compatible with the destination field type on the target Object. If an expected variable is missing from a dropdown, the most likely cause is a type mismatch. Check that the variable type matches the field type on the Object you are mapping to before troubleshooting anything else.


Variable Types

Seven variable types are supported. Each type defines how incoming data is parsed, how it is represented downstream, whether arrays are accepted, and any special runtime rules that apply.

Boolean

Behavior: The input format is autodetected from the column data.

Input formats

  • True/False (default)

  • Yes/No

  • On/Off

  • 1/0

  • t/f

Output formats

  • True/False (default)

  • Yes/No

  • On/Off

Arrays accepted: No


Type Validation Behavior

Type validation occurs when execution variables are resolved, so after the SQL processor runs and before the load step begins. The entire execution variable file is processed at once before any load step chunk work begins.

How validation failures are handled depends on whether the variable is required or optional:

  • Required variable: If a required variable has an invalid or blank value for a given row, that row fails. The row is skipped and the failure is logged in the output report. The run continues for all other rows.

  • Optional variable: If an optional variable has an invalid value, it is treated as blank. The row is not failed.

Failed rows appear in the errors and warnings column of the load step tab in the execution report. A run where some rows pass and others fail is reported as a partial success.

Auto-Detect Unmapped Columns

The Auto-detect unmapped columns button scans all SQL output columns and automatically creates an execution variable for any column that has not yet been mapped. This is most useful when the SQL output has changed. For example, when a new CSV file is uploaded to an existing SmartConnector and introduces new columns or data.

After completing test execution and publishing the updated SmartConnector live, revisit the Initialize Variables step and click Auto-detect unmapped columns to add execution variables for the new columns without defining each one manually.

Additional Variables

Additional variables are statically defined values that are available across all scopes in the SmartConnector flow. Unlike execution variables derived from SQL output, additional variables do not require SQL and are defined directly on the SmartConnector configuration and injected into the flow at runtime.

Additional variables are useful for constants that need to be available throughout a run, such as a source system identifier or a fixed reference value. Because they are static, their values do not change between rows or between runs unless the SmartConnector configuration is updated.

Variable Scopes

Execution variables are scoped to the SmartConnector execution and are not shared between runs. Each run produces its own isolated set of resolved variable values.

When SQL processing produces multiple output tables, each output table generates its own scope of execution variables. Variables declared against one output table are not automatically available in the scope of another. Load steps are configured against a specific scope, so variable declarations must be present in the correct scope for a given load step to use them.

Additional variables are available across all scopes within a single execution.


What's Next

With execution variables declared and typed, the next step is configuring your SmartConnector Load Steps; where those variables are used to match existing Records, map values into fields, and write data into Kizen Objects.

Last updated

Was this helpful?