Configuration Migration Tool Filter Updates and the Power Apps Portal

Example of applying filter to select only those Journey records that are in draft state and records having ‘copy’ work in its name.

Also checked – Do not update existing records.

On importing in the destination, as these 2 records were already there, it neither updated nor created any new records as expected.

Colin Vermander

If you haven’t heard or seen the most recent update to the SDK tool Configuration Migration Tool (CMT) then it is a must check out as the latest version of the tool includes filtering capaibility as Alan Mervitz (@amervitz) noticed on Twitter and has documented on his blog.

This feature in CMT has been long sought after for years…and years. The basics of the ask were, filter the data prior to exporting, so that you could extract a subset of data. Previously CMT worked in a fashion for an entity that it was all the records or nothing. You can 100,000 contacts in your system, it would attempt to extract all of them. Now you can provide a Fetchxml filter to a data schema definition and have that applied when CMT requests the data from CDS (also known to some as Dynamics 365/CRM…still). You could previously post process exports…

View original post 525 more words

Marketing Form and required (mandatory) fields in Lead and Contact – Dynamics 365 Marketing

Let us take one of the out-of-the-box marketing forms available in Dynamics 365 Marketing.

It has only an Email field marked as required and creates / updates both contacts and leads.

If we click on Check for errors we will get the below notifications.

  • To create a Contact, the Last Name (lastname) field should be included in your form and marked as required.
  • To create a Lead, the Last Name (lastname) field should be included in your form and marked as required.

Now let us host this form and try submitting it.

Click on Go Live, and create a new related marketing form page for it. Make sure you have the domain already authenticated.

Authenticate Domain

Embed Marketing Form on the external page

Open the Form page and copy the script to host the form.

On the host page, let us submit the details.

Back in our Marketing form, we can see the submission.

And also, both the lead and contact records created.

Now let us try one more submission without specifying a value for the lastname field (which it was showing in the notification, as a required field to be added on the form, for both the lead and contact table).

We can see the submissions in the Marketing Form.

And both the lead and contact records were created.

So although it shows the notification for all the mandatory fields which are not added in the form and marked as required, it still allows the record to be created.

Hope it helps..


Sample formula for Associating N:N records and Creating 1:N records in Canvas App (PowerApps / Dataverse)

Just sharing the sample formula, we used for associating selected products from the gallery to lead on OnSelect of a button.

Here collectionCheckedProducts contains the checked products from the gallery bound to the product data source –

varEnquiryIdWithoutCurlyBraces contains the GUID of the Lead record. Here Enquiry is Lead renamed.

Enquires(leadproduct_association) is the name of the relationship between lead and product.

Relate function is used to associate multiple selected products in collectionCheckedProducts to a lead record.

And below is the sample formula we used for creating Quote Product for selected products from the gallery.

varEnquiryIdWithoutCurlyBraces contains the GUID of the Quote record. Proposal Data Source is the Quote renamed.

Hope it helps..



How duplicate phone numbers for customers (contact/account) are handled in Voice Channel (Dynamics 365 Omnichannel for Customer Service)

Before we delve into different scenarios, few key points, we need to be aware of about Phone Numbers in Voice Channels.

  • Voice Channel considers Contact’s Mobile Phone (mobilephone) and Account’s Phone (telephone1) fields.

  • The phone number should be in E.164 format inside Dynamics 365.

  • If no matching customer (contact or account) is found, the conversation record will not have any customer prepopulated.

  • If 2 contacts are having the same Phone Number (E.164) format, i.e. multiple matches found

In that case, also, no customer is tagged in the conversation record, the agent would have to search for the customer.

  • If 2 contacts and 1 account have the same Phone Number

The Conversation records get associated with the Account record.

  • If 1 contact and 1 account have the same Phone Number

The conversation record gets tagged against the Contact

  • If there is only 1 account record with that phone number and no contact records

The conversation record has an Account tagged to it.

  • In case multiple accounts are found with the same phone number and no matching contact

No customer is tagged in the conversation record

  • If there are multiple contacts and multiple accounts with the same phone number

No customer is tagged in the conversation record.

In short –

Matching Contact

Matching Account























Hope it helps..



How to – configure Facebook Webhook Validation with Power Automate Flow (Dataverse / Dynamics 365)

Recently we were working on Facebook Leads integration with Dynamics 365. Webhook for Leads can be configured to send real-time notifications of the Leads ads changes.

The first step of setting up Webhook requires creating an HTTPS endpoint that can process 2 types of HTTP Requests – Verification and Event notifications.

Here we will see how to configure the Power Automate flow for verification.

Login to Meta for Developers – Facebook and create an app.

Select Business for the app type.

After the App is created, select Webhooks to be added to the app. Click on Set up.

Next click Subscribe to this object. Here we have User selected.

For getting leads notification we need to select Page 

FBPagePreview in new tab

And subscribe to leadgen object


It asks us to specify the Callback URL and Verify token.

Back in Power Automate create a Flow with Request type Trigger, followed by Parse JSON and Response actions.

For HTTP Request, select GET as the method, as FB will send a GET request to the endpoint URL, with the verification requests included in the endpoint of the URL.

Next, Parse the JSON and specify the Content and Schema

Content – 




Lastly in Response, set Status Code as 200 and Body as hub.challenge.

Here FB expects the Endpoint to verify the hub.verify_token (which we haven’t set up yet) and respond with hub.challenge value after verification.

Save the Flow, and copy the URL generated for the HTTP Request trigger.

Back in Meta for Developers, in edit user subscription paste the Callback URL and for now in place of token specify any value and click on Verify and Save.

We should now have a Webhook endpoint (Flow) successfully configured

We can also see our Flow ran successfully.

Please check –


Hope it helps..

    "type": "object",
    "properties": {
        "hub.mode": {
            "type": "string"
        "hub.challenge": {
            "type": "string"
        "hub.verify_token": {
            "type": "string"

Fixed – Omnichannel authentication failed. Contact your administrator in Omnichannel Ongoing Conversations Dashboard

Recently we were getting the below error on the Omnichannel Ongoing Conversations Dashboard.

As the user was having an Omnichannel Administrator role, we expected it to work for the user. We raised a support ticket for the same and got to know that we need to assign the Omnichannel supervisor role for it to work for the user.

After assigning the Omnichannel supervisor role, the report started working for the user. Try it in incognito mode or clear the cache after assigning the role.

Get more details –  Omnichannel Ongoing Conversations dashboard

Hope it helps..


%d bloggers like this: