Slack App Integration

Slack is a very popular team communication platform.

What does OpsGenie offer Slack users?

OpsGenie has a bidirectional integration with Slack. It's easy to configure and powerful: notifications of OpsGenie's robust alerts go right into your Slack channel. In turn, users can acknowledge, close, or assign these alerts from the channel, as easily as entering a command like /genie ack 12.

Add a Slack integration in OpsGenie, and in seconds have combined Slack's easy-to-use team collaboration platform with OpsGenie's rich alert notification system and on-call rotation. Execute actions on the alert just by typing a /genie command, into the chat.

There's more to be accomplished in OpsGenie just by entering simple commands to Slack channel. Using /genie command, mute OpsGenie notifications, get alert details, view on-call schedules, and more.

Now with the new Slack buttons, OpsGenie users can acknowledge, un-acknowledge, or close alerts with just a button click.

"Require Matching a User" option is used to force matching Slack accounts with OpsGenie accounts. Chat user mapping section addresses this issue.

Install Slack App

  1. Go to Slack App's integration page -> Slack Integration.
  2. Click Add to Slack.
  1. Select "Slack Team" and "Channel".
  2. Click Authorize to give access to OpsGenie's Slack App.
  1. The integration is automatically created. (If not logged into OpsGenie, log in.)
  2. Note that permission is required to add integration in OpsGenie.
  1. Modify the alert message that is sent to the Slack channel. In the Slack Integration's page, users have a choice to send description, tags, and routed teams information to a Slack message.

Slack Buttons

  1. Using Slack buttons is optional. Disable it on integration's edit page by using the "Use Slack Buttons" option.
  2. Message with Slack buttons look like:
  1. Acknowledge, Un-acknowledge or Close alerts.
  2. Close mass notifications.
  3. If an alert is already acknowledged, un-acknowledged, or closed, the relevant response is sent in Slack and buttons are changed accordingly.

Slack Message Menu

  1. Message menus are built on Slack's interactive message framework just like Slack buttons. A user's "Using Slack Buttons" preference also applies to message menu.
  1. Execute assign, take ownership, snooze, and add note actions on alerts. According to the selection, the message is updated to proceed further. For example, after the "Add Note" option is selected, a dialog box appears to enter a note as shown below.
  1. Message menu is updated according to actions taken. The result of the action is posted to the channel.

"Execute Commands" Option

  1. "Execute Commands" option is used to determine the integration which executes the genie command.
  2. The reason to do so is that Slack registers slash commands for the whole team, but more than one OpsGenie integration can be installed in Slack.
  3. Only one Slack integration can have "Execute Commands" checked for a Slack team.
  4. "Require Matching a User" option is determined by the same integration that has "Execute Commands" option selected as slash command will be associated with this integration.

Chat User Mapping

  1. "Require Matching a User" is used to force matching Slack accounts with OpsGenie accounts.
  2. Associate Slack accounts to OpsGenie accounts by using the /genie connect command. If using the OpsGenie EU instance, please use /eugenie connect command instead.
  3. Chat user mapping flow:

Using /genie Command

If using the OpsGenie EU instance, please use /eugenie command instead of /genie command.
For example, for acknowledging an alert, run the following command:
/genie ack [tinyID tinyID2..]

Easily execute actions on OpsGenie alerts by entering a command with the tinyId of the alert into a Slack room. It is possible to execute a single command on multiple alerts.

Create alerts, too. Use the alert command to create an alert in OpsGenie, right from the Slack channel.

Acknowledge Alert :
/genie ack [tinyID tinyID2..]

Examples:
/genie ack 1
/genie ack 1 2 3

Close Alert :
/genie close [tinyID tinyID2..]

Examples:
/genie close 1
/genie close 1 2 3

Add Note to Alert :
/genie note [note] to [tinyID tinyID2..]

Examples:
/genie note this is note to 1
/genie note this is note to 1 2 3

Add Tag to Alert :
/genie addtag [tag1,tag2,..] to [tinyID tinyID2..]

Examples:
/genie addtag high priority,important to 1
genie addtag high priority,important to 1 2 3

Acknowledge All Open Alerts :
/genie ackall

Close All Open Alerts :
/genie closeall

Assign Alert :
/genie assign [tinyID tinyID2..] to [user]

Examples:
/genie assign 1 to john.smith@acme.com
/genie assign 1 2 3 to john.smith@acme.com

Take Ownership of Alert :
/genie own [tinyID tinyID2..]

Examples:
/genie own 1
/genie own 1 2 3

Execute Action :
/genie exec [action] on [tinyID tinyID2..]

Examples:
/genie exec customAction on 1
/genie exec customAction on 1 2 3

Create Alert :
/genie alert [alert message] for [team1,team2,user1..]

Examples:
/genie alert this is alert message for john.smith@acme.com
/genie alert this is alert message for integration team, product team
/genie alert this is alert message for myTeam, john.smith@acme.com

Get Alert :
/genie get [tinyID]

Example:
/genie get 1

List Alerts :
Lists all open alerts.
/genie list

Lists all open alerts of a specified team.
/genie list alerts of team1

List Integrations :
/genie list integrations

List Policies :
/genie list policies

List Teams :
/genie list teams
/genie list teams contains [search query]
/genie list teams starts with [search query]

Enable Integration/Policy :
/genie enable [name]

Example:
/genie enable policy

Disable Integration/Policy :
/genie disable [name]

Example:
/genie disable policy

Take On-call :
Takes on-call for the specified amount of time for the team or schedule. The default amount of time is 1h. If no schedule/team is specified, the user will take on-call for his team's schedule, or a single schedule he's participant in.
/genie oncall [me/user] [h/m/d] for [team/schedule/all]

Sample uses are:
/genie oncall me 2h for weekend_schedule
/genie oncall john.smith@acme.com 1d for ops_team
/genie oncall me 2h for all
/genie oncall me 45m
/genie oncall me

Who is oncall :
Retrieves oncall user information from all schedules
/genie whoisoncall

Mute :
Mutes notifications for the user. Mutes for 5 minutes if not given.
/genie mute [me/username] [minutes(optional)]

Example:
/genie mute john.smith@acme.com
/genie mute john.smith@acme.com 15

Unmute :
Clears mute setting.
/genie unmute [me/username]

Example:
/genie unmute john.smith@acme.com

Connect :
Connect your OpsGenie account to your chat account. If a connection exists, the currently connected OpsGenie user will be shown and you can choose to disconnect

For more details see the Chat User Mapping documentation page
/genie connect

Help :
/genie help

Slack App Integration

Slack is a very popular team communication platform.