All Collections
Unibuddy & CRM Integration
Power Automate
[NEW] Integrating MS Dynamics with Unibuddy using Power Automate
[NEW] Integrating MS Dynamics with Unibuddy using Power Automate
Jack Johnson avatar
Written by Jack Johnson
Updated over a week ago

Below we have our step-by-step guide on how to integrate Unibuddy with MS Dynamics. If you have any questions as you follow along, please reach out to [email protected].

  1. Login to Power Automate and create a new scenario. Select the Instant Cloud Flow option:

2. Scroll down and select the When an HTTP request is received option, then click on Create.

3. Change the 'Who can trigger the flow' to 'Anyone' from the HTTP request step.

4. Add a new 'PARSE JSON' action after the HTTP request action, you can find this under Data Operations. Next, add the JSON below to the schema box and the BODY from the previous step to the content box by using the 'add data' button.

{
"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": {}
},
"sign_up_location": {
"type": "string"
},
"degree_level": {
"type": "string"
},
"degrees_interested": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
]
}
},
"created": {
"type": "string"
},
"accept_marketing": {
"type": "boolean"
},
"marketing_opt_out": {
"type": "boolean"
},
"source": {
"type": "string"
},
"date_of_entry": {
"type": "string"
},
"signup_source": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string"
},
"created": {
"type": "string"
}
}
},
"deleted": {
"type": "boolean"
},
"live_events": {
"type": "array",
"items": {
"type": "string"
}
},
"locale_preference": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"locale": {
"type": "string"
}
}
},
"source_tracking_params": {
"type": "object",
"properties": {
"ub_medium": {
"type": "string"
},
"ub_source": {
"type": "string"
},
"ub_campaign": {},
"ub_content": {},
"invite_id": {
"type": "string"
}
}
},
"conversation_summary": {
"type": "object",
"properties": {
"summary": {
"type": "string"
},
"generated_on": {
"type": "string"
},
"chat_group_count": {
"type": "integer"
},
"total_messages": {
"type": "integer"
}
}
},
"decision_stage": {
"type": "object",
"properties": {
"decision_stage_name": {
"type": "string"
},
"created": {
"type": "string"
},
"reason": {
"type": "string"
}
}
},
"confidence_in_choosing": {
"type": "object",
"properties": {
"question_text": {
"type": "string"
},
"created": {
"type": "string"
},
"answers": {
"type": "string"
}
}
},
"confidence_in_choosing_driver": {
"type": "object",
"properties": {
"question_text": {
"type": "string"
},
"created": {
"type": "string"
},
"answers": {
"type": "string"
}
}
},
"microsite_events_attended": {
"type": "array",
"items": {
"type": "object",
"properties": {
"event_id": {
"type": "string"
},
"event_title": {
"type": "string"
},
"event_join_date": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"event_id",
"event_title",
"event_join_date",
"status"
]
}
},
"webinar_events_attended": {
"type": "array",
"items": {
"type": "object",
"properties": {
"event_id": {
"type": "string"
},
"event_title": {
"type": "string"
},
"event_join_date": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"event_id",
"event_title",
"event_join_date",
"status"
]
}
},
"community": {
"type": "array",
"items": {
"type": "object",
"properties": {
"community_id": {
"type": "string"
},
"community_name": {
"type": "string"
},
"community_joined_date": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"community_id",
"community_name",
"community_joined_date",
"status"
]
}
},
"YOUR CUSTOM FIELD": {
"type": "string"
}
}
}

* 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.

5. Ensure you save and add a new action. This time add the 'Initialize variable' action. Ensure you name it 'Data', select 'Object' as the data type, and Select the 'Parse JSON Body' as the value by using the 'add data' button as before.

6 . For the next step, select what you would like to do with this data. For example, create a new record in MS Dynamics. For this example, I am going to add a row to a Google Sheets worksheet, in which I want all my data from Unibuddy to push through.

7. Once you have signed into MS Dynamics or your alternative CRM, you can now map each data point that comes through by using the mapping table below.

For example. In my Google sheet, I have a 'first name' column, in which I want the first name of each prospect sign-up to populate on each row. To map this, I add the following code variables('Data')?['first_name'] to the first name field in my 'add row to Google Sheets' action to map the first name field from Unibuddy to this field in my Google Sheet.

Please ensure you add these by first selecting the expression button and pasting the code within the 'add expression' box from the mapping table below. ( see below screenshots for steps)

- Select the add expression button on the field you wish to map to

- Paste the JSON from the below table into the expression box and select 'Update'.

Data Mapping

Data

Mapping

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']

Webinars attended 1

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

Webinars attended 2

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

Domestic region (state) if turned on

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

Community 1

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

Community 2

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

Community 3

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

Microsite attended 1

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

Microsite attended 2

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

Account creation date

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

Accepted Marketing

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

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 Summaries

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

Decision Stage name

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

Decision Stage details

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

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']

Your custom fields

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

* If there are any data points missing from here that you would like to get, do reach out to [email protected] as we may be able to push these through.

8. Once you have mapped your chosen fields, you can choose to map any custom fields added to prospects' sign-up if you have any. If so please follow the instructions in the next section. Otherwise, you can now copy the Webhook URL from the HTTP request trigger, created in step one (see below) and send it to us as Unibuddy. Please send this over to [email protected] and do let us know if you wish the date format to be dd-mm-yyyy or mm-dd-yyyy.

You will then receive some sample data within the next 6 hours. To ensure everything is mapped correctly, feel free to make some test prospects accounts through your main platform widget. If you have any issues with the data flowing through or any questions, do reach out to [email protected].

Adding custom fields (optional)


1. If you have any custom fields in your prospect sign-up, you can add these to your schema, please ensure you name the custom field in your schema exactly as it is in your dashboard. For example, you can see here I added a custom sign-up question asking for the prospect's phone number.

2. To add this I would simply add the custom field name to the 'PARSE JSON' step schema. To save time, you can change the 'YOUR CUSTOM FIELD' name in the schema you copied over from earlier.

Below is how it should look after renaming the 'YOUR CUSTOM FIELD' data point, you can also copy and paste this if you have more than one. You can see below I have updated this to 'Phone Number?'.

3. Once added, you can then map this custom data point to the field in your CRM by following the same structure as the other fields, see below for an example of how the prospect's phone number would be mapped.

Once you have mapped your custom field, please ensure you follow step 8 from the previus section above and send over your Webhook URL.

Did this answer your question?