'How to send a welcome onboarding message in Slack app

I want to send a welcome message to a user that adds my Slack app. This is considered good practice in the official Slack docs.

What is the right way to implement this?

  1. Should I use the app_home_opened event for that? Is there a built-in mechanism to detect if it was triggered for the first time (because I need to show the onboarding message only once)?
  2. Are there any other events that might be useful for the use case?


Solution 1:[1]

After @sandra's response and further investigation I would like to share more details on the implementation mechanics:

  1. A user goes through the OAuth process and is then redirected to the app home.
  2. In the application I catch the app_home_opened event.
  3. If the event.tab === 'home' and event.view is not set, it means that the app home is opened for the first time and we need to send the welcome message.
  4. Send user a message (e.g. in the Bolt for JS it's await say('Welcome!')).
  5. Publish the Home view (e.g. in the Bolt for JS it's await client.views.publish(...)).

Useful links:

  • Official video from Slack about App Home
  • Official demo app to get some ideal on implementation

Solution 2:[2]

Yes. You should use the App Home features on your app. Enabling the app home with some type of instructions or welcome message would be best practice. Along side this, you will subscribe your app to the app_home_opened event type which will let you know whenever a user opens your app's app home. You can then configure your app to respond to these events. Here's a video that might help with this concept.

Solution 3:[3]

  1. Give them a warm welcome on Day 1

Make new hires feel at home with a quick tour of the place. Using integrations like onboarding assistant Greet Bot, you can automate welcome messages and reminders, and share helpful links and documents.

The ideal welcome isn’t only a nice-to-have. It’s a critical early step in the onboarding process that shortens ramp time so your people can get to full productivity fast.

2.Create #new-hires channels

When new folks join, give them a place to find answers to FAQs, access important documents, and meet other new starters. If you’re hiring on a large scale, create multiple channels to bring together all your new hires from specific time periods.

This will boost productivity and can be great for employee engagement. Your new hires will be able to meet their peers and find the essentials fast—not just company policies but recommendations for the best places to grab a bite too.

3.Make sure they hit the ground running

When you need to bring new employees up to speed on a project, one approach is to forward them a load of email threads and wish them luck.

A better way is to invite them to a project channel where they can easily find what they need—pinned posts and files, team members, and conversations—all with a scroll or a search.

4.Help them help themselves

No one wants to feel like a burden when starting a new job. Enable self-service to help new starters get answers for themselves. As an added benefit, it’ll take some heat off your HR team because they won’t have to deal with so many admin requests.

Slack integrates with the apps your people use the most to stay productive and keep on top of HR tasks—apps like Dropbox, Salesforce, G Suite, Workday, Okta, UltiPro, and more.

5.Remind them about the important stuff

You can schedule automated messages to arrive at key times, prompting your new hires to complete the next item on their onboarding checklist. No more missed deadlines, no more time spent chasing people down. Just new employees getting up to full productivity—and full confidence—as quickly as possible.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Pavel
Solution 2 sandra
Solution 3 Neel Shah