AFI AFI

Dynamics 365 Field Service

Estimated reading: 3 minutes Updated July 31, 2026

Dynamics 365 Field Service is Microsoft’s field service management platform built on Dataverse. It manages work orders, scheduling, resource booking, and service delivery. Advanced Form Integration creates Work Orders (and Service Requests) from your WordPress form submissions, so service requests flow directly into your dispatch pipeline.

Shared connection with Dynamics 365 CRM

Field Service runs on the same Dataverse instance as Dynamics 365 CRM. It reuses the connection you configure under AFI → Settings → Dynamics 365 CRM. No separate credentials are needed.

If you have not yet set up the Dynamics 365 CRM connection, follow the steps in the Dynamics 365 & Dataverse doc first.

Important: Your Application User’s security role needs Field Service module roles assigned (“Field Service – Administrator” or a custom role with write access to msdyn_workorder).

Create the integration

  1. Go to AFI → Add New.
  2. Give the integration a name, for example Service request form to Field Service.
  3. Under Trigger, pick the form plugin and the specific form.
  4. Under Action → Platform, select Dynamics 365 Field Service.
  5. In Task, choose Create Work Order or Create Service Request.
  6. Pick the same Dynamics 365 Account you configured for CRM.
  7. Map your form fields onto the work order fields listed below.
  8. Optional: open Conditional Logic to limit which submissions are sent.
  9. Click Save Integration.

Tasks supported

Create Work Order

Creates a work order on the msdyn_workorders entity. AFI resolves several Field Service catalog entities by name before sending:

  • Service Account (required): looks up an Account by name. The work order is bound via ms**************************@***ta.bind.
  • Primary Contact (optional): looks up a Contact by email.
  • Incident Type: looks up msdyn_incidenttype by name.
  • Work Order Type: looks up msdyn_workordertype by name.
  • Priority: looks up msdyn_priority by name.
Field Field key Required Notes
Service Account Name account_name Yes Looks up Account by name
Primary Contact Email contact_email No Looks up Contact by email
Subject / Title msdyn_subject Yes
Description msdyn_description No
Incident Type Name msdyn_incidenttype_name No Looks up msdyn_incidenttype
Work Order Type Name msdyn_workordertype_name No Looks up msdyn_workordertype
Priority Name msdyn_priority_name No Looks up msdyn_priority
Promised Window From msdyn_timefrompromised No ISO datetime
Promised Window To msdyn_timetopromised No ISO datetime
Service Window Start msdyn_datewindowstart No YYYY-MM-DD
Service Window End msdyn_datewindowend No YYYY-MM-DD
Work Site Address msdyn_address, msdyn_city, msdyn_stateorprovince, msdyn_postalcode, msdyn_country No Separate from Account address
Latitude / Longitude msdyn_latitude, msdyn_longitude No Decimal degrees
Instructions msdyn_workorderinstructions No
Estimated Duration msdyn_totalestimatedduration No Minutes (integer)

Create Service Request

Uses the same msdyn_workorders entity and the same field set. Kept as a separate task for clarity in the integration UI, so users can distinguish between full work orders and lighter service requests in their flow.

Pro features

The Pro integration adds a Custom Fields repeater. Map any custom column on the Work Order entity using the schema (logical) name as the key, for example new_truckroll or msdyn_customfield1.

Feature comparison

Feature Free Pro
Create work order / service request
Service Account resolution by name
Contact, Incident Type, Work Order Type, Priority lookups
Standard work order fields
Custom Dataverse fields on Work Order No

Conditional logic example

Only create work orders for emergency service requests. Add a condition on service_type being “emergency”. Routine maintenance requests go to a different integration that creates a lower-priority work order.

Troubleshooting

Work order not created

Open AFI → Log and check the response. Common causes: Service Account name does not match any Account in Dataverse (it must match exactly), or the Application User lacks the Field Service security role.

Incident Type / Work Order Type not resolved

AFI looks up these catalog entities by their msdyn_name field. Verify the name in your form submission exactly matches the name shown in the Field Service admin UI.

Related docs