Skip to main content

Part 1: Integrating Unibuddy with your CRM using Microsoft Power Automate — Receiving Unibuddy data

This guide will walk you through creating a Power Automate flow that can receive prospect data from Unibuddy and prepare that data to be sent to your CRM.

Written by Cindy

📋 Power Automate Integration - Client Task Tracker

Before you begin, we recommend using our Integration Client Task Tracker:

The tracker is optional, but highly recommended.

It gives you a checklist of the steps required to configure your integration and allows you to keep track of what has already been completed.

As you work through this tracker:

  • Mark each task as you complete it.

  • Add any relevant notes or questions.

  • Use the tracker to identify any outstanding steps before testing begins.

If you choose to use the tracker, please share it with Unibuddy Support when you send us your HTTP POST URL.

This gives both your team and ours visibility of the setup and can make it much easier to identify a missing step if something does not work as expected.


Before you start

Before building your flow, make sure you have:

  • Access to Microsoft Power Automate

  • Permission to create, edit and run flows

  • Access to the CRM or destination system you want to connect

  • Permission to create or update the relevant records in that system

  • An idea of which Unibuddy fields you want to store

  • An understanding of any fields that your CRM requires before a record can be created

  • You should also decide who will be responsible for configuring the CRM side of the integration. For example, this could be your: CRM administrator, IT team, implementation partner or technical team.

You don't need to have all of your field mappings completed yet. We'll cover those in Part 2.


What you'll do across this guide series

The full setup is split into three stages:

Part 1 — Receive Unibuddy data in Power Automate ← You are here
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
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 1.


How does the integration work?

The basic journey is:

Unibuddy → Microsoft Power Automate → your CRM

When an eligible prospect is ready to sync, Unibuddy sends their data to a URL generated by your Power Automate flow.

Power Automate receives that data and then follows the steps you configure — for example, finding an existing person in your CRM, creating a new record or updating an existing one.

Unibuddy controls the data being sent to Power Automate. Your organisation controls what Power Automate does with that data once it has been received.

📝 Note: This guide uses Microsoft Dynamics / Dataverse as an example, but Power Automate can also be used with other compatible CRM systems. The overall process remains Unibuddy → Power Automate → your CRM, but the CRM-specific actions, fields and screens may differ depending on your setup. Your CRM administrator or technical team can help you adapt these steps where needed.


Step 1: Create your Power Automate flow

  1. Sign in to Microsoft Power Automate.

  2. Select Create.

  3. Choose: Instant cloud flow

  4. Give your flow a clear name. For example: Unibuddy CRM Integration

  5. For the trigger, search for and select: When an HTTP request is received

  6. Then select Create.

What is an HTTP request?
Think of it as a message that gets sent automatically — like a notification — telling your flow "new prospect data has arrived, here it is."

When someone fills in a form on Unibuddy, that message is sent straight to Power Automate, which wakes up your flow and starts processing the data. You don't need to do anything manually — it happens on its own.


Step 2: Configure who can trigger the flow

  1. Open the: When an HTTP request is received trigger.

  2. Find: Who can trigger the flow?

  3. Select: Anyone

You may not see your final HTTP POST URL immediately. Power Automate generates the URL once the flow has been saved.


Step 3: Add Parse JSON

Unibuddy sends prospect information to Power Automate in a structured format called JSON.

Behind the scenes, it looks a little more technical than this, but conceptually a prospect's information might contain something like:

First name: Cindy
Last name: Garcia
Email: [email protected]
Country: Spain
Degree level: Postgraduate

Power Automate needs to understand the structure of this information before you can easily use the individual fields later in your flow. That's what Parse JSON does.

  1. Under When an HTTP request is received, select the + button to add another action.

  2. Select Add an action (or + New step depending on the version you are using).

  3. In the search box, search for Parse JSON.

  4. Select the Parse JSON action.

  5. In the Content field, select Body from the When an HTTP request is received step.

What have I just done?

The HTTP trigger receives the complete message sent by Unibuddy.

Parse JSON then helps Power Automate understand the individual pieces of information within that message.

Later, you'll be able to use information such as:

  • Email

  • First name

  • Country

  • Degree level

  • Date of entry

