[[painless-watcher-transform-context]]
=== Watcher transform context

Use a Painless script to {xpack-ref}/transform-script.html[transform] watch
data into a new payload for use in a response to a condition.

*Variables*

`params` (`Map`, read-only)::
        User-defined parameters passed in as part of the query.

`ctx['watch_id']` (`String`, read-only)::
        The id of the watch.

`ctx['execution_time']` (`DateTime`, read-only)::
        The start time for the watch.

`ctx['trigger']['scheduled_time']` (`DateTime`, read-only)::
        The scheduled trigger time for the watch.

`ctx['trigger']['triggered_time']` (`DateTime`, read-only)::
        The actual trigger time for the watch.

`ctx['metadata']` (`Map`, read-only)::
        Any metadata associated with the watch.

`ctx['payload']` (`Map`, read-only)::
        The accessible watch data based upon the
        {xpack-ref}/input.html[watch input].


*Return*

`Object`::
        The new payload.

*API*

The standard <<painless-api-reference, Painless API>> is available.