Automating Event Registration: Get CIJ Segment Contacts Using Power Automate

 

Automating Event Registration: Get CIJ Segment Contacts Using Power Automate

Introduction

 At PS Hummingbird, we thrive on solving real-world challenges with practical, scalable solutions. When it comes to fast-paced marketing, timing is everything.

The Challenge: We needed to generate event registrations by retrieving contact records from a Customer Insights – Journeys (CIJ) segment — without relying on manual form submissions.

The Solution: We built a Power Automate flow that calls an unbound Dataverse action - msdynmkt_MembersList - to retrieve segment contacts. For each contact, we automatically created an Event Registration record, enabling seamless and proactive enrolment.

📘 In this blog post, you’ll learn:

  • How to call msdynmkt_MembersList to get segment members

  • How to parse the contact IDs using Power Automate

  • How to create Event Registration records in Dataverse

  • A visual walkthrough so you can replicate it with ease

💥 Empower your event automation by integrating CIJ segmentation with Dataverse workflows.




Why This Is Useful

  • Automate event enrolment for key contacts

  • Bypass the need for form submissions

  • Save time and streamline internal processes


Step 1 – Create a Power Automate Flow

Instead of using direct Dataverse queries, we leveraged an unbound action called msdynmkt_MembersList to get the contact list dynamically. Here's how:

  1. Create an Instant cloud flow with a manual trigger

  2. Add Perform an unbound action (Dataverse)

    • Action Name: msdynmkt_MembersList

    • SegmentId: Pass your target segment's GUID

    • You can extract the full output text from the unbound action using: outputs('Perform_an_unbound_action')?['body/ResultText']



  1. Add a Parse JSON step

    • Use the output of msdynmkt_MembersList

    • Provide schema like:

{
  "type": "object",
  "properties": {
    "baseEntityLogicalName": {
      "type": "string"
    },
    "primaryKeyColumnName": {
      "type": "string"
    },
    "members": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "additionalProperties": {
      "type": "object",
      "properties": {}
    }
  }
}

                    




Step 2 – Loop Through the Segment Members

To iterate through the list of contact IDs returned by the msdynmkt_MembersList action, use an Apply to Each loop.

  • In the Apply to Each, set the array input as:

    body('Parse_JSON')?['members']
  • This loops through each contact ID in the members array parsed from the segment.

  • Inside the loop, use the current item (which is the contact ID) as a lookup for creating your event registration.


Step 3 – Create Event Registration Records

  1. Inside the loop, add Add a new row in the Event Registrations table:

    • Set Contact = current item

    • Set Event = target event

    • Set Registration ID = e.g. ER-utcNow()

    • Set Primary role = Attendee




Final Thoughts

This is a powerful technique to programmatically associate contacts with events - especially in B2B, internal events, or pre-qualified audiences.

By combining CIJ Segments + Dataverse + Power Automate, you can create smart, no-touch registration workflows that run behind the scenes.

Let me know if you'd like the full flow export or a diagram of how we implemented this!

Comments

Popular posts from this blog

How to Refresh Customer Insights – Journeys Segments On Demand Using Power Automate

Why Segment Refresh Matters for Your Dynamics 365 Campaign