Skip to main content

Part 3: Integrating Unibuddy with your CRM using Power Automate — Mapping Unibuddy data to your CRM

In this article, you'll configure which Unibuddy prospect information should be stored in your CRM and map that information to the appropriate CRM fields.

Written by Cindy

Before you start

Before continuing, make sure you've completed Part 1 and Part 2.

Your flow should already be able to:

  • Receive prospect data from Unibuddy.

  • Process the incoming data using Parse JSON.

  • Store the parsed data in the Data variable.

  • Retrieve your existing Unibuddy ID ↔ CRM ID mappings.

  • Compare the incoming Unibuddy ID with your existing mappings.

  • Update an existing CRM record when a match is found.

  • Create a new CRM record when no match is found.

  • Store the Unibuddy ID and CRM ID for newly created records.

You'll now configure the information that should be written to those CRM records.

You don't need to create a new Power Automate flow for Part 3. You'll continue building the same flow you created in Part 1.

📝 Note: This guide uses Microsoft Dynamics / Dataverse as an example, but Power Automate can also be used with other compatible CRM systems.

The actions and terminology you see may differ depending on your CRM. If you're using another CRM, use the equivalent search, create and update actions available through your CRM's Power Automate connector.


What you'll do across this guide series

The full setup is split into three stages:

Part 1 — Receive Unibuddy data in Power Automate
Create your flow, configure the HTTP trigger, add Parse JSON and the Unibuddy data schema, and send your HTTP POST URL to Unibuddy.

Part 2 — Check, create and update prospects in your CRM
Configure Power Automate to identify existing prospects and determine whether to update an existing CRM record or create a new one.

Part 3 — Map Unibuddy data to your CRM ← You are here
Choose which Unibuddy data you want to store and map it to the appropriate fields in your CRM.

Part 4 — Test your integration and go live
Test the complete integration, verify the data received by your CRM, troubleshoot any issues and work with Unibuddy to move your integration to your live university environment.

This article covers Part 3.


Step 1: Decide which Unibuddy data you want to store

You don't need to map every piece of information Unibuddy sends.

Before configuring your mappings, decide which information your organisation wants to store and where it should be stored in your CRM.

For example:

Unibuddy data

Example CRM field

First Name

First Name

Last Name

Last Name

Email

Email

Degree Level

Study Level

Date of Entry

Expected Start Date

Marketing Consent

Marketing Consent

Area of Study

Course Interest

Your CRM field names don't need to match the Unibuddy field names.

For example, Unibuddy's date_of_entry could be mapped to a CRM field your organisation calls Expected Start Date.

📝 Before mapping your fields: Make sure the destination fields already exist in your CRM and that you know which fields are required when creating or updating a prospect record.


Step 2: Add Unibuddy data to a CRM field

In Part 2, you added CRM actions to your If yes and If no paths.

You'll now populate the fields within those actions using the data received from Unibuddy.

For each CRM field you want to populate:

  1. Open the appropriate CRM Create or Update action.

  2. Find the CRM field you want to populate.
    For example, to map the prospect's first name, select your CRM's First Name field.

  3. Select the First Name field, then select the fx (Expression) button.

  4. The Expression panel will open.

  5. Enter the corresponding Unibuddy expression.

  6. For First Name, enter: variables('Data')?['first_name']

  7. Select Update.

  8. The expression will now appear in the CRM field.

  9. Repeat the process for each field you want to map.

What have I just done?

You've told Power Automate to take the value stored in the Unibuddy first_name field and use it to populate the First Name field in your CRM.

For example:

Unibuddy

first_name: "Alex"

Power Automate

variables('Data')?['first_name']

CRM

First Name: Alex

You'll use the same process for the other Unibuddy fields you want to store.


Step 3: Map your standard Unibuddy fields

Use the table below to find the Power Automate expression for each Unibuddy field you want to map.

Note: Custom fields are specific to your university, which is why they aren't included in the standard mapping table below.

You only need to configure the fields your organisation requires.

Unibuddy data

Power Automate expression

Unibuddy ID

variables('Data')?['id']

First Name

variables('Data')?['first_name']

Last Name

variables('Data')?['last_name']

Email

variables('Data')?['email']

Degree Level

variables('Data')?['degree_level']

Country

variables('Data')?['country']?['name']

Accepted Marketing

variables('Data')?['accept_marketing']

Area of Study 1

variables('Data')?['degrees_interested']?[0]?['name']

Area of Study 2

variables('Data')?['degrees_interested']?[1]?['name']

Area of Study 3

variables('Data')?['degrees_interested']?[2]?['name']

Domestic Region

variables('Data')?['domestic_region_name']

Account Creation Date

variables('Data')?['created']

Prospective Date of Entry

variables('Data')?['date_of_entry']

Campaign Tracking Medium

variables('Data')?['source_tracking_params']?['ub_medium']

