[role="xpack"]
[[watcher-troubleshooting]]
== Troubleshooting {watcher}
[subs="attributes"]
++++
<titleabbrev>Troubleshooting</titleabbrev>
++++

[discrete]
=== Dynamic mapping error when trying to add a watch

If you get the _Dynamic Mapping is Disabled_ error when you try to add a watch,
verify that the index mappings for the `.watches` index are available. You can
do that by submitting the following request:

[source,console]
--------------------------------------------------
GET .watches/_mapping
--------------------------------------------------
// TEST[skip:deprecation warning]

If the index mappings are missing, follow these steps to restore the correct
mappings:

. Stop the Elasticsearch node.
. Add `xpack.watcher.index.rest.direct_access : true` to `elasticsearch.yml`.
. Restart the Elasticsearch node.
. Delete the `.watches` index:
+
--
[source,console]
--------------------------------------------------
DELETE .watches
--------------------------------------------------
// TEST[skip:index deletion and deprecation warning]
--
. Disable direct access to the `.watches` index:
.. Stop the Elasticsearch node.
.. Remove `xpack.watcher.index.rest.direct_access : true` from `elasticsearch.yml`.
.. Restart the Elasticsearch node.

[discrete]
=== Unable to send email

If you get an authentication error indicating that you need to continue the
sign-in process from a web browser when Watcher attempts to send email, you need
to configure Gmail to
https://support.google.com/accounts/answer/6010255?hl=en[Allow Less Secure Apps to access your account].

If you have two-step verification enabled for your email account, you must
generate and use an App Specific password to send email from {watcher}. For more
information, see:

- Gmail: https://support.google.com/accounts/answer/185833?hl=en[Sign in using App Passwords]
- Outlook.com: http://windows.microsoft.com/en-us/windows/app-passwords-two-step-verification[App passwords and two-step verification]

[discrete]
=== {watcher} not responsive

Keep in mind that there's no built-in validation of scripts that you add to a
watch. Buggy or deliberately malicious scripts can negatively impact {watcher}
performance. For example, if you add multiple watches with buggy script
conditions in a short period of time, {watcher} might be temporarily unable to
process watches until the bad watches time out.
