Is it possible to get a slack event or real time message indicating that a new app was installed in a workspace? I can figure out apps which use "bot users" by listening for team_join event. But how can i find out in near realtime about apps installed that don't have a bot user. My use case is to present something to the user when a new app is installed (as soon as possible. I can find out apps from team logs but thats not realtime).
What you're doing with the team_join event is basically all you can do. And that's going to rely on either the app having a bot user, or it being a workspace app (https://api.slack.com/slack-apps-preview), which creates an app user.
Other than that, nothing is exposed in the Events API around app installation. The other alternative is to connect up via the RTM API and watch for the bot_added and commands_changed events. That should catch most apps.
Related
I have created one Chatbot using MS Bot Framework. Also added that in My Teams App. But not able to send messages to the users who not installed that app in there Teams. I just wanted to check if there is any provision to send the message to the users who not installed the Bot to there Teams App.
There is no way to send proactive messages to users who have not installed and interacted with your bot. Your bot has no way of knowing who those users are. If a user wants to communicate with the bot, they must install the app.
Adding to this. I ran into a similar issue where I had a Teams app that uses a notification style bot to send one-way notifications to users. The only way I was able to communicate to them was by getting the user context via an app install event. When an install event is captured, I save that users' context into a SQL database table in the event of the bot being restarted (then reload on start).
You can use the Graph API to install the bot automatically (see Proactive installation of apps using Graph API to send messages) or install it via a MS Teams app setup policies (see Install apps).
I'm trying to build a personal Teams bot which has to send proactive messages regularly. I made it work by storing the conversation when the user installed the app, just like the examples here. Now it works great, but I realized that I keep messaging users that have uninstalled my application. I can't seem to find any event that is triggered when a user uninstalls a personal scoped bot (app).
I tried conversation events, but nothing seems to be triggered for personal scoped bots at least.
I'm using the NodeJs botbuilder SDK.
Open to any suggestions, thanks.
To my knowledge, there is no such event unfortunately. I think you'll just receive a 403 at the moment without much info. This is due to change though - Microsoft just made an announcement about this yesterday in fact. See https://developer.microsoft.com/en-us/office/blogs/best-practices-and-updates-for-bot-lifecycle-events-in-microsoft-teams/ in the paragraph "Changes to post uninstall behavior for bots in personal scope":
Moving forward we’ll also align the post uninstall behavior for bots in the personal scope with the teams and groupChat scopes and you will not be able to send or receive messages after an app has been uninstalled. Your bot will receive a 403 response code to new messages posted by your bot. The 403 response code will have fields telling you the reason behind the it – which is either the app was uninstalled or the bot was blocked. We expect these changes to roll out in the coming few months.
I try to write an app for Microsoft Teams which does include a Bot.
The bot should write a welcome message as soon as the app is installed by the user in his personal scope. Additionally I want to be informed when the user uninstalled an app.
There are events when a new user is added/removed to a team (onTeamsMemberAdded/onTeamsMemberRemoved) in which the bot is installed, but is there also something for the personal scope?
onTeamsMemberAdded should deal with personal scope as well, and it will enable you to send a welcome message. However, there is unfortunately no way to get notified when your bot is removed. onTeamsMemberRemoved only applies when your bot is part of a group chat, or channel, and only tells if other users have been removed. This is a missing feature in Teams right now.
I'm building a Slack app that works across workspaces. I'm using the app_uninstalled event to update my database when a workspace uninstalls the app, but I can't figure out how to handle when a user removes the bot authorization from the app Settings page.
When this happens, the app is effectively uninstalled, but I need my app to get notified when this happens. I've tried the tokens_revoked event, but it's not being sent.
The short course: I'd like my app to get notified when the trash can icon (in the image down there) is clicked. Thank you!
As far as I've worked with the slack events APIs, tokens_revoked is the method which is triggered when a user clicks the trash-bin you are talking about and confirms the action. I've just confirmed it a few minutes ago as I'm also facing a similar (not same) issue.
I have a problem with Azure Notification Hub.
When my app is started in first time, the notifications working correctly, but when did a rebuild the app by Visual Studio, the notifications stop working and the Android Services with IntentFilters do not are called.
For the notifications works again, I need to uninstall the App in Android and run by Visual Studio again.
Have someone some idea about that problem?
My worry is: if I send the app to GooglePlay, the notifications would continue working after a update?
If someone know how to call the service to get the new InstallationId, always that the app to be started I will know how I can resolve the problem.
Can someone help me?
I did follow that tutorial:
https://www.youtube.com/watch?v=le2lDY22xwM&t=3312s
if I send the app to GooglePlay, the notifications would continue working after a update?
There is no need to worry about that, referring to this document, when you use Azure Notification Hub, it's using Android GCM to send the push notificcation. You could see my answer about Android using Firebase Cloud Messaging not receiving message.
As the Official document said :
On initial startup of your app, the FCM SDK generates a registration token for the client app instance. If you want to target single devices or create device groups, you'll need to access this token.
Explanation about Token :
An ID issued by the GCM connection servers to the client app that allows it to receive messages.
When you did a rebuild the app by Visual Studio your token is changed, but it didn't trigger the OnTokenRefresh method, so at this time the Token in your application is invalid. That's why your application cannot receiving message.
For more information, you could refer to Sending Push Notifications from Azure Mobile Apps and Implement the Firebase Instance ID Service.
When your app get a update, it will trigger the OnTokenRefresh method automatically, so your application can still receive the message.