[[condition]]
=== Condition

When a watch is triggered, its condition determines whether or not to execute its actions.
Watcher supports four condition types: <<condition-always, `always`>>, <<condition-never, `never`>>, 
<<condition-script, `script`>> and <<condition-compare, `compare`>>.

NOTE: If you omit the condition definition from a watch, the condition defaults to `always`. 

When a condition is evaluated, it has full access to the watch execution context, including the watch payload (`ctx.payload.*`). 
The <<condition-script, script>> and <<condition-compare, compare>> conditions can use the data in 
the payload to determine whether or not  the necessary conditions have been met. 

include::condition/always.asciidoc[]

include::condition/never.asciidoc[]

include::condition/script.asciidoc[]

include::condition/compare.asciidoc[]