Guidelines for global and message shortcuts

Shortcuts give users clear invocation points to your Slack app. There are two varieties of shortcuts: global shortcuts appear in the composer menu behind the lightning bolt, and globally within search; message shortcuts appear in the context menu on the upper-right of every message.

An example of global and message shortcuts on desktop

Begin shortcut names with a verb

Your app's shortcuts are an action the end-user may take and are a specific point of entry to your app. Starting your shortcut name with a verb is clear to the user and prompts specific intention upon shortcut invocation.

As an example, imagine you were building a polling app. If you were building a global shortcut, it would be more intuitive for a user to click Create a poll rather than a variation such as Poll creation.

Employ modals on shortcut invocation

Modals offer a consistent, predictable user experience when invoking your app. It offers the user peace of mind that they know exactly what the shortcut does. Also, if applicable to your app, it ensures that the user is aware what channel they'll send messages to.

Specify the default_to_current_conversation parameter parameter in block kit elements to make it easy for users to send messages to the same channel your shortcut was invoked in.

Customize shortcuts based on context

Think about what app invocation points belong in a global context (global shortcuts), versus which belong in a message context (message shortcuts).

For example, pretend you're building a task management app. An example of a shortcut that makes sense in a global context would be Create a task, whereas a shortcut that belongs in a message context would be Attach to a task, which could attach the specific message to an existing task.

Be clear when using paid-feature shortcuts

If your app’s core features are paid-only and you plan to expose them via shortcuts, you should make it apparent for non-paying users that the reason they can’t use the shortcut is because they must have a paid plan for your app. The recommended way to do this is open an explanatory modal with a call-to-action to subscribe to a paid plan of your app.

Include user confirmation of result

Whenever a user completes an action with your app (even when it isn't associated with shortcuts), provide confirmation and details about what they just did. And for third-party service, include relevant links out to your service.

As an example, if the user performed an action like creating a new helpdesk ticket in a third-party service, include a link to where they can view more information about that ticket.

Use cases

  • Surface your app's core functionality globally within Slack

  • Enable users to take action on a message

  • Improve discoverability of your app