Field Service IoT integration was promoted heavily at launch, then went quiet. It still works, it still ships, and the few orgs running it are seeing 30%+ reductions in unplanned visits. The architecture is not what Microsoft’s marketing diagrams suggest.
What the integration actually is
A Connected Field Service deployment ingests device telemetry through Azure IoT Hub, applies rule-based or ML-based logic, and creates work orders in Dynamics 365 Field Service when conditions warrant a visit. The integration ships an Azure deployment template, a Power Automate flow, and a set of D365 entities (IoT Alert, IoT Device, IoT Device Command).
The architectural temptation to resist
The marketing diagram shows every device sending telemetry directly to D365. Do not do this. Dataverse is not a time-series database and your storage costs will be brutal.
The correct topology:
Device -> IoT Hub -> Stream Analytics (windowed aggregation + threshold)
-> Cosmos DB or ADX (raw history retention)
-> D365 Field Service (only when an alert condition fires)
Only alerts and aggregates land in D365. Raw telemetry lives in cheaper storage.
The work order creation rule
IoT Alert records create work orders only when a Power Automate flow or a rule fires the conversion. The default setup converts every alert one-to-one, which floods the dispatch board. Add throttling: collapse multiple alerts on the same asset within a 30-minute window into a single work order.
Asset hierarchy is non-negotiable
Connected Field Service assumes every IoT device maps to a Customer Asset record with a hierarchy (compressor -> pump -> motor). Without that hierarchy, alerts cannot be aggregated meaningfully and dispatchers cannot triage. Build the asset model before you ingest a single telemetry point.
Commands back to devices
The integration supports sending commands to devices (restart, change setpoint) from the work order. This is the underused half of the system. A first-line technician can resolve 20-30% of alerts remotely via commands without dispatch. Surface a “Try Remote Restart” button on the work order form before the dispatch step.
The ML upgrade path
Threshold rules in Stream Analytics catch obvious failures. Predictive maintenance needs Azure Machine Learning training on historical telemetry plus failure outcomes. The ML model scores each device daily and writes a risk score back to D365. Work orders are then created proactively for high-risk devices, not reactively for failed ones.
Cost reality
Azure IoT Hub at 1M messages/day costs around $50/month. Stream Analytics is the larger line item at $80-150/SU/month. Storage in ADX scales linearly. D365 Field Service license per dispatcher and per first-line technician is the dominant cost. Model end-to-end before approving the program.
What to do this week
If you have a Field Service deployment without IoT, list the top 10 asset types by service call volume. Any of them with embedded telemetry capability is a candidate for a 90-day connected pilot.