TrackMaster Power Automate Flows

Summary

TrackMaster uses Power Automate for several automated tasks, from keeping the People list up-to-date with data from MCommunity, to getting info from Office 365, to bulk uploads and more. These automations are called "flows" in Power Automate. This article provides a snapshot of all the Power Automate flows that are used by TrackMaster as of the latest version. Updates, additional flows and customizations can be found under Settings -> Power Automate -> Automations List.

Example of a Power Automate flow diagram that connects to the MCommunity API to get contact information for a person based on their UniqName.

 

Details

View List of Flows and Metadata in TrackMaster

An overnight automation keeps a SharePoint list updated with current metadata and source code for every flow used by TrackMaster. This list also provides buttons to run flows manually. The list includes flows from Power Automate, batch or shell scripts, TDX iPaaS, and other systems.

The list can be accessed under Settings -> Power Automate -> Automations List.

Example of Power Automate flow diagram that queries the MCommunity API to get contact information for a person based on UniqName.

 

Flow types are based on how a flow is triggered, and include:

  • Event-based - Triggered automatically upon an event, such as adding a new item to a list, submitting a form, or modifying a file.
  • Manual - Triggered manually, either with a Run Flow button, or by selecting an item in a list and selecting the flow to execute.
  • Scheduled - Runs on a pre-set scheduled, such as daily or at specific times of the day.
  • Subroutine - Used by other flows to accomplish common tasks, such as updating common fields in the People list, or commenting on a list. Although they could be triggered manually if needed, they typically require internal IDs of list items.
  • Webhook - Runs when a notification is received from an external system.
  • Other - Other trigger types not classified elsewhere.
     

 

View List of Flows in Power Automate

  • Login to TrackMaster and click Settings -> Power Automate -> Edit TrackMaster Flows, or login to https://make.powerautomate.com and look for the TrackMaster solution under the Solutions menu on the left panel.
    Uploaded Image (Thumbnail)
     
  • In the Solution, click Cloud Flows.

    Uploaded Image (Thumbnail)
     

 

List of Power Automate Flows Used by TrackMaster

Title Flow Description Flow Type SharePoint Lists Used Sub Flows Used
TM: Add List of UniqNames to People List Copy and paste your list of UniqNames here to add them to the People list. UniqNames can be comma-separated (CSV), or one per line. For external non-UM contacts, enter their email address here. Manual   + TrackMaster Sub Flow - Parse UniqName CSV

+ TrackMaster Subflow - Create People Fast by UniqName Only
TM: Duplicate Publicity Creates a duplicate entry in the Publicity (Promotions) for each researcher that is passed in the input parameters. This flow can be run by selecting the source item in the list, then clicking Automation and the flow name. Event-based + People

+ Publicity
+ TrackMaster Sub Flow - Parse UniqName CSV
TM: Update Contact Info Now Updates contact information using MS Office 365 and MCommunity, overriding existing information. This flow can be run by right-clicking a contact record in the People list and selecting it from the Automation menu. Once completed, the flow sends a confirmation to the user in Teams. Event-based + People + TrackMaster Sub Flow - Update Common People Fields

+ TrackMaster Sub Flow - Update Person with Info from Office 365 Account
TM: Update Event Participants Update the list of registrants, attendees and speakers for a specific event by copying & pasting UniqNames or email addresses. Event-based + Event Summary + TrackMaster Sub Flow - UpdateEventParticipants
TrackMaster Daily Flow - Get MCommunity Groups from RSS and Save to CSV Uses the RSS feed for MCommunity to get group memberships, and saves values to a file for later use. Scheduled + Groups List + TrackMaster Sub Flow - Parse UniqName CSV

+ TrackMaster Sub Flow - Get Group Members from MCommunity CSV File

