cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Frequent Visitor

Flow to populate look up field based on text field

Hello All,

 

I am working on 2 entities. 1st is Contact (Renamed as Donor) and 2nd is Orders (Renamed as Donation).

On Donation entity form, I have a system mandatory look up field called “Potential Customer” and text field “Email Address”. I want to populate Potential Customer field value based on Email Address set. This operation will look for email address from contact entity and return the customer name to Potential Customer Field.

I have followed above steps but seems to something missing. Thanks in advance.

 

Details.PNGDonor.PNGFlow Ex.PNG

 

Regards,
Logee

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted

Hi @Logee 

 

Use the Initialize Variable action to create a variable of type array.

 

In the No branch you create an Append to Array action and in the Value add the reference to the current record. 

At the very end add a Compose action and insert your array variable (if you want to see the result in the flow run) or add a Send Email  action and put the variable in the body. It will be ugly but at least you can see which items had multiple results.

 

Have you looked at merging the duplicate records? That would eliminate the issue of choosing which one to link 

View solution in original post

21 REPLIES 21
Highlighted
Resolver II
Resolver II

@Logee 

 

Are you trying to set the Potential Customer for the donation using the Flow when filling out the Donation form?

The Flow runs as a background process, not live when editing the form.

 

If you are looking for the flow to update the donation after saving, this won't work with Potential Customer being a required field. Change your Potential Donor field to Optional or Recommended.

 

 

Highlighted
Frequent Visitor

@bhitchlockfcs , Thanks for quick reply. I have tried changing field to Option although it didn't allow. It is mandatory field.

 

I am importing the data through plugin into Dynamics CRM and hence all the mapped fields are imported including email address.

Because Potential Customer field is look up, It isn't importing data and hence I thought to use Flow. 

 

Please refer to this post I have gone through to implement this:

 

https://diyd365.com/2019/03/12/update-a-lookup-from-a-text-field-no-code-solution/

Highlighted

Hi @Logee ,

 

Okay, makes sense with an import that the field would be empty importing via plugin. The guide you are following is using the old dynamics connector, not the current CDS one.

 

Fields in filters are case sensitive. You want to change it to emailaddress1 eq Email Address

 

Rather than the apply to each, create  a Condition using the expression length(outputs('List_records')?['body/value']) is equal to 1

This checks for a single matching contact, if there are duplicates or it does not exist it goes down the  No branch.

 

In the Yes branch you will want to create an Update Record and for the Potential Donor enter it as follows:

 

/contacts(outputs('List_records')?['body/value']?[0]?['contactid']) - This tells the Flow to use the field from the first (and only) result. 

 

To update a lookup in Flow with the Current Environment connector in general you need to prefix it with /<entity collection name>(<entityid>)

2020-08-23_15-14-54.png

2020-08-23_15-13-42.png

 

Highlighted

Hi @Logee ,

 

Just a minor correction in @bhitchlockfcs  emailaddress1 eq Email Address should be emailaddress1 eq 'Email Address'

 

Thanks

Highlighted

@bhitchlockfcs : That is very detailed description thanks.

 

As I am new to flows, trying to digest while I read through your post. 

 

I just have couple of questions. I  believe I have made suggested changes. 

 

1) To update a lookup in Flow with the Current Environment connector in general you need to prefix it with /<entity collection name>(<entityid>), Please check picture if I have correctly done:

 

3.PNG

 

 

2) Why we need to input to Contact (Contacts) field? OR you just set it to show an example for Potential Customer field?

 

Thanks in advance. Here are updated snapshots please let me know what other changes required:

 

1.PNG2.PNG

Highlighted

Thanks @ManishJain , I have kept it as emailaddress1 eq 'Email Address' as per your instructions. 

Highlighted
Frequent Visitor

@bhitchlockfcs @ManishJain Currently below error coming up with suggested changes:

 

Error.PNG

Highlighted

Hi @Logee ,

 

You are putting value of Contact lookup value in account. Do you want to Update Customer or Potential Customer field in update record action ?

 

Thanks

Highlighted

@ManishJain : I want to update Potential Customer field value with Contact Details i.e., First Name + Last Name

 

I am sorry I didn't get what you mean by: "You are putting value of Contact lookup value in account."?

Highlighted

Hi @Logee ,

 

You should only put the value in Potential Customer as /contacts(guid) .

 

 

Thanks

Highlighted

@ManishJain It shows expression invalid. 

 

Also should I use Contacts or Accounts?

Highlighted

Hi @Logee 

 

You want to update the Customer(Contacts) 

 

It looks like Potential customer is linked to Accounts? If so you would need to switch to looking for the Account entity.

 

These type of Flows are fussy. Don't get frustrated, little things like a missing bracket or quotation mark can throw errors.

I find it helpful to add Compose actions and paste the same expression in there to view the results and verify it is doing what I intended.

 

Highlighted

@bhitchlockfcs I am not sure if "Potential Customer" is only linked to Accounts. Please check below image looks like it is linked to both Accounts and Contacts.

 

Potential Customer field.PNG

 

 "I find it helpful to add Compose actions and paste the same expression in there to view the results and verify it is doing what I intended." May I please know how to do that?

Highlighted
Frequent Visitor

Seems to be one step close. Getting details needed. Error around update operation now. 

 

Flow.PNG

 

Customer Details.PNG

Highlighted

Hi @Logee 

 

You want to insert the Donation identifier into the Item ID, not account name. 

Potential Customer (Account) field should be in the format /accounts(<accountid>) where <accountid> is the unique identifier of the Account.

 

FYI - Customer is a special field in that it can be linked to either an Account or Contact. In the Flow it should show as two separate fields.

Highlighted

Hi @Logee ,

 

Customer can either be contact or account. You have to decide which of account or contact you want to set the lookup field with. If you go with Account use /accounts(guid) and if with contact use /contacts(guid) in potential customer. Since you are doing get record based on Contact email second option is preferred here. 

 

Thanks

Highlighted

@ManishJain @bhitchlockfcs : I have just managed to run first flow successfully. I can understand this whole operation better now. However, haven't understood the whole flow completely yet. Just copied and pasted so will study a bit more about it now. 

 

Thank you for your time and efforts in this matter. I am going to monitor now for next 24 hours and will keep you updated.

 

Thank you again. 

Highlighted
Frequent Visitor

@ManishJain @bhitchlockfcs , Hello All.

 

After running a flow for a while, I can see it is working but there are some orders not capturing the contact details as below:

 

Not Captured.PNG

 

Yellow highlighted are not captured. What could be the reason? How to resolve.

In flow history, there are no failed flow run.

 

Regards,

Logee

Highlighted

Hi @Logee ,

 

The condition checking the length is true only when a single exact match is found. Otherwise it goes down the No branch. So it skips those records without failing.

Reasons for it being No are either:

a) There are multiple matches,

b) The email doesn't exist in the system

 

for case a) Add some logic here to decide which to use. If you create an Array variable and add an Append Array action in the No section and append the current record and then you can view/save/email the final result.

for case b) Use the Create Record action to add the Account.

 

Test for case a) length > 1

Test for case b) length = 0

 

 

 

 

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Power Platform ISV Studio

Power Platform ISV Studio

ISV Studio is designed to become the go-to Power Platform destination for ISV’s to monitor & manage published applications.

Users online (8,068)