[[configuring-slack]] === Configuring Watcher to Send Messages to Slack You can configure Watcher to send messages to Slack channels and users. [[slack-account]] ==== Configuring Slack Accounts You configure the accounts Watcher can use to communicate with Slack in your `elasticsearch.yml` configuration file. Each account configuration has a unique name and specifies an https://api.slack.com/incoming-webhooks[Incoming Webhook URL] for posting messages to Slack. You can also specify message defaults, such the sender name and icon. Before you can configure a Slack account, you need to set up an Incoming Webhook Integration through the Slack console: . Log in to http://slack.com[slack.com] as a team administrator. . Go to https://my.slack.com/services/new/incoming-webhook/[ https://my.slack.com/services/new/incoming-webhook/]. . Select a default channel for the integration. + image::images/slack-add-webhook-integration.jpg[] . Click *Add Incoming Webhook Integration*. . Copy the generated webhook URL so you can paste it into your Slack account configuration in `elasticsearch.yml`. + image::images/slack-copy-webhook-url.jpg[] To configure a Slack account in Watcher, you set the `watcher.actions.slack.service` property in `elasticsearch.yml`. You must set the `url` to your incoming webhook integration URL. You can also specify defaults for the notification messages. For the complete list of attributes, see <<slack-account-attributes, Slack Account Attributes>>. For example, the following snippet configures an account called `notify-monitoring` and sets the default sender name to `Watcher`. [source,yaml] -------------------------------------------------- watcher.actions.slack.service: account: monitoring: url: https://hooks.slack.com/services/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 message_default: from: Watcher -------------------------------------------------- If you configure multiple Slack accounts, you either need to configure a default Slack account or specify which account the notification should be sent with in the <<actions-slack, slack>> action. You set `default_account` in `watcher.actions.slack.service` to specify a default account. [source,yaml] -------------------------------------------------- watcher.actions.slack.service: default_account: team1 account: team1: url: https://hooks.slack.com/services/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 message_default: from: watcher team2: url: https://hooks.slack.com/services/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 message_default: from: watcher -------------------------------------------------- [[slack-account-attributes]] ==== Slack Account Attributes |====== | Name |Required | Description | `url` | yes | The Incoming Webhook URL to use to post messages to Slack. | `message_defaults.from` | no | The sender name to display in the Slack message. Defaults to the watch ID. | `message_defaults.to ` | no | The default Slack channels or groups you want to send messages to. | `message_defaults.icon` | no | The icon to display in the Slack messages. Overrides the incoming webhook's configured icon. Accepts a public URL to an image. | `message_defaults.text` | no | The default message content. | `message_defaults.attachment` | no | Default message attachments. Slack message attachments enable you to create more richly-formatted messages. Specified as an array as defined in the https://api.slack.com/docs/attachments[ Slack attachments documentation]. |======