Global Integration Bootcamp – Calgary

Global Integration Bootcamp is a global scale, integration focussed Bootcamp hosted and organized locally and backed by Microsoft. It is held across the world in over 25 cities. The event focuses on all Azure Integration services and applications.

This year I had an opportunity to bring this event to Calgary and Host and organize it along with Dhina Gajavarathan. This was my first time organizing such an event and I wasn’t sure how it will go. To start with we had two speakers Myself and Dhina, But I can’t be thankful enough to the Community who came out to support it.

We published the event on Friday afternoon and by  Monday we had 3 Microsoft MVP’s as Speakers and 25+ attendee already registered.

With Kent Weare, Shamir Charania and David Drever coming onboard as speakers for the event, we were certain that we will have more registrations coming,  We tried to move the locations to Microsoft Office but being an after office weekend event made it a challenge.

Nasir Nasiruddin from Microsoft helped us out and we were able to move the location to MTC, Microsoft Office, which is the perfect location for hosting an event like this. This was key as I got to know later that few of the cities had to cancel the Integration Bootcamp event as the team not able to secure a location for the event.

Event Day was fun, we started early to set things up. Our friend Sarvesh Thuse was of great help, helping us with setup, prep, managing Registration Booth and guiding Attendees.

We had a great Event with very engaged attendees, thanks to awesome speakers and engaging Agenda for the day. We had high participation(40 attendees out of 53 registrations) and attendee engagement in our Q&A Panel discussion.

Here are some of the pics from the Event.

Continue reading “Global Integration Bootcamp – Calgary”

Unified View in Dynamics 365 without Data Duplication


Data integration are meant to solve two primary problems.

  • Unified data by creating a co-relation between data available in different applications.
  • Unified View by allowing users to see a unified view of the business data without hopping from one application to another.

In this blog post, we will focus on Unified View. One of the shortcomings of achieving a unified view by data Integrations is data duplication. Even though the Master data is stored in one place, a copy of its subset exist in other applications in order to create a Unified view. This data needs to be synchronized and updated as the master data changes. In some scenario, the changes from downstream application might update the master data and other copies.

Often time Dynamics CE is used to maintain Customer data while Operation data and Financial data are maintained in another application. in order to access the data, users need to navigate to the relevant application and look up the data. As an example, you might have customer record and Order data in CRM but the invoice and payment data could be in another ERP system( AX, GP, SAP etc.).

In Dynamics 365 CE there are multiple ways to achieve Unified View without or with reduced duplicate data, let’s dive into what these solutions are and when to use them.

Continue reading “Unified View in Dynamics 365 without Data Duplication”

Logic App ALM Process for Dynamics 365 Integration – ALM Part 2

In the previous blog  – we looked into working with Logic Apps from Visual Studio, which allowed us to manage logic app code in TFS or Git or any other source control system. But to truly do DevOps for Logic Apps while integrating with Dynamics 365 you need to be able to do ALM process for Logic Apps better yet do continuous delivery/deployment.

when we are editing and deploying a Logic app in Visual Studio we are actually editing an ARM Template, So what is an ARM template?

ARM templates are JSON format template, it enables you to deploy Azure resources in a declarative manner and could be used to define all the resources in a resource group.

An Empty ARM Template Schema

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": { },
"variables" : { },
"resources": [],
"outputs": { }
}

To add a resource in ARM template, resource details are declared under resources properties, there could be multiple resources. Below is a sample of Empty Logic app added to empty ARM Template.

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {}, //ARM parameters
  "variables": {}, //ARM template variables
  "resources": [
    {
      "name": "Logic APP Name",
      "type": "Microsoft.Logic/workflows",
      "location": "West US",
      "tags": {"displayName": "LogicApp" },
      "apiVersion": "2016-06-01",
      "properties": {
        "definition": {
          "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
          "contentVersion": "1.0.0.0",
          "actions": {},
          "outputs": {},
          "parameters": {},//Logic App defination parameters defination
          "triggers": {}
        },
        "parameters": {}   //parameter values
      }
    }
  ],
  "outputs": {}
}

