Extend Connected Field Service solutions

Connected Field Service for Dynamics 365 supports the customization of each standard component or service and the easy addition of custom Azure-based components and services. This flexible architecture is required to support the wide range of current and future IoT devices and the envisioned supporting services for these devices.

Extend Azure Services

The Azure services and components, including the ones detailed in Connected Field Service architecture, are designed for reliability, scalability, and extensibility. They support management and customization through UI-based and PowerShell administration, JSON-based template-driven deployment and initialization, and REST-based programming interfaces (often including client libraries for specific languages, such as C#/.NET, Python, Java, and Node.js).

After the standard installation, Connected Field Services will configure your resource group with a set of Azure services similar to the following.

Connected Field Service Standard Azure Services

Although extending these Azure services (or adding additional ones) is beyond the scope of this topic, there are ample resources available to the developer, including the following from Microsoft:

Extend Connected Field Service

The following table lists the custom entities and processes that Connected Field Service supplies to interface with the associated Azure services and components. These types are more fully described in IoT Connector for Microsoft Dynamics 365.

Display Name (ID) Type Description
IoT – Debounce IoT Alerts (msdyn_ParentIoTAlerts) Action Links potential redundant alerts to an existing parent alert
IoT - Parent IoT Alerts Workflow Calls the IoT - Debounce IoT Alerts action and passes 60 for the TimespanSeconds parameter
IoT – Register Custom Entity (msdyn_RegisterCustomEntity) Action Registers any custom entity that may or may not already have connected IoT devices. This action invokes the IoT – Register Device action.
IoT – Register Device (msdyn_RegisterIoTDevice) Action Publishes the registration requests for an IoT device
IoT – Send Test Alert (msdyn_IoTSendTestAlert) Action Reserved for future use
JSON-based Field Value – Get Boolean (msdyn_JsonGetBoolean) Action Reads a Boolean property in the specified JSON object
JSON-based Field Value – Get Number (msdyn_JsonGetNumber) Action Reads a numeric property in the specified JSON object
JSON-based Field Value – Get String (msdyn_JsonGetString) Action Reads a string property in the specified JSON object
IoT Alert (msdyn_iotalert) Entity Represents a notable event sent from the associated IoT Hub
IoT Device (msdyn_iotdevice) Entity Represents a connected device that can be registered with a IoT Hub
IoT Device Category (msdyn_iotdevicecategory) Entity Represents a logical grouping of IoT devices
IoT Device Command (msdyn_iotdevicecommand) Entity Represents an outgoing message to a device connected to the IoT Hub
IoT Device Registration History (msdyn_iotdeviceregistrationhistory) Entity Tracks registration activities of an IoT device

IOT enabling an entity type

Dynamics 365 entities can be associated to IoT entities listed above so that within Dynamics 365 they can participate in IoT-related business processes and analyses. There are two methods of “IoT enabling” a Dynamics 365 entity; you can:

  • Programmatically form an association through the standard Dynamics 365 Connection entities capability. You can alternatively accomplish this same association through the administration UI; for more information, see Create connections to view relationships between records.

  • Call the IoT – Register Custom Entity action to associate an entity with an existing or new IoT Device.

    A common example of this capability is to associate a Customer Asset to an IoT Device.