+ TrackMaster Sub Flow - Get Group Lead Email
TrackMaster Daily Flow - Populate PowerAutomate Flows List Populates and updates the Automations List with details about all TrackMaster PowerAutomate flows (whose names start with TrackMaster or TM). It includes a link to run each flow manually, a flow type, JSON definition, and a list of SharePoint lists and sub-flows used by each flow. Scheduled + Automations List  
TrackMaster Daily Flow - Update Group Membership Syncs groups (from Groups List) to MCommunity if they are configured for auto-sync. The center membership group is synced every couple of hours during business hours. All other groups are synced three times a day. Scheduled + Groups List + TrackMaster Sub Flow - Update Group Membership Using CSV File

+ TrackMaster Sub Flow - Update Community Membership

+ TrackMaster Sub Flow - Add Comment to List Item
TrackMaster Daily Flow - Update Metadata and Hidden Fields Updates hidden and calculated fields as needed, including event counts, speaker history, last service dates, etc. Scheduled + Event Summary

+ People

+ Services and Activities
+ TrackMaster Sub Flow - Update Last Service Dates in People List
TrackMaster Daily Flow - Update People list with info from Office 365 Update People list with info from Teams when uniqname is from MM and Teams Account column is empty. Scheduled + People + TrackMaster Sub Flow - Update Person with Info from Office 365 Account
TrackMaster Flow - Cleanup Tasks When Adding New People Tasks to run immediately after a new entry to the People list, including adding missing info from MCommunity or Office 365. Event-based + People + TrackMaster Sub Flow - Update Common People Fields

+ TrackMaster Sub Flow - Get Person Info from MCommunity

+ TrackMaster Sub Flow - Update Person with Info from Office 365 Account
TrackMaster Flow - Email Center Members Email all Center Members using the selected email template. Event-based + People  
TrackMaster Flow - Process Automation Requests Receives new automation requests submitted via custom forms, and runs the appropriate sub-flow. Event-based + Automation Requests

+ Automations List
+ TrackMaster Sub Flow - EventSummaryUpload

+ TrackMaster Sub Flow - Parse UniqName CSV

+ TrackMaster Sub Flow - UpdateEventParticipants

+ TrackMaster Sub Flow - PeopleUpload

+ TrackMaster Sub Flow - Add Comment to List Item

+ TrackMaster Sub Flow - Extract UniqNames from Spreadsheet
TrackMaster Flow - Send Referral Notifications This flow sends an email notification to the "Referred to" team, or if available, to the "Assignee" directly. Event-based + Referrals + TrackMaster Sub Flow - Get Team Email

+ TrackMaster Sub Flow - Get Team Lead Email
TrackMaster Flow - Sync Calendar Categories After Updating Syncs the calendar category when an item is updated so the categories can sync to Outlook. Event-based    
TrackMaster Flow - Update Service Type Hidden Fields When Changes Occur This flow updates the hidden fields that store a copy of team and program names in the service types list. This allows bringing them as lookup columns into service/engagement history. Otherwise, those columns cannot be brought over because they are themselves lookups from other parent lists. Event-based + Service Types  
TrackMaster Sub Flow - Add Comment to List Item Adds a comment to the specified list item. To mention a user in the comment, include they keyword @mention{0} then enter the email address in the email field. Subroutine    
TrackMaster Sub Flow - Add Group to Person Adds a specific group (by Group ID) to a person (People ID). If the group is the Center Membership group, it also adds membership info. Subroutine + People + TrackMaster Sub Flow - Update Common People Fields

+ TrackMaster Sub Flow - Add Comment to List Item
TrackMaster Sub Flow - EventSummaryUpload Processes bulk inserts or updates for the Event Summary list. Used in conjunction with the automation request forms only. Subroutine + Event Summary + TrackMaster Sub Flow - Parse UniqName CSV

+ TrackMaster Sub Flow - UpdateEventParticipants

+ TrackMaster Subflow - Create People Fast by UniqName Only

+ TrackMaster Sub Flow - Add Comment to List Item
TrackMaster Sub Flow - Extract UniqNames from Spreadsheet   Subroutine   + TrackMaster Sub Flow - Parse UniqName CSV
TrackMaster Sub Flow - Get Community by Program or Team Gets a list of People who have ever received services or attended an event that is part of the specified Program or Team. Subroutine + Groups List