Continue reading “Logic App ALM Process for Dynamics 365 Integration – ALM Part 2”

Migrating Microsoft Flow To Azure Logic App Service

With the increasing popularity of Microsoft Flow and ease of setup quite often we start with a self-service integration using Microsoft Flow and later need to switch them to Azure Logic apps.

As Flow is built on the top of Logic Apps it’s a simple export-import(Export and Deploy) process to switch them over. In this blog, we will go over converting an existing flow integration to Logic Apps Service.

I have built a Flow which is triggered when a case is created in Dynamics 365 and in turns creates a work item in Visual Studio Team services for the team to work on. As a lot of Cases are being submitted I will switch them over to Logic Apps for better monitoring.

In order to migrate my first step is to export this Flow as Logic Apps from My Flow Page. Continue reading “Migrating Microsoft Flow To Azure Logic App Service”

Integration with Microsoft Dynamics 365 using Azure Logic App Service

In this post I’ll discuss Data Integration using Azure Logic App Service, we will create a Logic app that gets triggered when a case is created in Dynamics 365 and inturns creates a work item in Visual Studio Team services for the team to work on.

Logic App workflow is built using series of actions and Connectors, and has its own JSON based workflow definition schema, for details refer to my blog on The Basics of Azure Logic Apps Schema and Codeview editing

Pre-requisites
  • Microsoft Dynamics 365 Online instance (On-premise instance could be used as well using Azure Data Gateway)
  • Microsoft Azure subscription for creating a Logic APP (If you don’t have an Azure subscription you can either use Try a Logic App feature which creates a logic app for an hour or you may sign up for a Trial account.)
  • Visual Studio Team services account (SignUp link).

Continue reading “Integration with Microsoft Dynamics 365 using Azure Logic App Service”

Basics of Azure Logic Apps Schema and Codeview editing

Integrations using Logic App could be a fun exercise. Logic App provides a visual designer to model and automate your workflow process as a series of steps called as workflow designer UI,  for complex requirement Code view comes handy. In this blog, I will talk about the structure of logic app definition.

Let’s start with some basic components of Logic App.

    • Logic App Visual designer actually creates a JSON file with workflow definitions. JSON structure for Logic app

{
"$schema": "",
"contentVersion": "",
"parameters": { },
"triggers": [ { } ],
"actions": [ { } ],
"outputs": { }
}

$Schema, content version and static values and are set to schema and version automatically.

Parameters are important as they help parameterize the logic app and assist with Deployments and change management. I will go more in-depth in my subsequent blog on Logic App and Change management/ALM.

Triggers: define the trigger criteria for the workflow. to access the output of trigger @triggerBody() could be used.

Actions: define the actions within the workflow, actions are nested and using runAfter you may define the dependent action or parallel action flow.

Outputs: refer to the response of the workflow post execution of all the actions. Most of our Integration scenario doesn’t use the output as we will have another action to consume the output.

Continue reading “Basics of Azure Logic Apps Schema and Codeview editing”

Microsoft Dynamics 365 & Integrations

In today’s business, it’s key to have Unified systems and process. Often businesses struggle to integrate enterprise data across their ever-growing number of applications and systems, resulting in applications which are meant to help but actually harm productivity.

Disconnected systems often overload employees with much of the painstaking work of searching data, data entry, data processing, and business analysis, and in some cases, data synchronization is manual and the onus of data integrity across systems will fall to employees.

When businesses invest in digital transformation projects to improve efficiency and gain a competitive edge, they have to plan on how new systems and apps will interact with each other. Burdening their employees with the task of manually migrating data between various systems easily counteracts any ROI.

Almost every Microsoft Dynamics 365 Implementation requires some level of Integration in real or near real time with other systems. At first, Microsoft Dynamics integration may seem like a daunting task but there are a lot of tools by Microsoft and ISV’s which makes it easier, Let’s dive in and look into some of the key options which have almost become industry standards for Dynamics 365 Integrations.

Continue reading “Microsoft Dynamics 365 & Integrations”