Advertisements

Archive

Posts Tagged ‘Dynamics 365’

PowerApps – Create an ‘Account’ in Dynamics 365 from App using Flow

If you are new to PowerApps, please go through my previous blog

In this post, lets build an App with an Account Form and create the record in Dynamics 365.

PA_Flow_5

Prerequisite:

  • You must have a PowerApps account. Refer blog for details.
  • Create a Microsoft Flow with logic to create an Account record in Dynamics 365
  • Build an App and trigger Flow

Steps to create Flow:

  • Login to PowerApps Portal
  • Navigate to Business Logic -> Flows -> Create from blank

PA_Flow_1

  • In the new Flow screen, Choose Action, select ‘Dynamics 365’

PA_Flow_7

  • Select ‘Create a new record’ from Actions.
  • Now we need to put place holders in the fields which we pass data from PowerApp.
  • To add a place holder to ‘Account Name’ field, select the field, in ‘Dynamics content’ window, click on ‘Ask in PowerApps‘ button.
    • A new place holder will get added to ‘Account Name’ field.

PA_Flow_2

  • I repeated the above step for ‘Main Phone’ and ‘Description’ fields.

PA_Flow_3

  • Rename the Flow to CreateAccount and Save

Invoke Flow from PowerApp:

  • To know, how to create a new App and add controls to form, refer my earlier blog
  • To trigger the Flow, select the ‘Create’ button, go to ‘Action -> Flows’
  • From the ‘Data’ window, select the flow created in above section (i.e.,CreateAccount)

PA_Flow_4

  • On ‘OnSelect’ event of button, trigger the Flow ‘CreateAccount’ by calling ‘Run’ method and passing the 3 placeholder parameters.
    • CreateAccount.Run(txtName.Text,txtDesc.Text,txtMobile.Text)
  • Thats it, now its time to test the App

Test the App:

  • Press F5
  • Set the values and click ‘Create’

PA_Flow_5

  • Open the D365 App and you should see new ‘Account’ record.

PA_Flow_6

Refer my earlier article to build an App using Excel as Data Source.

🙂

Advertisements

Code Snippet – Execute Dynamics 365 WhoAmIRequest in Azure Function

July 15, 2018 1 comment

Azure Function is a serverless compute service that enables you to run code on-demand without having to explicitly provision or manage infrastructure.

We can leverage ‘Azure Functions’ in Dynamics 365 to build robust integrations.

Scenario:

Lets take a scenario, where your Customer has a Facebook page and complaints posted on page should get created as ‘Case’ records in your Dynamics application.

In the above scenario,

  • Connecting to Facebook and retrieving Posts can be achieved using ‘Logic Apps’ Facebook connector
  • Now creating Posts as ‘Cases’ in Dynamics can be done by creating an ‘Azure Function’ with Case create logic and invoke it from ‘Logic App’

In this article, I will walk you through the steps to establish connection to D365 and  execute ‘WhoAmIRequest’ from ‘Azure Functions’.

Steps to create Azure Function:

  • Refer my previous article for steps to create Azure Function.

Prerequisites to Connect to D365 From Azure Function:

  • We would need ‘CRM SDK’ nuget packages in Azure Function to establish connection with D365.
  • Below are steps to add nuget packages to ‘Azure Function’
    • Connect to ‘Advanced tools(Kudu)‘ from ‘Function Apps -> Platform features
    • WhoAmi_1
    • Click on ‘Debug Console -> CMD’
    • WhoAmi_2
    • From the folder explorer, navigate to ‘site -> wwwroot‘ folder
    • Open the folder with your Azure Function name
      • Since my function name is ‘WhoAmI’ and I got the ‘WhoAmI’ folder under ‘wwwroot
    • WhoAmi_3
    • To refer nuget packages, we have to create a new file by name ‘project.json’
    • WhoAmi_4
    • Add below package references
    • WhoAmi_5
    • Save
  • Add URL and Credential details of ‘D365’ to ‘Application Settings’ of ‘Azure Function’
    • Navigate to ‘Function Apps -> Platform features -> Application Settings’
    • WhoAmi_6
    • Add the URL, UserId, Password details.
    • AzFunc_5

Code Snippet:

Once you have the Prerequisites ready, below is the code snippet to execute ‘WhoAmIRequest’

using System.Net;
using System.ServiceModel.Description;
using Microsoft.Xrm.Sdk.Client;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Query;
using Microsoft.Xrm.Sdk.Discovery;
using Microsoft.Crm.Sdk.Messages;
using System.Configuration;

