Synchronise Outlook mailing lists with Dynamics Marketing
Dynamics Marketing isn’t just for external Marketing to customers - its also a really awesome tool for companies to use as a communication and announcements to their internal staff and teams. You can produce really smart emails with engaging content that get important messages to employees, schedule them to send at the best times and also set up automation such as reminders to complete training courses. So many possibilities!
Traditionally such communications are done by distribution groups or mailing lists in Outlook, so how can we leverage those lists in Dynamics Marketing - with Power Automate of course! We are going to create a flow which will trigger updates to a static Marketing List when members are added or removed from an Office 365 group to ensure the list is kept in sync at all times. Then finally we use that list in a Dynamic Segment to power our customer journeys.
Note: DistoListo is Australia for Distribution List of course….
3) Use the CDS ‘List records’ action and search for the marketing list to populate
first(outputs('Search_for_Marketing_list')?['body/value'])?['listid']
first(outputs('Search_for_Marketing_list')?['body/value'])?['@odata.id']
first(outputs('Locate_Contact_for_user')?['body/value'])?['contactid']
9) Use the “List group members” action to get the current list of members from the group - this returns the list as an Array
10) Compare the User ID from the trigger (the one added or removed) to the list you just pulled from the current list using the ‘Select’ operation
Member added to O365 group
13) This condition checks the output from (7) where we 7) searched for the contact in Dynamics - if its blank we need to create the contact - if not then we can skip this step
14) Create a contact, using the data captured from (6) with the user details from their office 365 profile
15) The equally amazing “relate records” CDS action now, to add the contact to the list - using the contact GUID from (8) and also from (14) for the Item ID, only one of these will ever be populated, then using the same OData URL of the marketing list (5) for the URL
empty(body('Locate_Contact_for_User')?['value'])
16) Final step is to create a Dynamics Segment which references members of ‘DistoListo’ Marketing List ready to use in our Customer Journey automation
Ideally for the Dynamics Marketing world we wouldn’t use the marketing list and instead directly populate a Static Segment - but you will have to wait for my post next week to find out about that beauty. Until then - happy synchronising!