SlideShare a Scribd company logo
1 of 45
April 02, 2022
Indore MuleSoft Meetup Group
Integration With Microsoft Dynamics 365 CRM
2
● Introduction to Microsoft Dynamics 365 CRM
● Integrating Microsoft Dynamics 365 CRM with MuleSoft
● Demo
● Q&A
● Quiz
Agenda
3
Introductions
●About the Organizers
Chetan Joshi
Associate Solution Architect
Apisero
Certified MuleSoft Integration Architect
Anand Joshi
System Analyst
Hexaware
Certified MuleSoft Integration and
Platform Architect
Shivam Khandelwal
MTS
Salesforce
Certified MuleSoft Platform Architect
4
●About the Speaker :
Introductions
Arnab Ray
Senior Lead Engineer
Apisero
Certified Platform Architect
2+ years of Experience in Integrations
5
● Both the Speaker and Hosts are organizing this meetup at individual capacity. We are not
representing our Organisations here.
● This presentation is strictly for learning purpose only.
● We do not hold any responsibility that same solution will work for your business usecase also.
● This Presentation is not meant for any promotional activities.
Safe Harbor Statement
Intro and Terminologies
Introduction to Microsoft
Dynamics 365 CRM
7
● Microsoft Dynamics 365 is a product line of enterprise resource planning (ERP) and customer
relationship management (CRM) intelligent business applications announced by Microsoft.
○ We’ll focus on Dynamics 365 CRM.
○ Although in the MuleSoft world, Salesforce is arguably the most common CRM (19% market share),
Microsoft Dynamics has been an emerging option for a lot of companies(3-4% market share).[Source]
Pros:
■ Integrates out of the box with the suite of Microsoft products.
■ Active Azure subscription customers are familiar with the product suite and easy maintenance.
■ Is built on top of MS-SQL server and follows similar syntaxes.
Cons:
■ Outdated and distributed documentation.
■ Very few Anypoint/MuleSoft-specific documentation/community forums/blogs available.
Introduction to Microsoft Dynamics 365
8
● Tables/Objects -> Entities
○ Example: Account, Contact, Opportunity, Lead
● Fields -> Attributes
○ Example: FirstName, LastName, Email, ModifiedOn, CreatedOn
● Primary Key/Id is named based on Entity Name.
○ Example: accountid, contactid, leadid, opportunityid
○ Does not always necessarily follow <object_name> ++ ‘id’ syntax. (Example: activitypointer ->
activityid)
● Entity Sets -> Group of Entities.
○ Example: accounts (entity set of account), contacts (entity set of contact)
○ Microsoft Web API uses “entity set” terminologies. (Example: SELECT accountid FROM accounts)
● Dynamics 365 CRM documentation also refers it as Microsoft Dynamics 365 CE (Customer
Engagement) [CE refers to the on-prem setup of Dynamics 365]
● MuleSoft connector uses Microsoft Web APIs.
Terminologies/Cheat-sheet:
9
● Azure Portal
○ Link: https://aad.portal.azure.com
○ Usage: To create OAuth applications, retrieve client id and secret, allow scopes.
● Dynamics 365 CRM
○ Link: https://<YOUR_INSTANCE_NAME>.crm8.dynamics.com/main.aspx
○ Usage: View records, Navigate apps.
● Microsoft 365 Admin:
○ Link: https://admin.microsoft.com/Adminportal/Home
○ Usage: Manage Subscriptions, Licenses
● Power Platform Admin:
○ Link: https://admin.powerplatform.microsoft.com/environments
○ Usage: Manage User, Manage Environments
● Power Apps
○ Link: https://make.powerapps.com/environments/<ENV_ID>/solutions/
○ Usage: Structural view of data (Equivalent to “Setup” of Salesforce). View attributes, explore API
names, create fields and relationships
Useful Links and Navigations:
Trial Account Setup and Navigation
Integrating Microsoft Dynamics
365 CRM with MuleSoft
11
All points throughout this PPT is covered based on Web API v9.1 and MuleSoft Dynamics
365 Connector version 2.5. Some functionalities might change due to updates in the
product.
Disclaimer:
12
● Create a free Microsoft Dynamics 365 Trial Account from here:
○ https://dynamics.microsoft.com/en-in/
● Login in the account.
● Select your name and select Dynamics 365 Home.
Create Trial Account
13
● Inside Dynamics 365 Home, select Power Apps.
○ Link: https://www.office.com/apps?deepLink=business-apps
Power Apps
If prompted to “Create Database”, select the same and follow the next steps. This should
initialize the Sales App with all out of the box entities and sample records.
14
● Microsoft Dynamics 365 CRM is divided into multiple “Solutions”.
○ A solution can contain one or more apps as well as other components such as site maps, entities,
processes, web resources, option sets, and more.
○ For our discussion, we will stick to “Default Solution”. Check with customer specific solution before
proceeding with the next steps.
Default Solution
15
● Search for an entity to view all details for the specific entity.
Entity Information
16
You can check the Label on Front-End and the API_Name of the entity.
Field Label and API Name
17
● Unlike Salesforce, related records works differently in Microsoft Dynamics 365 CRM.
○ Example: SELECT ContactId FROM Account -> Retrieves Related Contact ID of an Account.
However, in Dynamics, the same cannot be directly queried without JOIN. (More on this later in
demo)
Relationships
Setup Sales App and Start Using Dynamics 365 CRM
Integrating Microsoft Dynamics
365 CRM with MuleSoft
19
● Login to Power Platform Admin Center. (Note: Power Platform Admin and Power Apps are
different)
● Select Environment -> Create New Environment. Select Type=Trial for Trial account.
Create Sales App for Dynamics 365 CRM
20
● Select Enable Dynamics 365 Apps.
● Select All Enterprise Applications.
● Save.
Create Sales App (Continued)
21
● Wait for Environment to spin up. Might take few mins. The page might not auto refresh, check
with manual refresh.
● Once done, select the new environment and the instance URL should be present.
Create Sales App (Continued)
22
● Once logged in to the instance, select “Sales App” to get started!
Create Sales App (Continued)
23
Sales App Homepage
Create Azure App to Configure MuleSoft Connector
Integrating Microsoft Dynamics
365 CRM with MuleSoft
25
● From Power Platform admin center (not power apps), navigate to Azure AD.
Navigate to Azure AD
26
● In Azure AD, select Enterprise Application.
● Create your own application.
Create New Application
27
Create New Application (Continued)
28
Create New Application (Continued)
● Note down the Client ID, Tenant ID.
● Select Add Certificate Or Secret and Generate a Client Secret.
29
Create New Application (Continued)
● Generate Client Secret. Copy the Value(not Secret ID).
30
Create New Application (Continued)
● Provide Dynamics CRM Permission for the App. Verify the permission.
31
Create New Application (Continued)
● Once done, set the Client ID, Client Secret and other configurations in Anypoint Studio - Dynamics
365 connector. You might still get the below even after having the all possible configuration values.
(Note: It’s 403 Forbidden and not 401)
ERROR 2022-03-05 21:56:41,566 [[MuleRuntime].uber.01: [meet-up-demo].meet-up-demoFlow.BLOCKING @1819af5e] [processor: meet-up-demoFlow/processors/1; event: 0977da00-
9ca1-11ec-b04a-3c063021f1ec] org.mule.runtime.core.internal.exception.OnErrorPropagateHandler:
********************************************************************************
Message : (0x80072560) The user is not a member of the organization. [HTTP/1.1 403 Forbidden]
Element : meet-up-demoFlow/processors/1 @ meet-up-demo:meet-up-demo.xml:20 (Retrieve multiple by query)
Element DSL : <dynamics:retrieve-multiple-by-query doc:name="Retrieve multiple by query" doc:id="0639322e-77f8-4f4d-b6dc-47a106d10858" config-
ref="Dynamics_365_Dynamics_365">
<dynamics:query>SELECT accountid FROM accounts</dynamics:query>
</dynamics:retrieve-multiple-by-query>
Error type : DYNAMICS:UNAUTHORIZED
FlowStack : at meet-up-demoFlow(meet-up-demoFlow/processors/1 @ meet-up-demo:meet-up-demo.xml:20 (Retrieve multiple by query))
(set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************
32
● Let’s get back to Power Platform Admin Center (not Power Apps).
● Select the appropriate environment and select “Settings”.
Create Application User
33
● Select Application User.
Create Application User (Continued)
34
● Select the app that was created in Azure AD in earlier steps.
● Select appropriate business unit.
● Select appropriate security role per required permission and Create.
Create Application User (Continued)
Configure Microsoft Dynamics 365 Connector in Studio
Integrating Microsoft Dynamics
365 CRM with MuleSoft
36
● There are multiple Microsoft 365 Connectors available in Exchange.
● We will be using the 365 connector (not the CRM connector).
Download Connector in Anypoint Studio
37
● Endpoint: Your instance URL from Power
platform admin center -> Environment.
● Proxy: Optional.
● Client ID: From Azure AD.
● Client Secret: From Azure AD.
● Token URL:
https://login.microsoftonline.com/<tenant_id>/oa
uth2/v2.0/token
○ Tenant ID: From Azure AD.
● Scopes:
○ <Endpoint> ++ “/.default”
Configure OAuth Credentials Obtained
38
And Voila! Connected!
Anypoint Studio (Different Read operations)
DEMO
40
● Retrieve Multiple By Query uses DSQL (Datasense Query Language) which is limited in
scope but easy for quick development.
● Retrieve Multiple uses Web API URL. The same URL can be copy-pasted to and from
Postman(or any Rest Client) and Studio.
● Web API Documentation: https://docs.microsoft.com/en-us/powerapps/developer/data-
platform/webapi/query-data-web-api
● Documentation on a per Entity basis(Attributes, Operations, Restrictions, etc.):
https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-
premises/developer/about-entity-reference?view=op-9-1
● Audit Entity: https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-
api/audit?view=dynamics-ce-odata-9
● Any lookup field which is supposed to be a part of $expand parameter, if mistakenly provided
in $select, does not raise any error and is silently dropped from the response.
● MDynamics 365 CRM might return unwanted fields in the response even if not provided in
either $select or $expand. This might break 1:1 synchronization integrations and has to be
taken care of.
Things to Remember
41
● Any deletion of record in MDynamics 365 CRM is a hard-delete and no flag(Ex: IsDeleted for
Salesforce) is maintained. To retrieve deleted records, enabling Audit and Querying Audit is
an alternative.
Things to Remember (Continued)
Trivia Quiz
43
Picture Time!
44
● Share:
○ Share using the hashtag #MuleSoftMeetups
○ https://meetups.mulesoft.com/indore/
● Feedback:
○ Fill out the survey feedback and suggest topics for upcoming events
○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program
○ You can contact us directly at indoremulesoftmeetup@gmail.com.
What’s next?
Thank you

More Related Content

What's hot

Data weave 2.0 advanced (recursion, pattern matching)
Data weave 2.0   advanced (recursion, pattern matching)Data weave 2.0   advanced (recursion, pattern matching)
Data weave 2.0 advanced (recursion, pattern matching)ManjuKumara GH
 
Master IAM in the Cloud with SCIM v2.0
Master IAM in the Cloud with SCIM v2.0Master IAM in the Cloud with SCIM v2.0
Master IAM in the Cloud with SCIM v2.0Kelly Grizzle
 
How Netflix Is Solving Authorization Across Their Cloud
How Netflix Is Solving Authorization Across Their CloudHow Netflix Is Solving Authorization Across Their Cloud
How Netflix Is Solving Authorization Across Their CloudTorin Sandall
 
Securing APIs with Open Policy Agent
Securing APIs with Open Policy AgentSecuring APIs with Open Policy Agent
Securing APIs with Open Policy AgentNordic APIs
 
An Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices WorldAn Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices WorldVMware Tanzu
 
AManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with TerraformAManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with TerraformByungjin Park
 
Efficient Schemas in Motion with Kafka and Schema Registry
Efficient Schemas in Motion with Kafka and Schema RegistryEfficient Schemas in Motion with Kafka and Schema Registry
Efficient Schemas in Motion with Kafka and Schema RegistryPat Patterson
 
Building an Authorization Solution for Microservices Using Neo4j and OPA
Building an Authorization Solution for Microservices Using Neo4j and OPABuilding an Authorization Solution for Microservices Using Neo4j and OPA
Building an Authorization Solution for Microservices Using Neo4j and OPANeo4j
 
Highlights of WSO2 API Manager 4.0.0
Highlights of WSO2 API Manager 4.0.0Highlights of WSO2 API Manager 4.0.0
Highlights of WSO2 API Manager 4.0.0WSO2
 
GraphQL vs REST
GraphQL vs RESTGraphQL vs REST
GraphQL vs RESTGreeceJS
 
Graphql presentation
Graphql presentationGraphql presentation
Graphql presentationVibhor Grover
 
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환Amazon Web Services Korea
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital TransformationAditya Thatte
 
Best practices for queue processing in serverless applications - MAD313 - Chi...
Best practices for queue processing in serverless applications - MAD313 - Chi...Best practices for queue processing in serverless applications - MAD313 - Chi...
Best practices for queue processing in serverless applications - MAD313 - Chi...Amazon Web Services
 
Building secure applications with keycloak
Building secure applications with keycloak Building secure applications with keycloak
Building secure applications with keycloak Abhishek Koserwal
 
Best Practices for SAP Access Controls | Symmetry™
Best Practices for SAP Access Controls | Symmetry™Best Practices for SAP Access Controls | Symmetry™
Best Practices for SAP Access Controls | Symmetry™Symmetry™
 
Spring Boot in Action
Spring Boot in Action Spring Boot in Action
Spring Boot in Action Alex Movila
 
webpack 101 slides
webpack 101 slideswebpack 101 slides
webpack 101 slidesmattysmith
 

What's hot (20)

Data weave 2.0 advanced (recursion, pattern matching)
Data weave 2.0   advanced (recursion, pattern matching)Data weave 2.0   advanced (recursion, pattern matching)
Data weave 2.0 advanced (recursion, pattern matching)
 
Master IAM in the Cloud with SCIM v2.0
Master IAM in the Cloud with SCIM v2.0Master IAM in the Cloud with SCIM v2.0
Master IAM in the Cloud with SCIM v2.0
 
How Netflix Is Solving Authorization Across Their Cloud
How Netflix Is Solving Authorization Across Their CloudHow Netflix Is Solving Authorization Across Their Cloud
How Netflix Is Solving Authorization Across Their Cloud
 
Securing APIs with Open Policy Agent
Securing APIs with Open Policy AgentSecuring APIs with Open Policy Agent
Securing APIs with Open Policy Agent
 
An Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices WorldAn Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices World
 
Spring AOP in Nutshell
Spring AOP in Nutshell Spring AOP in Nutshell
Spring AOP in Nutshell
 
GraphQL
GraphQLGraphQL
GraphQL
 
AManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with TerraformAManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with Terraform
 
Efficient Schemas in Motion with Kafka and Schema Registry
Efficient Schemas in Motion with Kafka and Schema RegistryEfficient Schemas in Motion with Kafka and Schema Registry
Efficient Schemas in Motion with Kafka and Schema Registry
 
Building an Authorization Solution for Microservices Using Neo4j and OPA
Building an Authorization Solution for Microservices Using Neo4j and OPABuilding an Authorization Solution for Microservices Using Neo4j and OPA
Building an Authorization Solution for Microservices Using Neo4j and OPA
 
Highlights of WSO2 API Manager 4.0.0
Highlights of WSO2 API Manager 4.0.0Highlights of WSO2 API Manager 4.0.0
Highlights of WSO2 API Manager 4.0.0
 
GraphQL vs REST
GraphQL vs RESTGraphQL vs REST
GraphQL vs REST
 
Graphql presentation
Graphql presentationGraphql presentation
Graphql presentation
 
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital Transformation
 
Best practices for queue processing in serverless applications - MAD313 - Chi...
Best practices for queue processing in serverless applications - MAD313 - Chi...Best practices for queue processing in serverless applications - MAD313 - Chi...
Best practices for queue processing in serverless applications - MAD313 - Chi...
 
Building secure applications with keycloak
Building secure applications with keycloak Building secure applications with keycloak
Building secure applications with keycloak
 
Best Practices for SAP Access Controls | Symmetry™
Best Practices for SAP Access Controls | Symmetry™Best Practices for SAP Access Controls | Symmetry™
Best Practices for SAP Access Controls | Symmetry™
 
Spring Boot in Action
Spring Boot in Action Spring Boot in Action
Spring Boot in Action
 
webpack 101 slides
webpack 101 slideswebpack 101 slides
webpack 101 slides
 

Similar to Indore MuleSoft Meetup #5 April 2022 MDynamics 65.pptx

Anypoint Custom Metrics Mastery
Anypoint Custom Metrics MasteryAnypoint Custom Metrics Mastery
Anypoint Custom Metrics MasteryMuleSoft Meetups
 
Syllabus for Dynamics 365 CRM/ CE Functional Consultant Course
Syllabus for Dynamics 365 CRM/ CE Functional Consultant CourseSyllabus for Dynamics 365 CRM/ CE Functional Consultant Course
Syllabus for Dynamics 365 CRM/ CE Functional Consultant CourseSanjaya Prakash Pradhan
 
Get Data from Microsoft CRM using Mule ESB
Get Data from Microsoft CRM using Mule ESBGet Data from Microsoft CRM using Mule ESB
Get Data from Microsoft CRM using Mule ESBSanjeet Pandey
 
Microsoft dynamics 365 implementation partners
Microsoft dynamics 365 implementation partnersMicrosoft dynamics 365 implementation partners
Microsoft dynamics 365 implementation partners26shashank
 
Microsoft Dynamics CRM Technical Training for Dicker Data Resellers
Microsoft Dynamics CRM Technical Training for Dicker Data ResellersMicrosoft Dynamics CRM Technical Training for Dicker Data Resellers
Microsoft Dynamics CRM Technical Training for Dicker Data ResellersDavid Blumentals
 
Integration with Microsoft CRM using Mule ESB
Integration with Microsoft CRM using Mule ESBIntegration with Microsoft CRM using Mule ESB
Integration with Microsoft CRM using Mule ESBSanjeet Pandey
 
Microsoft dynamics 365 implementations
Microsoft dynamics 365 implementations Microsoft dynamics 365 implementations
Microsoft dynamics 365 implementations shreyGupta87
 
Crm saturday madrid 2017 3 mosqueteros demian-marco-mario
Crm saturday madrid 2017   3  mosqueteros demian-marco-marioCrm saturday madrid 2017   3  mosqueteros demian-marco-mario
Crm saturday madrid 2017 3 mosqueteros demian-marco-marioDemian Raschkovan
 
Salesforce.com Overview
Salesforce.com   OverviewSalesforce.com   Overview
Salesforce.com Overviewmulodo
 
Salesforce.com overview (1)
Salesforce.com   overview (1)Salesforce.com   overview (1)
Salesforce.com overview (1)Luan Minh
 
Office 365 Integration with Odoo
Office 365 Integration with OdooOffice 365 Integration with Odoo
Office 365 Integration with OdooGaurav Kumar
 
Introduction to Customization in dynamics crm 2016
Introduction to Customization in dynamics crm 2016Introduction to Customization in dynamics crm 2016
Introduction to Customization in dynamics crm 2016Firoz Muhammed
 
How to Manage Data Integration within Microsoft Dynamics
How to Manage Data Integration within Microsoft DynamicsHow to Manage Data Integration within Microsoft Dynamics
How to Manage Data Integration within Microsoft DynamicsGlobalLogic Ukraine
 
CRM meets BPM, AgileXRM
CRM meets BPM, AgileXRMCRM meets BPM, AgileXRM
CRM meets BPM, AgileXRMAgileXRM
 
How to use the Social Business Development Environments
How to use the Social Business Development EnvironmentsHow to use the Social Business Development Environments
How to use the Social Business Development EnvironmentsIBM Connections Developers
 
IBM Connect 2014 - SHOW501: Mastering Social Development Using the IBM Collab...
IBM Connect 2014 - SHOW501: Mastering Social Development Using the IBM Collab...IBM Connect 2014 - SHOW501: Mastering Social Development Using the IBM Collab...
IBM Connect 2014 - SHOW501: Mastering Social Development Using the IBM Collab...IBM Connections Developers
 
IBM Connect 2014 SHOW501 Mastering Social Development Using the IBM Collabora...
IBM Connect 2014 SHOW501 Mastering Social Development Using the IBM Collabora...IBM Connect 2014 SHOW501 Mastering Social Development Using the IBM Collabora...
IBM Connect 2014 SHOW501 Mastering Social Development Using the IBM Collabora...paulbastide
 
Automated generation of DRM instances from models
Automated generation of DRM instances from modelsAutomated generation of DRM instances from models
Automated generation of DRM instances from modelssaman zaker
 
Baltimore MuleSoft Meetup #8
Baltimore MuleSoft Meetup #8Baltimore MuleSoft Meetup #8
Baltimore MuleSoft Meetup #8ManjuKumara GH
 
Azure ml and dynamics 365
Azure ml and dynamics 365Azure ml and dynamics 365
Azure ml and dynamics 365Jivtesh Singh
 

Similar to Indore MuleSoft Meetup #5 April 2022 MDynamics 65.pptx (20)

Anypoint Custom Metrics Mastery
Anypoint Custom Metrics MasteryAnypoint Custom Metrics Mastery
Anypoint Custom Metrics Mastery
 
Syllabus for Dynamics 365 CRM/ CE Functional Consultant Course
Syllabus for Dynamics 365 CRM/ CE Functional Consultant CourseSyllabus for Dynamics 365 CRM/ CE Functional Consultant Course
Syllabus for Dynamics 365 CRM/ CE Functional Consultant Course
 
Get Data from Microsoft CRM using Mule ESB
Get Data from Microsoft CRM using Mule ESBGet Data from Microsoft CRM using Mule ESB
Get Data from Microsoft CRM using Mule ESB
 
Microsoft dynamics 365 implementation partners
Microsoft dynamics 365 implementation partnersMicrosoft dynamics 365 implementation partners
Microsoft dynamics 365 implementation partners
 
Microsoft Dynamics CRM Technical Training for Dicker Data Resellers
Microsoft Dynamics CRM Technical Training for Dicker Data ResellersMicrosoft Dynamics CRM Technical Training for Dicker Data Resellers
Microsoft Dynamics CRM Technical Training for Dicker Data Resellers
 
Integration with Microsoft CRM using Mule ESB
Integration with Microsoft CRM using Mule ESBIntegration with Microsoft CRM using Mule ESB
Integration with Microsoft CRM using Mule ESB
 
Microsoft dynamics 365 implementations
Microsoft dynamics 365 implementations Microsoft dynamics 365 implementations
Microsoft dynamics 365 implementations
 
Crm saturday madrid 2017 3 mosqueteros demian-marco-mario
Crm saturday madrid 2017   3  mosqueteros demian-marco-marioCrm saturday madrid 2017   3  mosqueteros demian-marco-mario
Crm saturday madrid 2017 3 mosqueteros demian-marco-mario
 
Salesforce.com Overview
Salesforce.com   OverviewSalesforce.com   Overview
Salesforce.com Overview
 
Salesforce.com overview (1)
Salesforce.com   overview (1)Salesforce.com   overview (1)
Salesforce.com overview (1)
 
Office 365 Integration with Odoo
Office 365 Integration with OdooOffice 365 Integration with Odoo
Office 365 Integration with Odoo
 
Introduction to Customization in dynamics crm 2016
Introduction to Customization in dynamics crm 2016Introduction to Customization in dynamics crm 2016
Introduction to Customization in dynamics crm 2016
 
How to Manage Data Integration within Microsoft Dynamics
How to Manage Data Integration within Microsoft DynamicsHow to Manage Data Integration within Microsoft Dynamics
How to Manage Data Integration within Microsoft Dynamics
 
CRM meets BPM, AgileXRM
CRM meets BPM, AgileXRMCRM meets BPM, AgileXRM
CRM meets BPM, AgileXRM
 
How to use the Social Business Development Environments
How to use the Social Business Development EnvironmentsHow to use the Social Business Development Environments
How to use the Social Business Development Environments
 
IBM Connect 2014 - SHOW501: Mastering Social Development Using the IBM Collab...
IBM Connect 2014 - SHOW501: Mastering Social Development Using the IBM Collab...IBM Connect 2014 - SHOW501: Mastering Social Development Using the IBM Collab...
IBM Connect 2014 - SHOW501: Mastering Social Development Using the IBM Collab...
 
IBM Connect 2014 SHOW501 Mastering Social Development Using the IBM Collabora...
IBM Connect 2014 SHOW501 Mastering Social Development Using the IBM Collabora...IBM Connect 2014 SHOW501 Mastering Social Development Using the IBM Collabora...
IBM Connect 2014 SHOW501 Mastering Social Development Using the IBM Collabora...
 
Automated generation of DRM instances from models
Automated generation of DRM instances from modelsAutomated generation of DRM instances from models
Automated generation of DRM instances from models
 
Baltimore MuleSoft Meetup #8
Baltimore MuleSoft Meetup #8Baltimore MuleSoft Meetup #8
Baltimore MuleSoft Meetup #8
 
Azure ml and dynamics 365
Azure ml and dynamics 365Azure ml and dynamics 365
Azure ml and dynamics 365
 

Recently uploaded

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

Indore MuleSoft Meetup #5 April 2022 MDynamics 65.pptx

  • 1. April 02, 2022 Indore MuleSoft Meetup Group Integration With Microsoft Dynamics 365 CRM
  • 2. 2 ● Introduction to Microsoft Dynamics 365 CRM ● Integrating Microsoft Dynamics 365 CRM with MuleSoft ● Demo ● Q&A ● Quiz Agenda
  • 3. 3 Introductions ●About the Organizers Chetan Joshi Associate Solution Architect Apisero Certified MuleSoft Integration Architect Anand Joshi System Analyst Hexaware Certified MuleSoft Integration and Platform Architect Shivam Khandelwal MTS Salesforce Certified MuleSoft Platform Architect
  • 4. 4 ●About the Speaker : Introductions Arnab Ray Senior Lead Engineer Apisero Certified Platform Architect 2+ years of Experience in Integrations
  • 5. 5 ● Both the Speaker and Hosts are organizing this meetup at individual capacity. We are not representing our Organisations here. ● This presentation is strictly for learning purpose only. ● We do not hold any responsibility that same solution will work for your business usecase also. ● This Presentation is not meant for any promotional activities. Safe Harbor Statement
  • 6. Intro and Terminologies Introduction to Microsoft Dynamics 365 CRM
  • 7. 7 ● Microsoft Dynamics 365 is a product line of enterprise resource planning (ERP) and customer relationship management (CRM) intelligent business applications announced by Microsoft. ○ We’ll focus on Dynamics 365 CRM. ○ Although in the MuleSoft world, Salesforce is arguably the most common CRM (19% market share), Microsoft Dynamics has been an emerging option for a lot of companies(3-4% market share).[Source] Pros: ■ Integrates out of the box with the suite of Microsoft products. ■ Active Azure subscription customers are familiar with the product suite and easy maintenance. ■ Is built on top of MS-SQL server and follows similar syntaxes. Cons: ■ Outdated and distributed documentation. ■ Very few Anypoint/MuleSoft-specific documentation/community forums/blogs available. Introduction to Microsoft Dynamics 365
  • 8. 8 ● Tables/Objects -> Entities ○ Example: Account, Contact, Opportunity, Lead ● Fields -> Attributes ○ Example: FirstName, LastName, Email, ModifiedOn, CreatedOn ● Primary Key/Id is named based on Entity Name. ○ Example: accountid, contactid, leadid, opportunityid ○ Does not always necessarily follow <object_name> ++ ‘id’ syntax. (Example: activitypointer -> activityid) ● Entity Sets -> Group of Entities. ○ Example: accounts (entity set of account), contacts (entity set of contact) ○ Microsoft Web API uses “entity set” terminologies. (Example: SELECT accountid FROM accounts) ● Dynamics 365 CRM documentation also refers it as Microsoft Dynamics 365 CE (Customer Engagement) [CE refers to the on-prem setup of Dynamics 365] ● MuleSoft connector uses Microsoft Web APIs. Terminologies/Cheat-sheet:
  • 9. 9 ● Azure Portal ○ Link: https://aad.portal.azure.com ○ Usage: To create OAuth applications, retrieve client id and secret, allow scopes. ● Dynamics 365 CRM ○ Link: https://<YOUR_INSTANCE_NAME>.crm8.dynamics.com/main.aspx ○ Usage: View records, Navigate apps. ● Microsoft 365 Admin: ○ Link: https://admin.microsoft.com/Adminportal/Home ○ Usage: Manage Subscriptions, Licenses ● Power Platform Admin: ○ Link: https://admin.powerplatform.microsoft.com/environments ○ Usage: Manage User, Manage Environments ● Power Apps ○ Link: https://make.powerapps.com/environments/<ENV_ID>/solutions/ ○ Usage: Structural view of data (Equivalent to “Setup” of Salesforce). View attributes, explore API names, create fields and relationships Useful Links and Navigations:
  • 10. Trial Account Setup and Navigation Integrating Microsoft Dynamics 365 CRM with MuleSoft
  • 11. 11 All points throughout this PPT is covered based on Web API v9.1 and MuleSoft Dynamics 365 Connector version 2.5. Some functionalities might change due to updates in the product. Disclaimer:
  • 12. 12 ● Create a free Microsoft Dynamics 365 Trial Account from here: ○ https://dynamics.microsoft.com/en-in/ ● Login in the account. ● Select your name and select Dynamics 365 Home. Create Trial Account
  • 13. 13 ● Inside Dynamics 365 Home, select Power Apps. ○ Link: https://www.office.com/apps?deepLink=business-apps Power Apps If prompted to “Create Database”, select the same and follow the next steps. This should initialize the Sales App with all out of the box entities and sample records.
  • 14. 14 ● Microsoft Dynamics 365 CRM is divided into multiple “Solutions”. ○ A solution can contain one or more apps as well as other components such as site maps, entities, processes, web resources, option sets, and more. ○ For our discussion, we will stick to “Default Solution”. Check with customer specific solution before proceeding with the next steps. Default Solution
  • 15. 15 ● Search for an entity to view all details for the specific entity. Entity Information
  • 16. 16 You can check the Label on Front-End and the API_Name of the entity. Field Label and API Name
  • 17. 17 ● Unlike Salesforce, related records works differently in Microsoft Dynamics 365 CRM. ○ Example: SELECT ContactId FROM Account -> Retrieves Related Contact ID of an Account. However, in Dynamics, the same cannot be directly queried without JOIN. (More on this later in demo) Relationships
  • 18. Setup Sales App and Start Using Dynamics 365 CRM Integrating Microsoft Dynamics 365 CRM with MuleSoft
  • 19. 19 ● Login to Power Platform Admin Center. (Note: Power Platform Admin and Power Apps are different) ● Select Environment -> Create New Environment. Select Type=Trial for Trial account. Create Sales App for Dynamics 365 CRM
  • 20. 20 ● Select Enable Dynamics 365 Apps. ● Select All Enterprise Applications. ● Save. Create Sales App (Continued)
  • 21. 21 ● Wait for Environment to spin up. Might take few mins. The page might not auto refresh, check with manual refresh. ● Once done, select the new environment and the instance URL should be present. Create Sales App (Continued)
  • 22. 22 ● Once logged in to the instance, select “Sales App” to get started! Create Sales App (Continued)
  • 24. Create Azure App to Configure MuleSoft Connector Integrating Microsoft Dynamics 365 CRM with MuleSoft
  • 25. 25 ● From Power Platform admin center (not power apps), navigate to Azure AD. Navigate to Azure AD
  • 26. 26 ● In Azure AD, select Enterprise Application. ● Create your own application. Create New Application
  • 28. 28 Create New Application (Continued) ● Note down the Client ID, Tenant ID. ● Select Add Certificate Or Secret and Generate a Client Secret.
  • 29. 29 Create New Application (Continued) ● Generate Client Secret. Copy the Value(not Secret ID).
  • 30. 30 Create New Application (Continued) ● Provide Dynamics CRM Permission for the App. Verify the permission.
  • 31. 31 Create New Application (Continued) ● Once done, set the Client ID, Client Secret and other configurations in Anypoint Studio - Dynamics 365 connector. You might still get the below even after having the all possible configuration values. (Note: It’s 403 Forbidden and not 401) ERROR 2022-03-05 21:56:41,566 [[MuleRuntime].uber.01: [meet-up-demo].meet-up-demoFlow.BLOCKING @1819af5e] [processor: meet-up-demoFlow/processors/1; event: 0977da00- 9ca1-11ec-b04a-3c063021f1ec] org.mule.runtime.core.internal.exception.OnErrorPropagateHandler: ******************************************************************************** Message : (0x80072560) The user is not a member of the organization. [HTTP/1.1 403 Forbidden] Element : meet-up-demoFlow/processors/1 @ meet-up-demo:meet-up-demo.xml:20 (Retrieve multiple by query) Element DSL : <dynamics:retrieve-multiple-by-query doc:name="Retrieve multiple by query" doc:id="0639322e-77f8-4f4d-b6dc-47a106d10858" config- ref="Dynamics_365_Dynamics_365"> <dynamics:query>SELECT accountid FROM accounts</dynamics:query> </dynamics:retrieve-multiple-by-query> Error type : DYNAMICS:UNAUTHORIZED FlowStack : at meet-up-demoFlow(meet-up-demoFlow/processors/1 @ meet-up-demo:meet-up-demo.xml:20 (Retrieve multiple by query)) (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) ********************************************************************************
  • 32. 32 ● Let’s get back to Power Platform Admin Center (not Power Apps). ● Select the appropriate environment and select “Settings”. Create Application User
  • 33. 33 ● Select Application User. Create Application User (Continued)
  • 34. 34 ● Select the app that was created in Azure AD in earlier steps. ● Select appropriate business unit. ● Select appropriate security role per required permission and Create. Create Application User (Continued)
  • 35. Configure Microsoft Dynamics 365 Connector in Studio Integrating Microsoft Dynamics 365 CRM with MuleSoft
  • 36. 36 ● There are multiple Microsoft 365 Connectors available in Exchange. ● We will be using the 365 connector (not the CRM connector). Download Connector in Anypoint Studio
  • 37. 37 ● Endpoint: Your instance URL from Power platform admin center -> Environment. ● Proxy: Optional. ● Client ID: From Azure AD. ● Client Secret: From Azure AD. ● Token URL: https://login.microsoftonline.com/<tenant_id>/oa uth2/v2.0/token ○ Tenant ID: From Azure AD. ● Scopes: ○ <Endpoint> ++ “/.default” Configure OAuth Credentials Obtained
  • 39. Anypoint Studio (Different Read operations) DEMO
  • 40. 40 ● Retrieve Multiple By Query uses DSQL (Datasense Query Language) which is limited in scope but easy for quick development. ● Retrieve Multiple uses Web API URL. The same URL can be copy-pasted to and from Postman(or any Rest Client) and Studio. ● Web API Documentation: https://docs.microsoft.com/en-us/powerapps/developer/data- platform/webapi/query-data-web-api ● Documentation on a per Entity basis(Attributes, Operations, Restrictions, etc.): https://docs.microsoft.com/en-us/dynamics365/customerengagement/on- premises/developer/about-entity-reference?view=op-9-1 ● Audit Entity: https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web- api/audit?view=dynamics-ce-odata-9 ● Any lookup field which is supposed to be a part of $expand parameter, if mistakenly provided in $select, does not raise any error and is silently dropped from the response. ● MDynamics 365 CRM might return unwanted fields in the response even if not provided in either $select or $expand. This might break 1:1 synchronization integrations and has to be taken care of. Things to Remember
  • 41. 41 ● Any deletion of record in MDynamics 365 CRM is a hard-delete and no flag(Ex: IsDeleted for Salesforce) is maintained. To retrieve deleted records, enabling Audit and Querying Audit is an alternative. Things to Remember (Continued)
  • 44. 44 ● Share: ○ Share using the hashtag #MuleSoftMeetups ○ https://meetups.mulesoft.com/indore/ ● Feedback: ○ Fill out the survey feedback and suggest topics for upcoming events ○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program ○ You can contact us directly at indoremulesoftmeetup@gmail.com. What’s next?