Using Slack commands with FireHydrant

Running incidents and executing Runbooks can be done directly in Slack where your team is already accustomed to working. This article details the full list of FireHydrant's Slack commands.

There are multiple command aliases that can be used to execute FireHydrant Slack bot commands:

  • /fh
  • /firehydrant
  • /incident

For this article, we will utilize /fh.

Certain commands can be run anywhere while others can only be run in an active incident channel. We will denote these contexts as general and incident commands.

General Commands

These commands can be run anywhere within Slack and at any time, including within incident channels.

/fh

/fh

Running the command without arguments will show the complete list of all available Slack commands.

/fh create-resolved

/fh create-resolved

Creates an incident that does not fire off any automation or Runbooks and started in a Resolved state.

The intended use case is for logging retroactive incidents that occurred in the past. For more information, visit Creating Resolved Incidents.

/fh help

/fh help

Provides help text, available commands + quick action buttons, and other resources.

/fh link

Initiates an authorization process to link your Slack account to your FireHydrant account.

If the user's Slack email address matches the user's email address in FireHydrant, we will automatically link the accounts when the user is created in FireHydrant. Otherwise, we will prompt for permissions when the user attempts to execute Slackbot commands.

Note: Slack accounts must be linked with FireHydrant accounts for FireHydarnt to automatically pull users into incident channels.

/fh new

/fh new [incident name]

Opens a dialog to create an incident. Read about customizing this modal here.

Slack incident declaration modal, customized
Slack incident declaration modal, customized

/fh on-call

/fh on-call [service | functionality]

Allows you to see who's on-call for a particular service or functionality.

Note: This will only work if the Service or Functionality is linked to or imported from a service in your alerting provider. Read more about linking catalog items here.

/fh page

/fh page

Creates a page or adds repsonders to existing page.

/fh page service [service name]

Pages the on-call user/team for a Service.

/fh page functionality [functionality name]

Pages the on-call user/team for a Functionality.

Note: This will only work if the Service or Functionality is linked to or imported from a service in your alerting provider. Read more about linking catalog items here.

/fh service

/fh service [service name]

Pulls up information for the Service as defined in the Service Catalog. Information can include things like owning and responding teams, useful links, latest known changes, etc.

Manage the Incident

These commands are incident commands that can only be run inside an incident channel for an ongoing incident.

/fh add note

/fh add note [note text]
/fh post

Post an update note on the incident. This note will show up as an incident update on the timeline, and you will also have the option to publish the note out to attached status pages.

Notes are more important than normal chat messages. You can search a FireHydrant incident timeline and filter specifically by the content in a note (or notes) as opposed to typical chat messages. Adding a note gives you the option to publish the note to your status pages.

/fh add runbook

/fh add runbook

Allows you to add a Runbook to the incident. To browse all Runbooks, see /fh runbooks.

Note: If a Runbook has already been added, it will not appear in the search results.

/fh edit

/fh edit

Allows you to edit the details of the incident. These details include the name, customer impact, description, infrastructure impacted, severity, and more.

This is different than /fh update or /fh post, which allows you to post an update or note on the incident and propagate this update to Status Pages.

/fh related

Add and mark related incidents. To read more about this, visit Related Incidents.

/fh resolve

/fh resolve

This closes an incident, sets its status to resolved, and allows you to post a resolution note to any active status pages. A resolved incident continues to collect chat messages even after resolution. To re-open an incident, you must go to the command center.

/fh runbooks

/fh runbooks

Lists out all the Runbooks that are currently attached to the incident. This will also allow you to open a Runbook and execute steps right from Slack.

/fh status

/fh status

Displays the high level summary of the incident.

This is useful for new responders and people curious about the incident state to quickly figure out what is going on. The status is also sent to people as an ephemeral message to new people joining the incident channel.

Showing the status of the incident
Showing the status of the incident

/fh start retro

/fh start retro

Resolves the incident and transitions to Retrospective Started milestone.

Note: Running this command will resolve the incident if it hasn't already been resolved

/fh tags

/fh tags
/fh add tags

Allows you to update, add, or remove tags from an incident.

/fh update

/fh update

Allows you to change the incident milestone and component status. From this section, you can also include a comment about why you are changing the status. If you have active status pages, you can post your update to the status pages as well.

Updating the incident
Updating the incident

Manage Personnel

/fh assign role

/fh assign role

Assign roles to users.

If the user has linked their Slack account to their FireHydrant account, they will automatically be pulled into the Slack channel, and FireHydrant will also send the user a direct message informing them.

Users will be directly messaged by FireHydrant about their assignment
Users will be directly messaged by FireHydrant about their assignment

/fh assign team

/fh assign team

Assign a team to the incident.

When a team is selected, FireHydrant will show you a preview of the users and on-calls that will be brought into the incident, as well as the assigned roles if relevant.

Assigning a team in Slack
Assigning a team in Slack

Manage Action Items

These are commands that can only be run in an active incident channel.

⚠️ /fh action-items

/fh action-items

Lists all action items on the incident.

Note: This command has been marked for deprecation. We are working on adding /fh follow-ups to list out follow-up items, but you can browse the list of tasks today with /fh tasks.

⚠️ /fh add action-item

/fh add action-item

Add an action item on the incident. You can also select a ticketing project which will create a corresponding ticket in said integration (e.g. Jira, Shortcut, etc.).

Note: This command is deprecated. We recommend using explicit commands for Tasks (/fh add task) or Follow-Ups (/fh add follow-up).

/fh add follow-up

/fh add follow-up

Adds an after-incident Follow-Up. To read about follow-ups, visit Managing Follow-Ups.

/fh add task

/fh add task

Create a new task on the incident. This allows you to assign a task to a specific user as well.

/fh add task-list

/fh add task-list

Attach a task list to the incident. Task lists are predefined sets of tasks that can be assigned to a user to capture multi-step actions for triage or mitigation. Learn more about task lists.

/fh tasks

/firehydrant tasks [ @username | unassigned | all ]

View the task management modal. This modal allows you to filter on multiple facets:

  • Assigned user
  • Task state
  • Task List
  • Unassigned tasks

No arguments supplied will default to showing your tasks. Specifying a (Slack) username will show all the tasks assigned to that user, and all will show you all tasks assigned and unassigned to all users.

Additionally, you can quickly assign and change the state of tasks from this modal as well.

Incident tasks modal
Incident tasks modal

Command Extensions

In FireHydrant, you can create custom commands that return templated replies. In addition, if these commands are run in an incident channel, you will have access to the incident variable and subsequently all of the data available via that variable using Liquid templating.

Creating Extensions

Note: Creating extensions requires owner privileges

  1. On your integrations page, go to Slack and click the pencil to go into settings.
  2. Scroll down to Command Extensions and click on '+ Add command extension'.
Command extensions settings
Command extensions settings
  1. Fill in the details for your new extension:
    • Command Name: The command you would run. For example, 'example' would be executed with /fh example. Must be lowercase alphanumeric, dashes, or underscores, and no more than 25 characters.
    • Description: Brief description for the extension.
    • Reply Template: What will be returned when the user runs this command. Liquid templating is supported and you will have access to the incident variable. Read more about available incident data on our docs page for Liquid templating.

Using Extensions

Once you've gone through the steps above to create an extension, you can make use of it by running /fh EXTENSION_NAME.

Some example use cases:

  • Quick commands to reply with links and resources, like a playbook, links to dashboards, etc.
  • Quick commands to post specific incident variables and data.

Last updated on 12/6/2023