Start conditions
Learn how to conditionally skip blocks.
You can add a start condition to a block if you want to ensure that a block only runs if certain
conditions are met.
This can be useful if, for example, you want to send a different Slack notification or email message
depending on the output of a previous block.
To use a start condition for a block, hit the ⏩ icon in the upper-right corner of any block.

You'll see a field where you can express a condition using JavaScript
that, if met, will cause this block to run. In this example, we're evaluating the length of the
query results from a prior SQL block. If no rows were returned, then this start condition will
evaluate to
true
and output a message in Slack.
When a block's start condition evaluates to
true
it will execute normally. If it evaluates to
false
, it will be skipped.
To remove a start condition, click the ⏩ icon again.
Evaluating the "else" from a start condition
If you also want to cover the case where the conditional evaluates to
false
, just create another
block with the opposite start condition (e.g. lookup.output.Q1.length > 0
in the above example).
Whenever a block's start condition evaluates to false
, that block is skipped and the next block is
executed.Multiple blocks with the same condition
Sometimes, you might want more than one step to execute if a start condition is met. For example,
let's say that you have a runbook that deletes a user account. The runbook has a boolean parameter
that asks whether or not the user wants an exported archive of all their data. If this parameter is
set to
true
, then you want to execute a task block that generates the archive, and then an email
block that sends that user a link to the archive.In this case, you need to add the same start condition to all blocks that you want to execute in
this "branch" of your runbook.

Conditional user confirmations
Start conditions can be paired with manual blocks to conditionally request a user confirmation
before continuing. For more information, see
Manual blocks.