…and other information available for the prospect.


Step 4: Add the Unibuddy data schema

Now that you've added Parse JSON, you need to tell Power Automate what the data it receives from Unibuddy will look like.

This is done using a JSON schema. The schema tells Power Automate which Unibuddy fields it may receive and how those fields are structured.

We've provided the Unibuddy schema below, so you don't need to create this yourself.

  1. In your Parse JSON action, find the Schema field.

  2. Copy the entire schema below.

  3. Paste it into the Schema field in Power Automate.

  4. Check that the complete schema has been pasted, then select Save.

Copy the full Unibuddy schema below:

{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"email": {
"type": "string"
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"active": {
"type": "boolean"
},
"country": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"code": {
"type": "string"
}
}
},
"country_code": {
"type": "string"
},
"country_name": {
"type": "string"
},
"domestic_region": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"domestic_region_name": {
"type": ["string", "null"]
},
"sign_up_location": {
"type": "string"
},
"degree_level": {
"type": ["string", "null"]
},
"degrees_interested": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"blocked_by_university": {
"type": ["boolean", "null"]
},
"created": {
"type": "string"
},
"accept_marketing": {
"type": "boolean"
},
"marketing_opt_out": {
"type": "boolean"
},
"source": {
"type": "string"
},
"date_of_entry": {
"type": ["string", "null"]
},
"signup_source": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"created": {
"type": "string"
}
}
},
"deleted": {
"type": "boolean"
},
"locale_preference": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"locale": {
"type": "string"
}
}
},
"source_tracking_params": {
"type": "object",
"properties": {
"ub_medium": {
"type": ["string", "null"]
},
"ub_source": {
"type": ["string", "null"]
},
"ub_campaign": {
"type": ["string", "null"]
},
"ub_content": {
"type": ["string", "null"]
},
"invite_id": {
"type": ["string", "null"]
}
}
},
"conversation_summary": {
"type": ["object", "null"],
"properties": {
"summary": {
"type": ["string", "null"]
},
"generated_on": {
"type": ["string", "null"]
},
"chat_group_count": {
"type": ["integer", "null"]
},
"total_messages": {
"type": ["integer", "null"]
}
}
},
"decision_stage": {
"type": "object",
"properties": {
"decision_stage_name": {
"type": ["string", "null"]
},
"created": {
"type": ["string", "null"]
},
"reason": {
"type": ["string", "null"]
}
}
},
"key_driver_question": {
"type": "object",
"properties": {
"question_text": {
"type": ["string", "null"]
},
"answers": {
"type": ["string", "null"]
},
"created": {
"type": ["string", "null"]
}
}
},
"motivation_question": {
"type": "object",
"properties": {
"question_text": {
"type": ["string", "null"]
},
"answers": {
"type": ["string", "null"]
},
"created": {
"type": ["string", "null"]
}
}
},
"confidence_in_choosing": {
"type": "object",
"properties": {
"question_text": {
"type": ["string", "null"]
},
"answers": {
"type": ["string", "null"]
},
"created": {
"type": ["string", "null"]
}
}
},
"confidence_in_choosing_driver": {
"type": "object",
"properties": {
"question_text": {
"type": ["string", "null"]
},
"answers": {
"type": ["string", "null"]
},
"created": {
"type": ["string", "null"]
}
}
},
"webinar_events_attended": {
"type": ["array", "null"],
"items": {
"type": "object",
"properties": {
"event_id": {
"type": "string"
},
"event_title": {
"type": "string"
},
"event_join_date": {
"type": "string"
},
"status": {
"type": "string"
}
}
}
},
"microsite_events_attended": {
"type": ["array", "null"],
"items": {
"type": "object"
}
},
"community": {
"type": ["array", "null"],
"items": {
"type": "object",
"properties": {
"community_id": {
"type": "string"
},
"community_name": {
"type": "string"
},
"community_joined_date": {
"type": "string"
},
"status": {
"type": "string"
}
}
}
}
}
}

Note: Depending on your package and products some data points may not be available for you, please reach out to your Customer Success Manager for more information about this.


Add your custom prospect fields (optional)

