- 31 May 2022
- Updated on 31 May 2022
Automation scenarios in Teamwork Analytics are used to identify and fix specific challenges within your Microsoft Teams estate. Combined with Actions built in Microsoft Power Automate, TWA automation provides a data driven, automated approach to identify and fix common challenges with M365 and Microsoft Teams.
Teamwork Analytics Automation (TWA Automation) uses the data collected by Teamwork Analytics to create any number of automation scenarios. If the criteria are met in the scenario and return data, then this will enable automated messages to be sent directly to users via Microsoft Teams.
We have created some example automation scenarios that are available to use with Teamwork Analytics when it is installed. These can be enabled or disabled but cannot be customised.
You can create your own scenarios either by following the steps in this documentation or Modality can create for you as part of our managed service. We have created a library of scenarios for you to download and use today. Link to Library....
Before getting started, here are the key components of TWA Automation:
- Scenarios - a combination of a trigger, schedule and adaptive card which identifies specific Teams
- Triggers – criteria that determines who and when to send a Teams message to regarding a specific scenario
- Schedules - the frequency that a TWA automation scenario runs.
- Adaptive Cards – what the user receives as a Teams message when TWA automation sends them a message. This contains text and details regarding the scenario being sent
- Actions – what we want the user to do with the information in the adaptive card.
Teamwork Analytics reflects the current state of your Teams environment. For example, automation scenarios can identify which teams are public and which are private, but not when a team changed from private to public.
When deploying Teamwork Analytics, you need to grant the application read access to your Teams environment via the Graph API service. Teamwork Analytics cannot make any changes to your environment even if action buttons are included in Adaptive.
Our recommendation is that you can present the option to users to press buttons or complete forms to archive or delete teams, but that the input from the users is logged and then an IT administrator makes the change.
For example, a message could say "This team has not been used in X days, click this button to delete it", the user pressing the button logs a ticket with your IT service desk containing instructions to delete the Team.
TWA Automation also supports webhooks to invoke a process using Microsoft Azure Logic apps. The Logic App can be initiated by the user from within the Adaptive Card and will then perform the action based on what the user has instructed. In this scenario, the customer is responsible for building and maintaining the logic app.
If you want to discuss the options for cards and actions more please contact firstname.lastname@example.org.
Most automations work on schedules, we call these scheduled scenarios. Schedules are used to determine how often an automation scenario is run and messages are sent. These can be different for each scenario created and are crucial for ensuring successful lifecycle management of your Teams estate.
Some example schedules are:
- Every 3 months remind users about guests
- Every month remind owners about inactive teams
- Every week remind users about teams that only have 1 owner
You can also use multiple scenarios to escalate messages. This is effective if a user does not respond to repeated messages asking them to fix something.
- This team has been inactive for 30 days
- This team has been inactive for 45 days
- This team has been inactive for 90 days or more
In these cases, the triggers are non-overlapping. e.g. find teams inactive for more than 30 days but less than 44 days, so teams will only appear in one scenario.
We can also trigger automations to only send the message once. This is based on the exact text of the message. These are "send once scenarios" where the message will only be sent once to defined users:
An example Send Once scenario would be to scan for all deleted teams in a time window, e.g last 7 days, but then the automation checks if the exact message has been sent before. f it has, it will not be sent, if it hasn't it will be sent. - the scenario runs daily, but only sends new messages. This means we can alert daily on "newly deleted teams".
These work well when a query can be time-bound, for example, we have team creation date and team deletion date
- This is a recently created team, for which you are the owner, here are our policies, here are some tips
- This is a recently created public team, we prefer teams to be private
- This is a recently deleted team, are you sure you want it to be deleted?