Campaign Tracking Source

variables('Data')?['source_tracking_params']?['ub_source']

Conversation Summary

variables('Data')?['conversation_summary']?['summary']

Decision Stage Name

variables('Data')?['decision_stage']?['decision_stage_name']

Decision Stage Details

variables('Data')?['decision_stage']?['reason']

Community 1

variables('Data')?['community']?[0]?['community_name']

Community 2

variables('Data')?['community']?[1]?['community_name']

Community 3

variables('Data')?['community']?[2]?['community_name']

Webinar Attended 1

variables('Data')?['webinar_events_attended']?[0]?['event_title']

Webinar Attended 2

variables('Data')?['webinar_events_attended']?[1]?['event_title']

Microsite Attended 1

variables('Data')?['microsite_events_attended']?[0]?['event_title']

Microsite Attended 2

variables('Data')?['microsite_events_attended']?[1]?['event_title']

Key Driver Question

variables('Data')?['key_driver_question']?['question_text']

Key Driver Answer

variables('Data')?['key_driver_question']?['answers']

Motivation Question

variables('Data')?['motivation_question']?['question_text']

Motivation Answer

variables('Data')?['motivation_question']?['answers']

Confidence in Choosing Question

variables('Data')?['confidence_in_choosing']?['question_text']

Confidence in Choosing Answer

variables('Data')?['confidence_in_choosing']?['answers']


Step 4: Map multiple areas of study

Some Unibuddy fields can contain more than one value.

For example, degrees_interested or community contain a list of the prospect's areas of study/communities joined.

The expressions use what we call an index to select an individual value from that list:

[0] = first value in the list
[1] = second value in the list
[2] = third value in the list

For example:

variables('Data')?['degrees_interested']?[0]?['name']

retrieves the name of the first degree contained in the list.

You could therefore map:

Area of Study 1[0]
Area of Study 2[1]
Area of Study 3[2]

📝 Important: The order in a list doesn't indicate a prospect's preference. Area of Study 1 doesn't necessarily mean that this is the prospect's first-choice degree.


Step 5: Map your custom prospect fields (optional)

If you added custom prospect fields to your Parse JSON schema in Part 1, you can now map those fields to the appropriate fields in your CRM.

For example, if you added a custom field called: Preferred campus you can map its response to a corresponding Preferred Campus field in your CRM.

  1. In your Power Automate flow, open the relevant Create or Update CRM action that you configured in Part 2.

  2. Within that action, find the CRM field where you want to store the custom-field response.

    For example, select your CRM's Preferred Campus field.

  3. Select the field, then select fx (Expression).

  4. In the Expression panel, enter the expression for your Unibuddy custom field.

    For example:

    variables('Data')?['Preferred campus']

  5. Select Update to add the expression to the CRM field.

  6. Repeat these steps for any other custom fields you want to map.

What have I just done?

You've told Power Automate to take the response received for the Unibuddy custom field Preferred campus and use it to populate the corresponding Preferred Campus field in your CRM.

For example:

Unibuddy custom field: Preferred campus
Prospect's response: London
CRM field: Preferred Campus
Value stored in CRM: London


Step 6: Check both your Create and Update mappings

Your flow has two possible CRM paths:

Existing prospect → Update record

New prospect → Create record

It's important to review both actions.

Adding a field to your Create action doesn't automatically add that field to your Update action.

For example, if you want the prospect's:

  • Email

  • Degree level

  • Areas of study

  • Expected date of entry

  • Marketing preference

to remain up to date, make sure the relevant fields are also mapped in your Update action.

Likewise, make sure all fields required by your CRM when creating a new prospect are included in the Create action.


Step 7: Review and save your flow

Before moving on to testing, review your mappings and make sure your flow is ready.

Check that:

  • Each Unibuddy field is mapped to the intended CRM field.

  • All fields required by your CRM are populated in the Create action. If you're unsure which fields are mandatory, check with your CRM administrator.

  • Fields that should remain current are included in the Update action.

  • Your expressions reference the correct Unibuddy fields.

  • Any custom fields you want to send to your CRM have been included.

  • Array-based fields, such as areas of study or community, are mapped to the intended CRM fields.

  • You're working with the correct CRM environment and record type/table.

Once you've completed these checks:

  1. Select Save.

  2. Check that Power Automate doesn't report any configuration errors.

  3. Make sure your flow is turned on.

You don't need to confirm that the data reaches your CRM yet. We'll test the complete flow using a test prospect in Part 4 — Testing your Power Automate CRM integration and going live.

What have I just done?

Your flow should now be configured to:

Receive Unibuddy data

Identify whether the prospect already has a CRM record

Update an existing record OR create a new record

Map the required Unibuddy information to your CRM

Store the Unibuddy ID ↔ CRM ID relationship for newly created records

Did this answer your question?