How to Fix the Issue Where @username Mentions Don't Notify in Slack API

Tadashi Shigeoka ·  Thu, March 14, 2019

I’ll introduce how to solve the issue where @username mentions don’t notify when using the Slack API.

slack

Cause) Slack API Specification Change

The background of the issue where Slack @username doesn’t notify was due to a Slack API specification change.

When evaluating messages to determine if your user or bot user is mentioned, look for a user ID, not a username.

A lingering farewell to the username | Slack

Due to the Slack API specification change, you should use @userID instead of @username.

How to Check the Correct Slack @ Mention Destination

How to Check Slack @userID

You can check a list of @userID and @username from https://api.slack.com/methods/users.list/test.

slack.com/api/users.list response excerpt

{
    "ok": true,
    "members": [
        {
            "id": "UH3FW2ELW",
            "team_id": "T3491U6E5",
            "name": "youremail",
            "deleted": false,
            "color": "e7392d",
            "real_name": "Firstname Lastname",
            "tz": "Asia\\/Tokyo",
            "tz_label": "Japan Standard Time",
            "tz_offset": 32400,
            "profile": {
                "title": "",
                "phone": "",
                "skype": "",
                "real_name": "Firstname Lastname",
                "real_name_normalized": "Firstname Lastname",
                "display_name": "changedname",
                "display_name_normalized": "changedname",
                "status_text": "",

“id”: “UH3FW2ELW” is the value corresponding to @userID. It’s automatically generated.

“name”: “youremail” is the value corresponding to @username. The value specified as Display Name during invitation is used. If no Display Name is set, the part before @ in the Email Address is used. It cannot be changed after registration.

invite members to slack

Slack @username is Still Fine

Since @userID has poor visibility in source code, I personally choose to use @username. In the example above, @userID is @UH3FW2ELW and @username is @youremail.

Like “id”, the “name” part also won’t change after initial registration.

Even if you change the display name after registration, only “display_name” and “display_name_normalized” change, while “name” remains the same.

That’s all from the Gemba on wanting to improve productivity by making @username mentions work via Slack API.

Reference Information