PowerApps in CRM 2016 (Microsoft Dynamics 365)


Let us quickly create a PowerApp that allows a user to create Contact record inside CRM (using Microsoft Flow).

  • Login to PowerApps with Office 365 Account

https://web.powerapps.com/home

  • Click on New app

  • Let us use PowerApps studio for Windows here (much easier to use then PowerApps for web)

  • Select a Blank App (Phone Layout)

  • Insert Text Box, Text Box Input and Button controls and apply Theme

  • Select Add to CRM button and select Flow in Action menu to connect with the flow.

  • Create a new Flow

  • Search for PowerApps

  • Select Add an action

  • Select “Create new a record” Action and select Contacts in Entity Name.
  • For Last Name field, click on “Ask in PowerApps” which will add a new field to be mapped inside PowerApps

  • Do same for mobile phone field

  • Click on Create flow to create the flow

  • Now back in PowerApps, select the newly created flow.

  • Specify formula to map the fields

  • Run the application

  • Specify the values for Last Name and mobile number and click on Add to CRM button.

  • This creates the contact record in CRM using the Flow defined.

  • We can save the app in cloud and the share it with the other users inside the org.

  • Click on Share (Enter name or email addresses of the users with whom we’d like to share the app)

  • App being published

  • Once Published, it would be available to the other users.

Hope it helps..

How to – Use Update to change the status and update owner (instead of SetState and Assign Request) in CRM 2015/2016


Prior to CRM 2015 Update 1, if we had to change the owner or set the state of the record we had to use Assign and SetState Request.

Now we can use our Update request for the same.

For e.g. we have below Active record owned by user named Nishant Rana.

Using below Update Request we can change the owner as well as set the record as inactive in a single request.

</p>
<p>Entity demoEntity = new Entity("new_demoentity");</p>
<p>// here we are using alternate key to update the record instead of Guid<br />
demoEntity.KeyAttributes.Add("new_alternatekeyfield", "My Alternate Key 2");</p>
<p>demoEntity.Attributes["new_name"] = "Updated record at " + DateTime.Now.ToShortTimeString();</p>
<p>// update owner id<br />
demoEntity.Attributes["ownerid"] = new EntityReference("systemuser", new Guid("16406B31-5E97-E611-80E3-FC15B42877A8"));</p>
<p>// set record as inactive<br />
demoEntity.Attributes["statecode"] = new OptionSetValue(1);</p>
<p>organizationProxy.Update(demoEntity);</p>
<p>

 

Point to remember is that if we have plugin registered either PRE or POST on Update and Assign both will be triggered.

Hope it helps..

Advertisements

Sample Code to use UpsertRequest in CRM 2015\2016


UpsertRequest was a new request introduced in CRM 2015 Online Update 1.

The request based on the alternate key specified, looks for the record, if the record is existing it updates it else it creates a new record.

https://nishantrana.wordpress.com/2016/10/25/alternate-keys-in-crm-2015crm-2016/

UpsertResponse has a property named RecordCreated which is false if the record is found and updated else it is true if record is created. The Target property holds the reference of the record created or updated.

Suppose we have following record created. It has Alternate key defined on “Alternate Key Field”

Sample Code

As we have demo entity record with alternate key field having value as “My Alternate Key 1” it will update the record.

Running it again this time changing the value for the alternate key field.

It creates a new record.

Hope it helps..

Using PluginTypeStatistic records to monitor plugins \ custom workflow activities hosted in sandbox in CRM 2016 (and earlier)


CRM collects runtime information about the plugins and custom workflow activities executing in sandbox mode in PluginTypeStatistic records every hour or so.

Go to Advanced Find View and select – Plug-in Type Statistics

It gives us details regarding “The average execution time”, “Execution Count”, “Failure Count” etc. for each of the plugins and custom workflow activities.

Hope it helps.

“Create Dynamics Leads based on Tweets” using Microsoft Flow in CRM 2016


Microsoft Flow is a workflow management tool, using which we can create automated workflows between various services and apps.

With Dynamics CRM Online common scenarios could be

  • Create Dynamics CRM Leads from an Excel table.
  • When an opportunity is created post to Yammer.
  • Copy new Dynamic CRM Account to Common Data Model etc.

https://flow.microsoft.com/en-us/

https://flow.microsoft.com/en-us/services/shared_dynamicscrmonline/dynamics-crm-online/

  • Below are some of the templates available for CRM Online

  • Let us take a Template that creates Leads based on Tweets

  • Connect to both the services

  • Configure it, for e.g. search for #msdyn365, get the Tweeter User Name and create the lead record. Map topic in lead with tweet text.

  • Check the status of the flow.

  • Leads created in CRM

Hope it helps..

Passing EnumType parameter in Web API in CRM 2016


Recently we were calling InitializeForm function through WEB API, to which parameters to be passed were

TragetFieldType EnumType values:-

URL

https://xxx.crm.dynamics.com/api/data/v8.1/InitializeFrom(EntityMoniker=@p1,TargetEntityName=@p2,TargetFieldType=@p3)?@p1={‘@odata.id’:’accounts(AAA19CDD-88DF-E311-B8E5-6C3BE5A8B200)’}&@p2=’account’&@p3=Microsoft.Dynamics.CRM.TargetFieldType’All’

The Parameters


Please refer the below link to get a good understanding on Web API

https://debajmecrm.com/?s=web+api

Hope it helps..