Condition action

The condition step determines the next step in the action by evaluating a JavaScript expression. Return true to execute the left-hand side step, or false to execute the right-hand side step.

return {{data.length}}  > 0;

Built-in variables

The following built-in variables are available:

// result of the previous step
return {{data}};

// error response of the previous step
return {{error}};

// incoming action params, passed in by components,
// the Execution/Loop action steps or when calling the action from the code
return {{params}};

// the response of the request, if the Code step follows an HTTP API step
return {{res}};

While {{data}} and {{error}} are specific to a particular step, {{params}} is available in all steps.

Using variables:

// use `{{data.<key>}}` to access a specific key
return {{data.name}};

// to access the first element of the array
return {{data[0]}};

// to access the `name` key of the first element
return {{data[0].name}};

Optional chaining

If, at some point, variable's value is null or undefined, an optional chaining operator ?. can be used to access a specific key.

For example:

// if `data` is `null` or `undefined`, `name` will not produce an error
return {{data?.name}};
// if `data` is `null` or `undefined`, `name` will not produce an error
return {{data?.[0]?.name}};

Examples

Execute the true step if the data array has some items:

return {{data.length}}  > 0;

Execute the true step if the component's value is set:

return !!{{ui.input.value}};

Checking user role:

return {{user.role}} === 'admin';

Checking multiple user roles:

return ['admin', 'manager'].includes({{user.role}});

Checking that at least one user role is present:

return ['admin', 'manager'].some(role => {{user.roles}}.includes(role));

Last updated