If your university collects additional information from prospects using custom fields, you can also include these fields in your Power Automate integration.


Custom fields are specific to your university, which is why they aren't included in the standard schema above.

Before adding a custom field to your Power Automate schema, the field must first be created for your university in Unibuddy.

If the custom field doesn't already exist:

  1. Sign in to your Unibuddy University Dashboard.

  2. Go to Customisation.

  3. Select Ambassadors.

  4. Find the section for your prospect sign-up fields.

  5. Select + Add new field.

  6. Enter the question or field you want prospects to complete.

    📝 Important: Avoid special characters in custom field names

    When creating a custom field, avoid using special characters such as ? or ! in the field name. The custom field name needs to be represented correctly in your Power Automate schema, and special characters can cause issues when configuring the field.

    For example, instead of:

    Why did you choose our university?

    use:

    Why did you choose our university

  7. Save your changes.

📝 Already have the custom field?
You don't need to create it again. Check the existing field name and use that when configuring your Power Automate schema.

Once the custom field exists for your university, return to the Parse JSON action in your Power Automate flow.

The custom field needs to be represented in the schema so Power Automate can recognise it when Unibuddy sends the prospect data.

"YOUR CUSTOM FIELD": {
"type": "string"
}

For example, for:

Preferred campus

"Preferred campus": {
"type": ["string", "null"]
}

Power Automate can then recognise Preferred campus as part of the parsed data.

Important: The name used in your schema needs to correspond with the custom field sent by Unibuddy. If you have several custom fields, each one you want to use in Power Automate needs to be represented in the schema.


Step 5: Get your HTTP POST URL and send it to Unibuddy

Now that the receiving part of your flow is configured, save it.

  1. Select Save.

  2. Once the flow has saved successfully, return to When an HTTP request is received.

  3. Find the generated HTTP POST URL.

  4. Copy the entire URL.

  5. Send the following information to your Unibuddy contact or Unibuddy Support:


Step 6: Unibuddy will configure your test connection

Before connecting your live university environment, we'll test that data can successfully reach your Power Automate flow.

Unibuddy Support will:

  1. Configure your HTTP POST URL against a test environment.

  2. Enable the CRM sync for the test.

  3. Create a test prospect.

  4. Allow the test prospect to be processed during the next scheduled CRM sync.

CRM syncs currently run at:

12AM, 6AM, 12PM and 6PM UK time.


Step 7: Check that Power Automate received the test

After the next scheduled sync window, check your flow in Power Automate.

  1. Open Power Automate.

  2. Go to My flows.

  3. Open your Unibuddy CRM Integration flow.

  4. Find Run history.

  5. Look for a new flow run corresponding with the Unibuddy test.

  6. Open the run.

You should be able to see that:

When an HTTP request is received received the request from Unibuddy.

Then check:

Parse JSON

and confirm that the action completed successfully.

If both actions are successful, you've confirmed that:

Unibuddy → Power Automate

is working.

📝 Don't worry if the prospect hasn't been created in your CRM yet.
At this stage, we're only confirming that Unibuddy data can successfully reach and be understood by your Power Automate flow. We'll configure what Power Automate should do with that data in Part 2.


Troubleshooting: If your test doesn't appear

If you don't see a new run after the expected scheduled sync window, first check:

  • Your flow is turned on.

  • You provided Unibuddy with the complete HTTP POST URL.

  • You're checking the correct Power Automate flow and environment.

  • The expected scheduled sync window has passed.

  • "Who can trigger the flow" is still set to Anyone.

  • You provided Unibuddy with the complete HTTP POST URL, copied exactly with no missing characters.

  • The URL hasn't changed since you shared it — if you've edited the trigger since then, check the current URL still matches.

  • You're checking the correct Power Automate flow and environment.

  • The expected scheduled sync window has passed.

  • Unibuddy Support has confirmed the test was actually sent from their side.

If you've checked the above and the test still doesn't appear, please contact Unibuddy Support and include:

  • A screenshot of your flow, showing the When an HTTP request is received and Parse JSON actions.

  • A screenshot of your Run history, including the most recent runs.

  • If a run has failed, a screenshot of the failed action and the error message/details shown by Power Automate.

Did this answer your question?