Mattermost Integration

 is an open source, private cloud Slack-alternative platform. OpsGenie is an alert and notification management solution that is highly complementary to Mattermost.

What does OpsGenie offer for Mattermost users? 

OpsGenie has a two-way integration with Mattermost. It's powerful and easy to configure: notifications of OpsGenie's robust alerts go right into your Mattermost 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 Mattermost integration in OpsGenie, and in seconds you will combine Mattermost's easy-to-use team collaboration platform with OpsGenie's rich alert notification system and on-call rotation. You can execute actions on the alert just by typing a /genie command, into the chat.

Actually, there's more to what you can do on OpsGenie just by entering simple commands to Mattermost channel. Using /genie command, you can also mute OpsGenie notifications, get alert details, view schedule on-call, etc. OpsGenie's Mattermost integration is, really that powerful.

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

Configuring Mattermost Integration

  1. In Mattermost, enable incoming webhooks and slash commands from Main Menu > System Console > Integrations > Custom Integrations.
  2. To create Mattermost Incoming Webhook, go to Main Menu > Integrations > Incoming Webhooks and click Add Incoming Webhook.
  3. Fill in Display Name and Description fields, and select the channel or private group to receive webhook payloads, then click Save to create the webhook.
  4. After adding incoming webhook, you will be directed to a page. Copy the URL given in that page.
  5. Go to OpsGenie, and please create an OpsGenie account if you haven't done so already.
  6. Go to OpsGenie's Mattermost Integration page.
  7. Paste the URL that you copied from Mattermost to the Mattermost URL field.
  8. Copy the Request URL in order to use it while adding slash commands in Mattermost.
  9. Click on Save Integration.
  10. Go to Mattermost and from Main Menu > Integrations > Slash Commands click Add Slash Command.
  11. Enter genie into Command Trigger Word field.
  12. Paste the URL that you copied from OpsGenie to the Request URL field.
  13. Click Update.

Chat User Mapping

  1. "Require Matching a User" is used to force matching Mattermost accounts with OpsGenie accounts.
  2. You can associate your Mattermost account to your OpsGenie account by using the /genie connect command.
  3. For more information you can refer to Chat User Mapping page.
  4. Chat user mapping flow:
    1. First, write /genie connect command. Click the "authenticate in opsgenie" link.
    2. In the opened tab, the link directs you to the OpsGenie login page. Login and click "Approve" button.
    3. Now, you have connected your OpsGenie account to your Mattermost team.

Using /genie Command

You can easily execute actions on OpsGenie alerts, just by entering a command with the tinyId of the alert into your Mattermost room. Note that you can execute a single command on multiple alerts.

You can create an alert, too. Use the alert command to create an alert in OpsGenie, right from your Mattermost 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 2 to myTeam
    /genie assign 3 to myTeam john.smith@acme.com
    /genie assign 1 2 3 to john.smith@acme.com
    /genie assign 1 2 3 to myTeam
    /genie assign 1 2 3 to john.smith@acme.com myTeam
                                    
  • 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 [user team]

    Examples:

    /genie alert this is alert message for john.smith@acme.com
    /genie alert this is alert message for myTeam
    /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
  • List Integrations :
    /genie list integrations
  • List Policies :
    /genie list policies
  • 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. 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