--- title: Pushover event handler list_title: Pushover description: > The Pushover event handler allows you to send Kapacitor alerts to Pushover. This page includes configuration options and usage examples. menu: kapacitor_v1: name: Pushover weight: 1300 parent: Event handlers aliases: - /kapacitor/v1/event_handlers/pushover/ --- [Pushover](https://pushover.net/) is a service that sends instant push notifications to phone and tablets. Kapacitor can be configured to send alert messages to Pushover. ## Configuration Configuration as well as default [option](#options) values for the Pushover event handler are set in your `kapacitor.conf`. Below is an example configuration: ```toml [pushover] enabled = true token = "mysupersecrettoken" user-key = "myuserkey" url = "https://api.pushover.net/1/messages.json" ``` #### `enabled` Set to `true` to enable the Pushover event handler. #### `token` Your Pushover API token. #### `user-key` Your Pushover USER_TOKEN. #### `url` The URL for the Pushover API. _**This should not need to be changed.**_ ## Options The following Pushover event handler options can be set in a [handler file](/kapacitor/v1/reference/event_handlers/#create-a-topic-handler-with-a-handler-file) or when using `.pushover()` in a TICKscript. | Name | Type | Description | | ---- | ---- | ----------- | | device | string | Specific list of users' devices rather than all of a users' devices. Multiple device names may be separated by a comma. | | title | string | The message title. By default, the app's name is used. | | url | string | A supplementary URL to show with the message. | | url-title | string | A title for a supplementary URL, otherwise just the URL is shown. | | sound | string | The name of one of the sounds supported by the device clients to override the user's default sound choice. | ### Example: handler file ```yaml id: handler-id topic: topic-name kind: pushover options: device: device1, device2, device3 title: Alert from Kapacitor url: http://example.com url-title: This is an example title sound: siren ``` ### Example: TICKscript ```js |alert() // ... .pushover() .device('device1, device2, device3') .title('Alert from Kapacitor') .URL('http://example.com') .URLTitle('This is an example title') .sound('siren') ``` ### Pushover Priority Levels Pushover expects priority levels with each alert. Kapacitor alert levels are mapped to the following priority levels: | Alert Level | Priority Level | | ----------- | -------------- | | **OK** | -2 priority level. | | **Info** | -1 priority level. | | **Warning** | 0 priority level. | | **Critical** | 1 priority level. | ## Pushover Setup [Register your application with Pushover](https://pushover.net/apps/build) to get a Pushover token. Include the token in the `[pushover]` configuration section of your `kapacitor.conf`. ## Using the Pushover event handler With the Pushover event handler enabled and configured in your `kapacitor.conf`, use the `.pushover()` attribute in your TICKscripts to send alerts to Pushover or define a Pushover handler that subscribes to a topic and sends published alerts to Pushover. ### Send alerts to Pushover from a TICKscript The following TICKscript sends the message, "Hey, check your CPU", to Pushover whenever idle CPU usage drops below 10% using the `.pushover()` event handler. _**pushover-cpu-alert.tick**_ ```js stream |from() .measurement('cpu') |alert() .crit(lambda: "usage_idle" < 10) .message('Hey, check your CPU') .pushover() .title('Alert from Kapacitor') .sound('siren') ``` ### Send alerts to Pushover from a defined handler The following setup sends an alert to the `cpu` topic with the message, "Hey, check your CPU". A Pushover handler is added that subscribes to the `cpu` topic and publishes all alert messages to Pushover. Create a TICKscript that publishes alert messages to a topic. The TICKscript below sends an alert message to the `cpu` topic any time idle CPU usage drops below 10%. _**cpu\_alert.tick**_ ```js stream |from() .measurement('cpu') |alert() .crit(lambda: "usage_idle" < 10) .message('Hey, check your CPU') .topic('cpu') ``` Add and enable the TICKscript: ```bash kapacitor define cpu_alert -tick cpu_alert.tick kapacitor enable cpu_alert ``` Create a handler file that subscribes to the `cpu` topic and uses the Pushover event handler to send alerts to Pushover. _**pushover\_cpu\_handler.yaml**_ ```yaml id: pushover-cpu-alert topic: cpu kind: pushover options: title: Alert from Kapacitor sound: siren ``` Add the handler: ```bash kapacitor define-topic-handler pushover_cpu_handler.yaml ```