How to send a welcome onboarding message in Slack app - slack

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?
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)?
Are there any other events that might be useful for the use case?

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.

After #sandra's response and further investigation I would like to share more details on the implementation mechanics:
A user goes through the OAuth process and is then redirected to the app home.
In the application I catch the app_home_opened event.
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.
Send user a message (e.g. in the Bolt for JS it's await say('Welcome!')).
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

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.

Related

Is it possible to Fetch Real-time data using Riot Valorant Api?

I am making an application that shows real-time status for a Valorant game. like players alive, the type of weapons each play has, time remaining, etc.
Is it possible to use Riot Valorant API to do this for live matches or for previously played matches?
As per my knowledge you couldn't. But I think you should try with Riot Games' official production API, not development API.
Let me know if you find something relatable.
(This is adding onto Sanskar's answer, which I cannot comment on as I lack the required 'reputation')
I'm aware that this is an old question, but for anyone who happens to have stumbled upon this question, there is no way to obtain real-time in-game events however, there is a way to retrieve certain data from a match-- only except, not in an official way that does go against Riot Game's TOS of using third party software. Though, I wouldn't worry about this too much as long as you do not ruin the competitive integrity of the game by providing yourself with an in-game advantage over others in the game. I personally have been using this for over a year now and have not received any form of punishment for doing so.
Anyhow, back to the actual question of this thread, check out this document of API endpoints that have been scraped through monitoring HTTP traffic of the Riot Client. https://github.com/techchrism/valorant-api-docs/tree/trunk/docs/ You'll need to obtain certain authorization tokens of the Valorant account through whatever methods are available to you (I pray that it is through lawful means :) ), which highly depends on the type of endpoint. There are certain wrappers for these endpoints already made by other users somewhere on GitHub, and you can always ask for help in the small community of developers that are using these endpoints in the README of the GitHub page I sent in this post.
REMEMBER TO NOT DO ANYTHING THAT WOULD CREATE AN UNFAIR ADVANTAGE, OR ANYTHING ELSE THAT A RIOT EMPLOYEE WOULD NOT APPROVE OF USING THIS :)

How can I (as the app developer) get notified when a user leaves a review of my app on Google Workspace Marketplace?

We've just published our first app in Google Workspace Marketplace (a google docs add-on) and can't figure out how, or if, it is possible to setup an email or other notification (slack notification would be cool) for our Customer Success team to be notified when a user leaves a review of the app.
Appreciate that if we get thousands we will probably turn the notifications off (or filter them in some way), at this early stage though, we're very eager to act on any feedback.
Thanks!
Disclaimer: I am creator of Obsei, and this might be biased answer.
You can try Obsei: an open-source low-code AI powered automation tool.
It can monitor App and Play stores for customer reviews and send notification Slack when someone add review there. Also Obsei can classify review contextually to classify it into issue categories. Refer below image.Obsei workflow
All of these can be achieved free without any cloud hosting requirement. Refer link for more detail.
Happy to answer any queries in this regards.

Microsoft Teams: Is at all possible to create a app/connector/bot for broadcasting?

Trying to parse through the Microsoft Documentation of this is a bit of a challenge.
Our use case is that we want the app to receive broadcasts from an external service. On that broadcast we want it to send a personalized message to every person in the team/org.
Is that at all possible? Doing this in Workplace and Slack was fairly straight forward but i'm going nowhere fast with Teams. Connectors seem weird and user-based, not team based, requiring you to set up a config page for it? Bots seem centered around AI interactions and on demand features and general apps? Not sure.
So yea the question is, is it possible. If so i would appreciate to know where to look for how to do this.
Yes, this is definitely possible. If you're wanting to send to a Team (i.e. a Channel within a Team) you can use either a bot or a webhook. If you want to send to individuals or to group chats, then you'd be looking to use a bot.
For webhooks, see Post external requests to Teams with incoming webhooks. For bots you can start here, and in that case you'd want to look into something called "Pro-active messaging", where the bot is sending a message on it's own, rather in response to a user's initial message.
The Pro-active messaging can be a bit tricky, so if you do want to go that approach (1 to 1 messaging), let me know in the comments and I give you some more guidance. However, I'd suggest rather looking at messaging the Team, and creating/using a relevant channel, rather than sending every user a 1-1 message.

Slack API : Ability to view all recently added users to Slack Channel

I am working on a POC to proof out the ability to get a list of all the new users who have been added to a specific Slack Channel. From my initial review of the Slack API I am not seeing anything that showcases this ability, I was curious to see if anyone had worked on something similar or could point me to resources that would be a viable solution.
I believe there is no ready-made API method available, that will give you that specific information. However, Slack is very flexible and you can use the existing building blocks to easily add additional features as needed.
E.g. To get the requested information you can develop a small Slack app that listens to the member_joined_channel and member_left_channel events to keep track of when members joined a channel.
If you need a historical record of membership in a channel, you could use the Slack API's groups.history method, page through results, and build a membership log by looking for events of type member_joined_channel and member_left_channel through time.

Parse app for clients

I have made a Parse-based app that allows the user to send a push notification to everyone who downloads the app. It's a kind of quick public address system for a congregation, school, club, etc.
Other leaders have expressed an interest in my app for their communities. But these people are not tech-savvy and have no interest in becoming Apple developers for $100 a year, so building custom apps for them is not an option. Even if I did it for them, I would be concerned that they would mess something up that would require a lot of time on my part to repair. They just want to use the app for their communities.
My question: Could I make custom apps for these groups, keep them on my iTunesConnect account, and simply make a new Parse account for each app? That way, the group leaders would only need to know how to log into Parse and send a push notification on the Parse website.
Thank you,
Eli
You could. It could be done with a single app that everyone downloads and then configures to connect it to their specific parse app.
It's possible that you could write the app so it doesn't know the parse account details and they need to be entered on the device. It's also possible that you could supply that detail with an invite e-mail that opens the app and has the details in the URL query.

Resources