This app consists of a Bot that is added to a Team by an account administrator on a certain channel (might be General) so it can get the information regarding all team members and then create 1:1 conversations with all of them in order to continue them later. Conversation references are persisted in a non-relational database in response to the [membersAdded] event and are kept up to date when a [conversationUpdate] event comes with either a reference modification or a member removal.
Every day at 00:00 GMT mood assessments are sent to every team member that has an existing conversation reference using the [continueConversation] method.
Team members receive 2 separate messages as Adaptive Cards with the mood options. The need for 2 separate messages answers to design restrictions.
When a mood is selected a Task Module is created asking for additional information about the current mood (all fields are optional and I hope you are feeling Enthusiastic with this document):
When the form is submitted a request is sent to the Leanmote platform to post the mood assessment for a user that has the exact same email as the teams’ member that is performing the action. In case everything goes fine it shows a confirmation message:
Important note: Mood Assessments can only be sent one time per day.
If there was an error with the form submission (API connection error, non-existing user with the same email address) the user receives the following message:
- Create a freemium account with your MS Teams email address in https://beta.leanmote.com
- Add Leanmote for Microsoft Teams to your team in the General channel
- Perform a GET request to https://msteams.leanmote.com/api/notify in order to send proactive mood assessment messages to all users
- You should see a confirmation message as follows:
You should receive a 1:1 Mood Assessment message in MS Teams: