Dynamics 365 Field Service
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
- Go to AFI → Add New.
- Give the integration a name, for example
Service request form to Field Service. - Under Trigger, pick the form plugin and the specific form.
- Under Action → Platform, select Dynamics 365 Field Service.
- In Task, choose Create Work Order or Create Service Request.
- Pick the same Dynamics 365 Account you configured for CRM.
- Map your form fields onto the work order fields listed below.
- Optional: open Conditional Logic to limit which submissions are sent.
- 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_incidenttypeby name. - Work Order Type: looks up
msdyn_workordertypeby name. - Priority: looks up
msdyn_priorityby 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.