+ Publicity
+ TrackMaster Sub Flow - Get Group Members from People List

+ TrackMaster Sub Flow - Get Event Participants

+ TrackMaster Sub Flow - Get Service Recipients
TrackMaster Sub Flow - Get Event Participants Gets a comma-separated list of People IDs for participants of specific events (or events under a specific Program). Subroutine + Event Summary  
TrackMaster Sub Flow - Get Group and Team Info from MCommunity Email This sub flow returns the Group Id and Name, or Team Id and Name, for a given MCommunity Group email address. It does not check the MS Teams account for the group or team, only the MCommunity email address. Subroutine + Groups List

+ Teams
 
TrackMaster Sub Flow - Get Group Lead Email Returns an email address for a specific Group lead (based on Group ID), or a blank value if not found. Subroutine + Groups List  
TrackMaster Sub Flow - Get Group Members from MCommunity CSV File Sub flow that can be called by other flows to get a list of members of a single group, using the raw data export from MCommunity. Pass the MCommunity group email. Get back one CSV string containing UniqNames for members of the requested group only, which can be converted to an array using the split() function. Subroutine   + TrackMaster Sub Flow - Parse UniqName CSV

+ TrackMaster Sub Flow - Get Group and Team Info from MCommunity Email
TrackMaster Sub Flow - Get Group Members from People List Sub flow that can be called by other flows to get a list of members of a single group. Pass either the MCommunity group email, or the group name, or the group ID. Get back two arrays, one containing IDs from the People list, and one containing UniqNames, both for members of the requested group only. Subroutine + Groups List

+ People
 
TrackMaster Sub Flow - Get Person Info from MCommunity Attempts to get information from MCommunity for a specific UniqName, and tries to parse out the information retrieved to extract the name, department, school, job title, and phone number as best as possible. Subroutine    
TrackMaster Sub Flow - Get Service Recipients Gets a comma-separated list of People IDs for recipients and PIs who have ever received a specific service. Subroutine + Service Types

+ Services and Activities
 
TrackMaster Sub Flow - Get Team Email Returns an email address for a specific Team (based on Team ID), using the first of the following: MCommunity group associated with the Team; if empty, email of the Team Leader; if empty, a default value. Subroutine + Teams  
TrackMaster Sub Flow - Get Team Lead Email Returns an email address for a specific Team lead (based on Team ID), or a blank value if not found. Subroutine + Teams  
TrackMaster Sub Flow - Parse UniqName CSV Parses a list of UniqNames to remove invalid characters, empty items, and duplicate items. The list can be in CSV format or with one UniqName per line. Subroutine + People  
TrackMaster Sub Flow - PeopleUpload Processes bulk inserts or updates for the People list. Used in conjunction with the automation request forms only. Subroutine   + TrackMaster Sub Flow - Update People with info from Spreadsheet

+ TrackMaster Subflow - Create People Fast by UniqName Only
TrackMaster Sub Flow - Remove Group from Person Removes a specific group (by Group ID) from a person (People ID). If the group is the Center Membership group, it also updates membership info accordingly. Subroutine + People + TrackMaster Sub Flow - Add Comment to List Item

+ TrackMaster Sub Flow - Get Group Lead Email
TrackMaster Sub Flow - Update Common People Fields Encapsulates the logic for auto-filling critical fields in the People list using whatever information is available. If a Teams Account is set, it uses data from it. It tries to guess the correct full/first/last name, school affiliation, and contact type. Subroutine + People  
TrackMaster Sub Flow - Update Community Membership Updates membership in Communities as defined in the Groups List, searching for all recipients and participants of specific programs and services provided by specific teams. Subroutine + Groups List + TrackMaster Sub Flow - Add Group to Person

+ TrackMaster Sub Flow - Get Group Members from People List

+ TrackMaster Sub Flow - Get Community by Program or Team

+ TrackMaster Sub Flow - Get Service Recipients
TrackMaster Sub Flow - Update Group Membership Using CSV File Updates group membership in the People list using the CSV file (from MCommunity) that corresponds to the given MCommunity group address. The address must be tied to a group in the Groups List, and a CSV file with uniqnames only must exist in the /data/MCommunityGroups folder. Subroutine + People + TrackMaster Sub Flow - Add Group to Person

