Luise Freese

Manage your contacts during events with Microsoft Flow

As I travel really often to speak at or just attend conferences, I wanted a smooth workflow to capture contact data of the persons I meet during an event and make sure that I catch up with them later.

Huge thanks to Jon Levesque, who demonstrated the idea of having a Microsoft Flow that sends a preconfigured email to a person after he handed out his phone to them at an event. I wanted to take that to the next level and was also inspired by Tracy Van der Schyff who had the amazing idea of providing a QR code on her phone, that others could scan.

My wishlist looked like this:

  1. Create a form to ask the other person about name and email address and provide a QR code, so that this its easy to scan 2. store all the data of all conferences in a just one nice SharePoint list 3. create a new Outlook contact 4. send the email with all my contact details 5. setup a new task in my planner and 6. display it in a bucket which has the same name like the conference

Ok, lets go


  1. I created a Microsoft Forms form and asked for name, organization, email address and what topic the other one wants to talk about with me.
  1. I created a SharePoint list with the following columns:
  1. I created a new folder in my Outlook Contacts

Setup the Flow

Now I wanted to put everything together in a nice flow. Here is the step-by step How-To:


My trigger is a new response to the mentioned form:


  1. Forms — get response details

my first action needs to be the forms action, because we need to make sure, that the flow reads the response details. If you just rebuild this flow while you are reading this, please note, that flow adds an APPLY TO ALL — don’t worry about that:

2. Outlook — get events (v3)

second action shall be the get events action of Outlook, because I want to filter the event that takes place at this moment while somebody submitts this form. The filter means: Please only get those events with start timestamp is less or equal that now and with end timestamp is greater or equal than now.

We write this like this in the filter field:

Start le [utcnow] and End ge [utcnow]

le = less or equal

ge = greater or equal

to get this [utcnow] please click on EXPRESSIONS on the right hand side:

3. Create item in SharePoint list

Now we want to write the info of the form and the event into a our prepared SharePoint list:

Please note, tat you get anoter APLY TO ALL — don’t worry again :-)

Just fill the responses from the form and the subject of our Outlook Event (its the conference name!) in the blanks.

4. Create a contact in your Outlook

For sure we want a new contact in our Outlook — thats super easy as well — please just note: you need to fill any number in the phone field — can be just a zero — once you get the number you can just add it as well — I don’t ask my super new conference contacts to give me their phone number, but thats up to you.

If you don’t like this contact to be stored in Outlook, but are a huge fan of doing this in Dynamics 365, please feel free to do this instead as well.

5. Send an Email

As my fifth action I want to send my new contact an email with a few links to my content (website, blog, social media etc. ) — please challenge your own creativity :-)

I just added bit of my Dynamic Content and mentioned the Conference and the name of my contact to personalize this mail. You can even add some Emojis — Win + . is your best friend

Please note

  1. the importance is by default: LOW — if you want normal importance, just use this little drop-down arrow. 2. if you add some super basic HTML like I did, please make sure that you answered this IS HTML? question with yes.

6. List Planner Buckets

As I want not only a new task in my Planner to catch up with each person I met, but also a bucket for each new conference, I need to execute several actions to do that. First of course is to list all existing buckets in that planner board:

Now I need to figure out, if a bucket with the name of the conference (Subject of our Event from Action №3) already exists. If it already exists, I need a new task in this bucket. If it doesn’t exist at this moment, this bucket shall be created; after that a new task shall be added to this bucket.

7. Filter array

I used the filter array and compared the name of the bucket with the Subject of the Outlook event. After that, I used a trick to compare the length of it to 0. If it is greater than zero, there NEEDS to be something, which means that I just need a new task in this bucket.

Sounds super easy, but was a bit of a challenge, because when I wanted to create a new bucket with the “create a new task”-action, I wasn’t able to access the information of the events subject anymore in my Dynamic Content due to an automated APPLY TO ALL — this time, I WORRIED about it. I needed to find another way.

In this YES branch, I needed to parse Json code, and I learned an amazing trick by Pierre-Yves Bardy:

I needed to know the code for “list buckets”, so I used another (!!!) flow, to trigger that action:

I ran a test (which was successful) and just copied the Output to my clipboard / CTRL C

8. Parse Json

After that, I just jumped to my complex flow again and added this parse json action and clicked on the magic link: Use sample payload to generate a schema. A new Window opened itself and I just hit CTRL + V to paste the content and then clicked DONE:

To me, this looks super pro :-) Thanks again! #communityrocks

9. Create a task in this bucket

As I wanted a new task, I got an APPLY TO EACH (but this time, i wasn’t worrying at all ✔):

Bucket ID was available in my Dynamic Content from Action No 8 and I used the name of the new contact to personalize my task and a simple adddays expression dor the Due date.

Its written like this in the EXPRESSION field on your right hands side:


It just means: Due Date is 10 days after today. You can put any other value instead of 10 here.

Now, we need to make sure what happens, if we compare the bucket name with the events subject name and the length is not greater than zero, which means, that there IS already a bucket with my conferences name (this is always the case if its not the FIRST person who submits the form at a conference)

10. Create a bucket and a new task

This is more basic stuff, because we don’t need any tricks to do that, we just put two actions in this IF NO condition:

  • Create a new bucket, Name is the Subject of our Event. * Create a new task inn THAT bucket, bucket ID is available in Dynamic Content, just repeat the magic with the date :-)

Thats it :-)

This is my entire flow in its full beauty :


What do you think? Is this a solution you’d like to copy or work with? Please use the clap feature to tell me if you found this valuable so I get an idea of which content is relevant for you.

Use cases for this flow: Events like Conferences, Conventions, Workshops, trade fairs etc. — what’s your opinion? Always open for feedback :-)

About Me Author

My name is

Luise Freese

Microsoft 365 Consultant, Power Platform Developer, Microsoft MVP for M365 development and Business Applications and member of M365 PnP team, based in Germany. I’m into open-source, Lego, running, and my favorite number is 42 🤓. Read More

You May Also Like