public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
try{
log.Info(“Inside Try”);

ClientCredentials userCredentials = new ClientCredentials();
var userName = ConfigurationManager.AppSettings[“Crm_UserName”];
var password = ConfigurationManager.AppSettings[“Crm_Password”];
var Crm_UniqueOrgUrl = ConfigurationManager.AppSettings[“Crm_UniqueOrgUrl”];
userCredentials.UserName.UserName = userName;
userCredentials.UserName.Password = password;

log.Info(“userName – “+userName);
log.Info(“password – “+password);

var service = new OrganizationServiceProxy(new Uri(Crm_UniqueOrgUrl + “/XRMServices/2011/Organization.svc”), null, userCredentials, null);
service.ServiceConfiguration.CurrentServiceEndpoint.Behaviors.Add(new ProxyTypesBehavior());

WhoAmIRequest reqWhoAmI = new WhoAmIRequest();
WhoAmIResponse resp = (WhoAmIResponse)service.Execute(reqWhoAmI);
var buID = resp.OrganizationId.ToString();
var userID = resp.UserId.ToString();

log.Info(“Business Unit Id – “+buID);}
catch(Exception ex)
{
log.Info(“Exception – “+ex.Message);
}

return req.CreateResponse(HttpStatusCode.OK, “Successfully made call to D365.”);
}

Run and Test the Code:

  • Click on ‘Run’ and expand ‘Logs’ section to track the logs.

WhoAmi_7

🙂

 

Dynamics 365 – Read Auditing

One of the much awaited features ‘Read Access Audit‘ is being roll out in the latest version of Dynamics 365 online.

Enable ‘Read’ Audit:

  • Connect to your Dynamics 365 application.
  • To enable Audit, choose Settings > Administration > System Settings > Auditing tab

Read Audit

Access Audit Data:

  • Audit data can be viewed by connecting to the Office 365 Security and Compliance Center.
  • Connect to https://protection.office.com > Search & investigation > Audit log search and select the Dynamics 365 activities tab

Read Audit Reports

Refer this article for more info.

🙂

Dynamics 365 – Broken ‘Notes’ control on the form and Fix

If you have upgraded to latest Dynamics 365 version or subscribed for 30 days trail and could not add a note or attachments in ‘Notes’ tab on form, this fix is for you.

Problem statement:

  • Could not add a Note or add attachment from ‘Notes’ control on form.
  • ‘Notes’ panel rendering as below with no ‘Enter a Note’ option

Notes-1

  • It seems product issue and will be fixed in future updates.

Fix worked for me:

There is no documented fix for this, however below steps worked for me.

  • Open the entities ‘Customization Form’ which you have problem with.
  • Double click and open the ‘Notes’ tab

Notes-4

  • Under ‘Web Client Properties’, select ‘Default tab’ property as highlighted below.

Notes-3

  • Save & Publish
  • Go back to the form and refresh.
  • You should see option to add Note.

Notes-2

🙂

 

D365 – Troubleshoot and Fix connectivity issues – ‘Microsoft Support and Recovery Assistant for Office 365’ tool

April 23, 2018 1 comment

Recently, I came across a Microsoft Support and Recovery Assistant for Office 365 tool from Microsoft to troubleshoot and fix Office 365 connectivity issues. Download

This tool can fix many problems for you, or it can tell you how to fix them yourself with guided steps.

Tool - 3

It helped me fixing my Dynamics 365 free trail connectivity issue and Outlook connectivity issue.

Usage:

  • Download and open the .exe

Tool

  • Pick the App you have problem with.

Tool - 2

🙂

 

IntelliSense in Jscript/TypeScript file – Dynamics 365

In this article, lets see how to configure intellisence with XRM syntaxes in your Jscript/TypeScript files.

To enable IntelliSence, you need to install xrm npm package to your Visual Studio.

Steps to install NPM package:

  • To install npm package, you need to download and install a Visual Studio extension : Package Installer

Intelli - 5

  • Post installation, from your Visual Studio, select ‘Quick Install Package’ from Menu

Intelli - 6

  • From the popup,
    • Select ‘npm’ in the dropdown
    • In the textbox, type ‘@types/xrm
    • Click on ‘Install’

Intelli - 7

  • Post package installation, refresh the project and you should see a new folder ‘node_modules
    • Note: If you dont get the ‘node_modules’ folder, check your project’s physical location and add the folder to your Visual Studio project.

Intelli - 8

  • In above screen, ‘TypeScript’ is my project name and post above steps, I got the ‘node_modules’ project.

Enable IntelliSence in your Jscript/TypeScript file:

  • Open your script file
  • Drag and drop the ‘index.d.ts’ file from ‘node_modules’ folder on to your script file.
    • Alternatively you can also this syntax
      • /// <reference path=“../node_modules/@types/xrm/index.d.ts />

Intelli - 1

  • Start typing ‘Xrm’ and you should see the syntaxes.

Notes:

  • Those who are wondering what is a npm, it is a package manager for the JavaScript programming language.
  • www.npmjs.com hosts thousands of free packages to download and use.