How to – Create Marketing form submission record through Flow (Power Automate) – Dynamics 365 Marketing


Recently we were exploring the possibility of creating a marketing form submission record through flow/custom code. Here simply creating the marketing form submission record is not enough, for it to be processed by the platform, we need to call the bound action – msdyncrm_UpdateMarketingFormSubmission with Step = Retry. (And it’s all not an officially supported scenario, so be careful)

Below is how the flow looks like

First, we create a form submission record –

After creating the form submission record, we are creating and associating the marketing field submission records with the values that we want to pass for the form – email, first name, and last name in this case.

And then eventually calling the action –msdyncrm_UpdateMarketingFormSubmission to trigger the submission (resubmit) of the form submission record.

On running the flow, we can see the record created with the status as pending.

Within a few seconds, if the input is correct, we can see the status updated as success

and the corresponding contact/lead created or updated.

Hope it helps..

Advertisements

How to – Handle single quote/apostrophe in Filter Rows in Power Automate (Dataverse)


Say for e.g. we have the below flow, which finds the lead having subject as “My Test’s Value”

On running it we get the below error

To make it work we can make use of replace function here.

replace(variables('Subject'),'''','''''')

= to espace

= special character

replace(variables(‘Subject’),,)

Please refer to the helpful post- https://techcommunity.microsoft.com/t5/power-apps-power-automate/how-to-handle-single-quotes-in-the-filter-property-with-get/m-p/2617747

This time it works successfully.

ChatGPT – quick to correct and give the right answer.

Hope it helps..

 

Advertisements

Resolved – Request to XRM API failed with server error: ‘Message: Timeout occurred when calling the XRM api’ Code: InnerError: Type: System.Threading.Tasks.TaskCanceledException Message: A task was canceled in Power Automate


We were getting below Timeout error while trying to save our Power Automate flow.

Request to XRM API failed with server error: ‘Message: Timeout occurred when calling the XRM api’ Code: InnerError: Type: System.Threading.Tasks.TaskCanceledException Message: A task was canceled. 

It could be because of some issues at the product end – some outage or server load. It lasted for around 15-20 minutes for us, after which we were able to save and test our flow successfully.

Hope it helps..

Advertisements

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.

https://developers.facebook.com/

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

leadgen

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 – 

 triggerOutputs()['queries']

Schemajson

 

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.

Here in the example we configured the webhook validation for User events, for Facebook Lead we need to configure it for Page, the other options available are Permissions, Application, Instagram etc.

Please check – 

https://powerautomate.microsoft.com/nl-nl/blog/connect-facebook-workplace-to-sharepoint/

 

Hope it helps..

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

5000 records limit of Fetch XML Query – List records action of Common Data Service (current environment) connector in Power Automate


Recently in one of our requirements, while trying to fetch contact records using Fetch XML Query

https://docs.microsoft.com/en-us/connectors/commondataserviceforapps/#list-records

we realized that we can only retrieve / fetch 5000 records.

Enabling pagination will also not help here (the Next link also come as null).

The alternate solution is to convert the Fetch XML query to OData and use the same inside List records action

https://fetchxmlbuilder.com/features/#render-flow

Get more details here

https://evolved365.com/2020/10/06/working-with-large-cds-datasets-in-power-automate-flows-and-logic-apps/

Hope it helps..

Advertisements