+ TrackMaster Sub Flow - Remove Group from Person

+ TrackMaster Sub Flow - Get Group Members from MCommunity CSV File

+ TrackMaster Sub Flow - Get Group Members from People List

+ TrackMaster Subflow - Create People Fast by UniqName Only
TrackMaster Sub Flow - Update Last Service Dates in People List Updates the last service date for people who received services recently. Subroutine + Services and Activities  
TrackMaster Sub Flow - Update People item using Teams Updates the information in the People list for the specified numeric ID using information from Teams. It only makes updates if the UniqName is not an email, and the account for that UniqName exists in the Michigan Medicine O365 environment, and either the Full Name = UniqName (temporary value) or the Teams account column is empty. Subroutine + People  
TrackMaster Sub Flow - Update People with info from Spreadsheet Uses an already-uploaded spreadsheet, with a pre-defined template, to update items in the People list. This sub-flow does not create new entries - only updates existing ones. Subroutine + People + TrackMaster Sub Flow - Update Common People Fields

+ TrackMaster Sub Flow - Add Comment to List Item
TrackMaster Sub Flow - Update Person with Info from Office 365 Account Updates a person record (identified by list ID or uniqname) using information from Office 365. Primary fields (name, department, etc.) must be blank, otherwise this flow will not make any updates, unless the Override flag is set to yes. Subroutine + People + TrackMaster Sub Flow - Update Common People Fields

+ TrackMaster Sub Flow - Get Person Info from MCommunity

+ TrackMaster Sub Flow - Add Comment to List Item
TrackMaster Sub Flow - UpdateEventParticipants Processes bulk inserts or updates for event participants in the Event Summary list. Used in conjunction with the automation request forms only. Subroutine + Event Summary

+ People
+ TrackMaster Sub Flow - Parse UniqName CSV

+ TrackMaster Subflow - Create People Fast by UniqName Only

+ TrackMaster Sub Flow - Add Comment to List Item
TrackMaster Subflow - Create People Fast by UniqName Only Adds new contact entries to the People list in bulk by brute force (without first checking whether the item exists or not), for speed. Subroutine + People + TrackMaster Sub Flow - Parse UniqName CSV

+ TrackMaster Sub Flow - Add Comment to List Item

 

Notes

  • None.

 

Resources

  • None.

About the Author

Gabriel Mongefranco is a Mobile Data Architect at the University of Michigan's Eisenberg Family Depression Center. Gabriel has over a decade of experience with automation, data analytics, database architecture, dashboard design, software development, and technical writing. He supports U-M researchers with data cleaning, data pipelines, automation and enterprise architecture for wearables and other mobile technologies.

 |   |   | 

 

Print Article

Related Articles (6)

This article is deep dive into MCommunity data and different ways to access it. MCommunity is the University of Michigan's public directory, providing information about people and groups. The directory information is often necessary for day-to-day research study management, day-to-day business operations at centers & institutes, and for automation.
This article discusses an approach to solve the multi-valued field join problem in SharePoint JDBC using Custom SQL with UNION clauses.
One easy option for archiving emails in a HIPAA-compliant manner is by using Microsoft OneNote, which is a product included with Microsoft 365 (Office) licenses. OneNote can also serve as a tool to organize information in sections (tabs) and pages. This article describes how to send emails from Outlook to OneNote.
An overview of TrackMaster, a membership tracking tool built for University of Michigan and Michigan Medicine centers and institutes, by students in the U-M ITS Summer Internship program.
TrackMaster uses Power Automate for several automations, from keeping the People list up-to-date with data from MCommunity, to getting info from Office 365, to bulk uploads and more. Many of TrackMaster's automation tasks require specific configurations, so that TrackMaster can work independently of Eisenberg Family Depression Center systems and be deployed to any U-M research center or institute.
This article describes the fields available in TrackMaster, what they are, and where the data comes from.