ThingWorx Flow > Connectors Overview > System Connectors > Dynamics 365 CRM
  
Dynamics 365 CRM
Microsoft Dynamics 365 CRM is a cloud-based business application platform that combines components of Customer Relationship Management (CRM) and Enterprise Resource Planning (ERP), along with productivity applications and artificial intelligence tools.
CRM is a category of integrated, data-driven solutions that improve how you interact and do business with your customers. CRM systems and applications are designed to manage and maintain customer relationships, track engagements and sales, and deliver actionable data—all in one place.
CRM tools make the customer facing functions of business easier. They help the user to perform the following tasks:
Centralize customer information
Automate marketing interactions
Provide business intelligence
Facilitate communications
Track sales opportunities
Analyse data
Enable responsive customer service
With the Dynamics 365 CRM connector, you can perform read, create, update, and delete operations on entities, along with create, update, and delete operations on associations. You can execute Dynamics 365 CRM action and function imports.
To use the Dynamics 365 CRM actions, you need to authorize the connector by performing the steps give in the section that follows.
Connector Release Version
Dynamics 365 CRM connector was delivered in the 8.4.1 release.
Supported Actions
Create Association
Create Record
Delete Association
Delete Record
Execute Actions
Execute Functions
Get Records
Update Association
Update Record
Supported Triggers
New Account
New Contact
New Appointment
New Opportunity
New Lead
New Record
Update Record
Integration Services
Microsoft CRM
Supported Authorization
OAuth
* 
Before adding an OAuth connection, ensure that you follow the steps provided in Obtaining Client Id and Client Secrets for Dynamics 365 CRM.
Authorize Dynamics 365 CRM
Dynamics 365 CRM authorization has to be done for each Dynamics 365 CRM connector action. To authorize the Dynamics 365 CRM connector, do the following:
1. In the Authorize Dynamics 365 CRM field, select Add new Dynamics365 login. The Parameters window opens.
2. Enter the following parameters:
Tenant ID—Dynamics 365 CRM tenant id. If you do not have a tenant id, enter common.
Resource URL—Dynamics 365 CRM resource URL
Set Access—The User Impersonation check box is used to execute business logic (code) on behalf of another Dynamics 365 CRM user to provide a desired feature or service using the appropriate role and object-based security of that impersonated user.
3. Click ALLOW.
4. Enter your credentials, and then click Sign in.
5. Rename the Authorization Label, if needed and then click ADD. An authorization is added to the list.
* 
Click TEST to validate the authorization.
Example
Let us say we have a requirement to configure an alert to get customer asset status code, and then send an SMS to the operator.
1. Use ThingWorx trigger to configure an alert
2. Get customer asset status code using ThingWorx and Dynamics 365 CRM actions
3. Send an SMS to the operator using Twilio
Use ThingWorx Trigger to Configure an Alert
Let us set up a ThingWorx trigger that fires off each time a new alert is created in the ThingWorx account.
1. Place the pointer on the start icon, and then click or double-click the start icon. A list of triggers appears.
2. Select the ThingWorx trigger, and then create a new event. The ThingWorx trigger configuration window opens.
* 
If a trigger is already created, select the existing trigger, and then click SAVE. To create a new trigger, click Create a new event for ThingWorx, and then proceed with the steps further.
3. Enter the information in the trigger configuration window, and then click SAVE.
Get Customer Asset Status Code from ThingWorx and Dynamics 365 CRM
We will now configure the Get Thing Properties action in ThingWorx and Get Records action in Dynamics 365 CRM. Whenever a new alert is created, you get the customer asset code automatically. To configure the Get Thing Properties action and Get Records action, do the following:
1. Drag the Get Thing Properties action under the ThingWorx connector to the canvas, place the pointer on the action, and then click or double-click the action. The Get Thing Properties action window opens.
2. In the Get Thing Properties action window, enter the information that follows:
a. In the Find By list, select Selection.
b. In the Thing field, select a Thing on which the property is to be set. A list for first 500 items is displayed. To view more items, click LOAD MORE.
* 
For the Thing, Template, or Shape lookups, first 2000 items are queried and if the item that is searched for is not in the list, then apply an initial filtering to get the item in the result set.
c. In the Property field, select the assetId property to get the asset information.
d. Click Done.
3. Drag the Get Records action under the Dynamics 365 CRM connector to the canvas, place the pointer on the action, and then click or double-click the action. The Get Records action window opens.
4. In the Get Records action window, enter the information that follows:
a. In the Find By list, select Query.
b. In the Entity Set list, select Customer Asset.
c. In the Filters section, select a Join By operator as and.
d. Add a property to match the property value such that the Customer Asset ID equals {{$a0.DynamicsThing[0].assetId}}. You can map the DynamicsThing under the trigger data section to the property value field (shown in the above figure).
5. Click Done.
Send an SMS to the Operator using Twilio
We will configure the Send an SMS action in Twilio. Once you get the customer asset code, the operator is notified and receives an SMS. To configure the Send an SMS action, do the following:
1. Drag the Send an SMS action under the Twilio connector to the canvas, place the pointer over the action, and then click or double-click the action. The Send an SMS action window opens.
2. In the To Number field, enter the destination phone number with plus sign and country code. If you do not provide the plus sign and country code, Twilio uses the same country code from the From Number field.
3. In the From Number field, enter the Twilio phone number or alphanumeric sender ID enabled for the type of message to send. The phone numbers or short codes purchased from Twilio work here. For example, you cannot spoof messages from your own cell number.
4. In the Message field, enter the text message to send. You can map the Customer asset information under the trigger data to this field.
5. Click Done.
Customize Dynamics 365 CRM Connector
To customize the Dynamics 365 CRM connector, a metadata file is shipped with the Dynamics 365 CRM connector. Dynamics 365 supports various versions such as 8.3 and 9.0. If you wish to use a different metadata version, follow the steps provided in the Deploying Connectors section. The file format supported is XML.
The following is the schema definition for Dynamics 365 CRM customization:
"connectorid": "dynamics365",
"configschema": {
"$id": "https://example.com/person.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Dynamics365",
"type": "object",
"properties": {
"DynamicsApiVersion": {
"type": "string",
"description": "Dynamics API Version",
"default": "9.0"
},
"EntitySetDefinitions": {
"type": "array",
"description": "Entity Set Definitions",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Entity Set Name"
},
"label": {
"type": "string",
"description": "Entity Set Label"
},
"include": {
"type": "boolean",
"description": "Include in lookup"
},
"propertyDefinitions": {
"type": "array",
"description": "Array of Properties Definitions",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Property Name"
},
"label": {
"type": "string",
"description": "Property Label Value"
}
}
}
},
"relatedItems": {
"type": "array",
"description": "Related Items",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Related Item Name"
},
"label": {
"type": "string",
"description": "Related Item Label"
}
}
}
}
}
},
"default": [
{
"name": "accounts",
"include": true,
"label": "Account",
"propertyDefinitions": [
{
"name": "accountid",
"label": "Account ID"
},
{
"name": "accountnumber",
"label": "Account Number"
}
{
"name": "msdyn_customerassets",
"label": "Customer Asset",
"include": true,
"propertyDefinitions": [
{
"name": "msdyn_customerassetid",
"label": "Customer Asset ID"
},
{
"name": "msdyn_name",
"label": "Name"
},
{
"name": "_msdyn_account_value",
"label": "Account"
},
"fileschema": {
"DynamicsMetadata": {
"contenttype": "application/xml"
}
The Custom Settings.json file is as follows:
{
"DynamicsApiVersion": "9.0",
"EntitySetDefinitions": [
{
"name": "accounts",
"include": true,
"label": "Account",
"propertyDefinitions": [
{
"name": "accountid",
"label": "Account ID"
},
{
"name": "accountnumber",
"label": "Account Number"
},
{
"name": "name",
"label": "Account Name"
},
{
"name": "telephone1",
"label": "Phone"
},
{
"name": "fax",
"label": "Fax"
},
{
"name": "websiteurl",
"label": "Website"
},
{
"name": "_parentaccountid_value",
"label": "Parent Account"
},
{
"name": "tickersymbol",
"label": "Ticker Symbol"
},
{
"name": "customertypecode",
"label": "Relationship Type"
},
{
"name": "_defaultpricelevelid_value",
"label": "Product Price List"
},
{
"name": "address1_addressid",
"label": "Address 1 ID"
},
{
"name": "address1_line1",
"label": "Street 1"
},
{
"name": "address1_line2",
"label": "Street 2"
},
{
"name": "address1_line3",
"label": "Street 3"
},
{
"name": "address1_city",
"label": "City"
},
{
"name": "address1_stateorprovince",
"label": "State/Province"
},
{
"name": "address1_postalcode",
"label": "ZIP/Postal Code"
},
{
"name": "address1_country",
"label": "Country/Region"
},
{
"name": "revenue",
"label": "Annual Revenue"
},
{
"name": "numberofemployees",
"label": "Number of Employees"
},
{
"name": "_ownerid_value",
"label": "Owner"
},
{
"name": "_primarycontactid_value",
"label": "Primary Contact"
},
{
"name": "industrycode",
"label": "Industry"
},
{
"name": "sic",
"label": "SIC Code"
},
{
"name": "ownershipcode",
"label": "Ownership"
},
{
"name": "description",
"label": "Description"
},
{
"name": "preferredcontactmethodcode",
"label": "Contact Method"
},
{
"name": "donotbulkemail",
"label": "Do not allow Bulk Emails"
},
{
"name": "donotemail",
"label": "Do not allow Emails"
},
{
"name": "donotphone",
"label": "Do not allow Phone Calls"
},
{
"name": "donotfax",
"label": "Do not allow Faxes"
},
{
"name": "donotpostalmail",
"label": "Do not allow Mails"
},
{
"name": "_transactioncurrencyid_value",
"label": "Currency"
},
{
"name": "creditlimit",
"label": "Credit Limit"
},
{
"name": "creditonhold",
"label": "Credit Hold"
},
{
"name": "paymenttermscode",
"label": "Payment Terms"
},
{
"name": "shippingmethodcode",
"label": "Shipping Method"
},
{
"name": "address1_freighttermscode",
"label": "Freight Terms"
},
{
"name": "_msdyn_billingaccount_value",
"label": "Billing Account"
},
{
"name": "msdyn_taxexempt",
"label": "Tax Exempt"
},
{
"name": "_msdyn_salestaxcode_value",
"label": "Sales Tax Code"
},
{
"name": "_msdyn_serviceterritory_value",
"label": "Service Territory"
},
{
"name": "msdyn_travelchargetype",
"label": "Travel Charge Type"
},
{
"name": "msdyn_workorderinstructions",
"label": "Work Order Instructions"
},
{
"name": "address1_latitude",
"label": "Latitude"
},
{
"name": "address1_longitude",
"label": "Longitude"
}
],
"relatedItems": []
},
{
"name": "msdyn_customerassets",
"label": "Customer Asset",
"include": true,
"propertyDefinitions": [
{
"name": "msdyn_customerassetid",
"label": "Customer Asset ID"
},
{
"name": "msdyn_name",
"label": "Name"
},
{
"name": "_msdyn_account_value",
"label": "Account"
},
{
"name": "_msdyn_parentasset_value",
"label": "Parent Asset"
},
{
"name": "_msdyn_masterasset_value",
"label": "Master Asset"
},
{
"name": "_msdyn_product_value",
"label": "Product"
},
{
"name": "_msdyn_workorderproduct_value",
"label": "Work Order Product"
},
{
"name": "_ownerid_value",
"label": "Owner"
}
],
"relatedItems": []
},
{
"name": "msdyn_workorders",
"label": "Work Order",
"include": true,
"propertyDefinitions": [
{
"name": "msdyn_workorderid",
"label": "Work Order ID"
},
{
"name": "msdyn_name",
"label": "Work Order Number"
},
{
"name": "_msdyn_serviceaccount_value",
"label": "Service Account"
},
{
"name": "_msdyn_billingaccount_value",
"label": "Billing Account"
},
{
"name": "_msdyn_primaryincidenttype_value",
"label": "Primary Incident Type"
},
{
"name": "_msdyn_priority_value",
"label": "Priority"
},
{
"name": "_msdyn_workordertype_value",
"label": "Work Order Type"
},
{
"name": "msdyn_systemstatus",
"label": "System Status"
},
{
"name": "_msdyn_substatus_value",
"label": "Sub-Status"
},
{
"name": "msdyn_workordersummary",
"label": "Work Order Summary"
},
{
"name": "_msdyn_primaryincidenttype_value",
"label": "Primary Incident Type"
},
{
"name": "msdyn_primaryincidentdescription",
"label": "Primary Incident Description"
},
{
"name": "msdyn_primaryincidentestimatedduration",
"label": "Primary Incident Estimated Duration"
},
{
"name": "_msdyn_customerasset_value",
"label": "Primary Incident Customer Asset"
},
{
"name": "msdyn_estimatesubtotalamount",
"label": "Estimate Subtotal Amount"
},
{
"name": "msdyn_subtotalamount",
"label": "Subtotal Amount"
},
{
"name": "msdyn_totalsalestax",
"label": "Total Sales Tax"
},
{
"name": "msdyn_totalamount",
"label": "Total Amount"
},
{
"name": "_msdyn_pricelist_value",
"label": "Price List"
},
{
"name": "msdyn_worklocation",
"label": "Work Location"
},
{
"name": "_msdyn_serviceterritory_value",
"label": "Service Territory"
},
{
"name": "_transactioncurrencyid_value",
"label": "Currency"
},
{
"name": "msdyn_instructions",
"label": "Instructions"
},
{
"name": "_msdyn_reportedbycontact_value",
"label": "Reported By Contact"
},
{
"name": "msdyn_timefrompromised",
"label": "Time From Promised"
},
{
"name": "msdyn_timetopromised",
"label": "Time To Promised"
},
{
"name": "msdyn_datewindowstart",
"label": "Date Window Start"
},
{
"name": "msdyn_datewindowend",
"label": "Date Window End"
},
{
"name": "msdyn_timewindowstart",
"label": "Time Window Start"
},
{
"name": "msdyn_timewindowend",
"label": "Time Window End"
},
{
"name": "_msdyn_timegroup_value",
"label": "Time Group"
},
{
"name": "msdyn_taxable",
"label": "Taxable"
},
{
"name": "_msdyn_parentworkorder_value",
"label": "Parent Work Order"
},
{
"name": "_msdyn_agreement_value",
"label": "Agreement"
},
{
"name": "_msdyn_opportunityid_value",
"label": "Opportunity"
},
{
"name": "_msdyn_servicerequest_value",
"label": "Case"
},
{
"name": "msdyn_timeclosed",
"label": "Closed On"
},
{
"name": "_msdyn_closedby_value",
"label": "Closed By"
},
{
"name": "_ownerid_value",
"label": "Owner"
},
{
"name": "msdyn_addressname",
"label": "Address Name"
},
{
"name": "msdyn_address1",
"label": "Address 1"
},
{
"name": "msdyn_address2",
"label": "Address 2"
},
{
"name": "msdyn_address3",
"label": "Address 3"
},
{
"name": "msdyn_city",
"label": "City"
},
{
"name": "msdyn_stateorprovince",
"label": "State Or Province"
},
{
"name": "msdyn_postalcode",
"label": "Postal Code"
},
{
"name": "msdyn_country",
"label": "Country/Region"
},
{
"name": "msdyn_latitude",
"label": "Latitude"
},
{
"name": "msdyn_longitude",
"label": "Longitude"
}
],
"relatedItems": []
},
{
"name": "msdyn_workorderservices",
"label": "Work Order Service",
"include": true,
"propertyDefinitions": [
{
"name": "msdyn_workorderserviceid",
"label": "Work Order Service ID"
},
{
"name": "_msdyn_service_value",
"label": "Service"
},
{
"name": "_msdyn_unit_value",
"label": "Unit"
},
{
"name": "msdyn_taxable",
"label": "Taxable"
},
{
"name": "_msdyn_pricelist_value",
"label": "Price List"
},
{
"name": "msdyn_linestatus",
"label": "Line Status"
},
{
"name": "msdyn_description",
"label": "Description"
},
{
"name": "msdyn_internaldescription",
"label": "Internal Description"
},
{
"name": "msdyn_estimateduration",
"label": "Estimate Duration"
},
{
"name": "msdyn_estimatediscountpercent",
"label": "Estimate Discount %"
},
{
"name": "msdyn_estimatediscountamount",
"label": "Estimate Discount Amount"
},
{
"name": "msdyn_estimateunitamount",
"label": "Estimate Unit Amount"
},
{
"name": "msdyn_estimateunitcost",
"label": "Estimate Unit Cost"
},
{
"name": "msdyn_estimatetotalcost",
"label": "Estimate Total Cost"
},
{
"name": "msdyn_duration",
"label": "Duration"
},
{
"name": "msdyn_unitamount",
"label": "Unit Amount"
},
{
"name": "msdyn_discountpercent",
"label": "Discount %"
},
{
"name": "msdyn_durationtobill",
"label": "Duration To Bill"
},
{
"name": "msdyn_subtotal",
"label": "Subtotal"
},
{
"name": "msdyn_discountamount",
"label": "Discount Amount"
},
{
"name": "msdyn_minimumchargeduration",
"label": "Minimum Charge Duration"
},
{
"name": "msdyn_minimumchargeamount",
"label": "Minimum Charge Amount"
},
{
"name": "_msdyn_workorder_value",
"label": "Work Order"
},
{
"name": "_msdyn_workorderincident_value",
"label": "Work Order Incident"
},
{
"name": "msdyn_booking",
"label": "Booking"
},
{
"name": "msdyn_customerasset",
"label": "Customer Asset"
},
{
"name": "msdyn_unitcost",
"label": "Unit Cost"
},
{
"name": "msdyn_commissioncosts",
"label": "Commission Costs"
},
{
"name": "msdyn_additionalcost",
"label": "Additional Cost"
},
{
"name": "msdyn_name",
"label": "Name"
},
{
"name": "msdyn_lineorder",
"label": "Line Order"
},
{
"name": "_ownerid_value",
"label": "Owner"
}
],
"relatedItems": []
},
{
"name": "msdyn_workorderincidents",
"label": "Work Order Incident",
"include": true,
"propertyDefinitions": [
{
"name": "msdyn_workorderincidentid",
"label": "Work Order Incident ID"
},
{
"name": "msdyn_name",
"label": "Name"
},
{
"name": "_msdyn_incidenttype_value",
"label": "Incident Type"
},
{
"name": "_msdyn_customerasset_value",
"label": "Customer Asset"
},
{
"name": "msdyn_estimatedduration",
"label": "Estimated Duration"
},
{
"name": "msdyn_description",
"label": "Description"
},
{
"name": "_ownerid_value",
"label": "Owner"
},
{
"name": "_msdyn_workorder_value",
"label": "Work Order"
},
{
"name": "msdyn_isprimary",
"label": "Is Primary"
},
{
"name": "msdyn_incidentresolved",
"label": "Incident Resolved "
},
{
"name": "msdyn_itemspopulated",
"label": "Items Populated"
}
],
"relatedItems": []
},
{
"name": "msdyn_workorderproducts",
"label": "Work Order Product",
"include": true,
"propertyDefinitions": [
{
"name": "msdyn_workorderproductid",
"label": "Work Order Product ID"
},
{
"name": "_msdyn_product_value",
"label": "Product"
},
{
"name": "_msdyn_unit_value",
"label": "Unit"
},
{
"name": "msdyn_taxable",
"label": "Taxable"
},
{
"name": "_msdyn_pricelist_value",
"label": "Price List"
},
{
"name": "msdyn_linestatus",
"label": "Line Status"
},
{
"name": "msdyn_allocated",
"label": "Allocated"
},
{
"name": "msdyn_description",
"label": "Description"
},
{
"name": "msdyn_internaldescription",
"label": "Internal Description"
},
{
"name": "msdyn_estimatequantity",
"label": "Estimate Quantity"
},
{
"name": "msdyn_estimateunitamount",
"label": "Estimate Unit Amount"
},
{
"name": "msdyn_estimatediscountpercent",
"label": "Estimate Discount %"
},
{
"name": "msdyn_estimatediscountamount",
"label": "Estimate Discount Amount"
},
{
"name": "msdyn_estimateunitcost",
"label": "Estimate Unit Cost"
},
{
"name": "_msdyn_workorder_value",
"label": "Work Order"
},
{
"name": "_msdyn_workorderincident_value",
"label": "Work Order Incident"
},
{
"name": "_msdyn_booking_value",
"label": "Booking"
},
{
"name": "_msdyn_customerasset_value",
"label": "Customer Asset"
},
{
"name": "msdyn_name",
"label": "Name"
},
{
"name": "_transactioncurrencyid_value",
"label": "Currency"
},
{
"name": "_msdyn_warehouse_value",
"label": "Warehouse"
},
{
"name": "_ownerid_value",
"label": "Owner"
},
{
"name": "msdyn_lineorder",
"label": "Line Order"
}
],
"relatedItems": []
},
{
"name": "msdyn_workorderservicetasks",
"label": "Work Order Service Task",
"include": true,
"propertyDefinitions": [
{
"name": "msdyn_workorderservicetaskid",
"label": "Work Order Service Task ID"
},
{
"name": "_msdyn_tasktype_value",
"label": "Task Type"
},
{
"name": "msdyn_name",
"label": "Name"
},
{
"name": "_ownerid_value",
"label": "Owner"
},
{
"name": "msdyn_lineorder",
"label": "Line Order"
},
{
"name": "msdyn_description",
"label": "Description"
},
{
"name": "msdyn_estimatedduration",
"label": "Estimated Duration"
},
{
"name": "msdyn_percentcomplete",
"label": "% Complete"
},
{
"name": "msdyn_actualduration",
"label": "Actual Duration"
},
{
"name": "_msdyn_workorderincident_value",
"label": "Work Order Incident"
},
{
"name": "_msdyn_customerasset_value",
"label": "Customer Asset"
},
{
"name": "_msdyn_workorder_value",
"label": "Work Order"
},
{
"name": "msdyn_booking",
"label": "Booking"
}
],
"relatedItems": []
},
{
"name": "appointments",
"label": "Appointment",
"include": true,
"propertyDefinitions": [
{
"name": "activityid",
"label": "Appointment ID"
},
{
"name": "subject",
"label": "Subject"
},
{
"name": "location",
"label": "Location"
},
{
"name": "_regardingobjectid_value",
"label": "Regarding"
},
{
"name": "scheduledstart",
"label": "Start Time"
},
{
"name": "scheduledend",
"label": "End Time"
},
{
"name": "isalldayevent",
"label": "All Day Event"
},
{
"name": "scheduleddurationminutes",
"label": "Duration"
},
{
"name": "description",
"label": "Description"
},
{
"name": "prioritycode",
"label": "Priority"
},
{
"name": "statecode",
"label": "Status"
},
{
"name": "_ownerid_value",
"label": "Owner"
}
],
"relatedItems": []
},
{
"name": "contacts",
"label": "Contact",
"include": true,
"propertyDefinitions": [
{
"name": "contactid",
"label": "Contact ID"
},
{
"name": "First Name",
"label": "firstname"
},
{
"name": "lastname",
"label": "Last Name"
},
{
"name": "jobtitle",
"label": "Job Title"
},
{
"name": "_accountid_value",
"label": "Account Name"
},
{
"name": "emailaddress1",
"label": "Email"
},
{
"name": "telephone1",
"label": "Business Phone"
},
{
"name": "mobilephone",
"label": "Mobile Phone"
},
{
"name": "fax",
"label": "Fax"
},
{
"name": "preferredcontactmethodcode",
"label": "Preferred Method of Contact"
},
{
"name": "address1_line1",
"label": "Street 1"
},
{
"name": "address1_line2",
"label": "Street 2"
},
{
"name": "address1_line3",
"label": "Street 3"
},
{
"name": "address1_city",
"label": "City"
},
{
"name": "address1_stateorprovince",
"label": "State/Province"
},
{
"name": "address1_postalcode",
"label": "ZIP/Postal Code"
},
{
"name": "address1_country",
"label": "Country/Region"
},
{
"name": "_ownerid_value",
"label": "Owner"
},
{
"name": "gendercode",
"label": "Gender"
},
{
"name": "familystatuscode",
"label": "Marital Status"
},
{
"name": "spousesname",
"label": "Spouse/Partner Name"
},
{
"name": "birthdate",
"label": "Birthday"
},
{
"name": "anniversary",
"label": "Anniversary"
},
{
"name": "description",
"label": "Description"
},
{
"name": "_originatingleadid_value",
"label": "Originating Lead"
},
{
"name": "donotsendmm",
"label": "Send Marketing Materials"
},
{
"name": "_transactioncurrencyid_value",
"label": "Currency"
},
{
"name": "creditlimit",
"label": "Credit Limit"
},
{
"name": "creditonhold",
"label": "Credit Hold"
},
{
"name": "paymenttermscode",
"label": "Payment Terms"
},
{
"name": "address1_shippingmethodcode",
"label": "Shipping Method"
},
{
"name": "address1_freighttermscode",
"label": "Freight Terms"
},
{
"name": "preferredcontactmethodcode",
"label": "Preferred Method of Contact"
},
{
"name": "donotemail",
"label": "Do not allow Emails"
},
{
"name": "followemail",
"label": "Follow Email Activity"
},
{
"name": "donotbulkemail",
"label": "Do not allow Bulk Emails"
},
{
"name": "donotphone",
"label": "Do not allow Phone Calls"
},
{
"name": "donotfax",
"label": "Do not allow Faxes"
},
{
"name": "donotpostalmail",
"label": "Do not allow Mails"
}
],
"relatedItems": []
},
{
"name": "leads",
"label": "Lead",
"include": true,
"propertyDefinitions": [
{
"name": "leadid",
"label": "Lead ID"
},
{
"name": "subject",
"label": "Topic"
},
{
"name": "firstname",
"label": "First Name"
},
{
"name": "lastname",
"label": "Last Name"
},
{
"name": "jobtitle",
"label": "Job Title"
},
{
"name": "telephone1",
"label": "Business Phone"
},
{
"name": "mobilephone",
"label": "Mobile Phone"
},
{
"name": "emailaddress1",
"label": "Email"
},
{
"name": "companyname",
"label": "Company Name"
},
{
"name": "websiteurl",
"label": "Website"
},
{
"name": "address1_line1",
"label": "Street 1"
},
{
"name": "address1_line2",
"label": "Street 2"
},
{
"name": "address1_line3",
"label": "Street 3"
},
{
"name": "address1_city",
"label": "City"
},
{
"name": "address1_stateorprovince",
"label": "State/Province"
},
{
"name": "address1_postalcode",
"label": "ZIP/Postal Code"
},
{
"name": "address1_country",
"label": "Country/Region"
},
{
"name": "description",
"label": "Description"
},
{
"name": "industrycode",
"label": "Industry"
},
{
"name": "revenue",
"label": "Annual Revenue"
},
{
"name": "numberofemployees",
"label": "No. of Employees"
},
{
"name": "sic",
"label": "SIC Code"
},
{
"name": "_transactioncurrencyid_value",
"label": "Currency"
},
{
"name": "msdyn_ordertype",
"label": "Type"
},
{
"name": "_campaignid_value",
"label": "Source Campaign"
},
{
"name": "donotsendmm",
"label": "Marketing Material"
},
{
"name": "preferredcontactmethodcode",
"label": "Preferred Method of Contact"
},
{
"name": "donotemail",
"label": "Do not allow Emails"
},
{
"name": "donotbulkemail",
"label": "Do not allow Bulk Emails"
},
{
"name": "donotphone",
"label": "Do not allow Phone Calls"
},
{
"name": "donotpostalmail",
"label": "Do not allow Mails"
},
{
"name": "leadsourcecode",
"label": "Lead Source"
},
{
"name": "leadqualitycode",
"label": "Rating"
},
{
"name": "statuscode",
"label": "Status Reason"
},
{
"name": "_ownerid_value",
"label": "Owner"
},
{
"name": "_accountid_value",
"label": "Existing Account"
},
{
"name": "_contactid_value",
"label": "Existing Contact"
},
{
"name": "purchasetimeframe",
"label": "Purchase Timeframe"
},
{
"name": "budgetamount",
"label": "Budget Amount"
},
{
"name": "purchaseprocess",
"label": "Purchase Process"
},
{
"name": "decisionmaker",
"label": "Identify Decision Maker"
}
],
"relatedItems": []
},
{
"name": "opportunities",
"label": "Opportunity",
"include": true,
"propertyDefinitions": [
{
"name": "opportunityid",
"label": "Opportunity ID"
},
{
"name": "_contactid_value",
"label": "Identify Contact"
},
{
"name": "_accountid_value",
"label": "Identify Account"
},
{
"name": "purchasetimeframe",
"label": "Purchase Timeframe"
},
{
"name": "salesstage",
"label": "Sales Stage"
},
{
"name": "budgetamount",
"label": "Estimated Budget"
},
{
"name": "purchaseprocess",
"label": "Purchase Process"
},
{
"name": "decisionmaker",
"label": "Identify Decision Maker"
},
{
"name": "name",
"label": "Topic"
},
{
"name": "_transactioncurrencyid_value",
"label": "Currency"
},
{
"name": "description",
"label": "Description"
},
{
"name": "closeprobability",
"label": "Probability"
},
{
"name": "currentsituation",
"label": "Current Situation"
},
{
"name": "customerneed",
"label": "Customer Need"
},
{
"name": "proposedsolution",
"label": "Proposed Solution"
},
{
"name": "_pricelevelid_value",
"label": "Price List"
},
{
"name": "isrevenuesystemcalculated",
"label": "Revenue"
},
{
"name": "discountpercentage",
"label": "Opportunity Discount (%)"
},
{
"name": "discountamount",
"label": "Opportunity Discount Amount"
},
{
"name": "freightamount",
"label": "Freight Amount"
},
{
"name": "_msdyn_workordertype_value",
"label": "Work Order Type"
},
{
"name": "customerneed",
"label": "Customer Need"
},
{
"name": "identifycustomercontacts",
"label": "Identify Customer Contacts"
},
{
"name": "identifycompetitors",
"label": "Identify Competitors"
},
{
"name": "identifypursuitteam",
"label": "Identify Sales Team"
},
{
"name": "developproposal",
"label": "Develop Proposal"
},
{
"name": "completeinternalreview",
"label": "Complete Internal Review"
},
{
"name": "presentproposal",
"label": "Presented Proposal"
},
{
"name": "presentfinalproposal",
"label": "Present Final Proposal"
},
{
"name": "sendthankyounote",
"label": "Send Thank You Note"
},
{
"name": "filedebrief",
"label": "File Debrief"
},
{
"name": "finaldecisiondate",
"label": "Final Decision Date"
},
{
"name": "estimatedclosedate",
"label": "Est. Close Date"
},
{
"name": "estimatedvalue",
"label": "Est. Revenue"
}
],
"relatedItems": []
},
{
"name": "bookableresourcebookings",
"label": "Bookable Resource Booking",
"include": true,
"propertyDefinitions": [
{
"name": "bookableresourcebookingid",
"label": "Bookable Resource Booking ID"
},
{
"name": "name",
"label": "Name"
},
{
"name": "starttime",
"label": "Start Time"
},
{
"name": "endtime",
"label": "End Time"
},
{
"name": "duration",
"label": "Duration"
},
{
"name": "_resource_value",
"label": "Resource"
},
{
"name": "_bookingstatus_value",
"label": "Booking Status"
},
{
"name": "bookingtype",
"label": "Booking Type"
},
{
"name": "_msdyn_resourcerequirement_value",
"label": "Resource Requirement"
},
{
"name": "msdyn_estimatedarrivaltime",
"label": "Estimated Arrival Time"
},
{
"name": "msdyn_actualarrivaltime",
"label": "Actual Arrival Time"
},
{
"name": "msdyn_estimatedtravelduration",
"label": "Estimated Travel Duration"
},
{
"name": "msdyn_actualtravelduration",
"label": "Actual Travel Duration"
},
{
"name": "msdyn_milestraveled",
"label": "Miles Traveled"
},
{
"name": "msdyn_allowoverlapping",
"label": "Allow Overlapping"
},
{
"name": "msdyn_bookingmethod",
"label": "Booking Method"
},
{
"name": "_msdyn_resourcegroup_value",
"label": "Resource Group"
},
{
"name": "msdyn_latitude",
"label": "Latitude"
},
{
"name": "msdyn_longitude",
"label": "Longitude"
},
{
"name": "_msdyn_workorder_value",
"label": "Work Order"
},
{
"name": "msdyn_totalcost",
"label": "Total Cost"
},
{
"name": "msdyn_totalbillableduration",
"label": "Total Billable Duration"
},
{
"name": "msdyn_totaldurationinprogress",
"label": "Total Duration In Progress"
},
{
"name": "msdyn_totalbreakduration",
"label": "Total Break Duration"
}
],
"relatedItems": []
},
{
"name": "invoices",
"label": "Invoice",
"include": true,
"propertyDefinitions": [],
"relatedItems": []
}
]
}
configschema
This package defines a schema when loading the configuration files. These schemas are used to process a configuration file, or to automatically generate documentation for the file format. For example, the API URL is shown in the code that follows:
"configschema": {
"$id": "https://example.com/person.schema.json",
"$schema": https://<domainname>/api/data/v9.0/$metadata",
"title": "Dynamics365",
"type": "object",
DynamicsApiVersion
Accepts strings, API version default value is configured as 9.0
EntitySetDefinitions
Entity Sets that you want to display or perform operations on.
propertyDefinitions
Represents the base class for all property definition classes. A property definition is created from a property template and holds mutable property metadata. Each property definition class corresponds to a specific property data type. It can be customized for display purposes, to control the properties. If no properties are defined, then all the properties are displayed from the entity set. PropertyDefinitions does not apply to Execute Actions and Execute Functions.
For example, if you apply the label Account ID and Account number for get properties action, those properties are displayed on the UI. All unbound actions and functions will always be visible. All bound actions and functions bound to an entity set will be visible. Those entity sets will be derived from the entity set definition from the settings.
relatedItems
Navigation properties, accounts has email, contacts, you can limit the navigation properties using the related items. relatedItems: [] empty: all related items will be included.
fileschema
Allows you to upload a config file for your connector. In case of Dynamics, it is DynamicsMetadata and the version is 9.0