Almanac
Microsoft/d365fsDynamics 365

Consultant-focused KB for Microsoft Dynamics 365 Field Service: implementation notes, gotchas, and configuration decisions beyond the official docs — across work orders, scheduling and dispatch, resource management, mobile app, asset management, inspections, IoT, Copilot, and administration.

9 versions · FEATURES.md
v9🤖 markdown-import3 days agomarkdown import
… 3 unchanged lines …
| Date | Change |
| ---- | ------ |
+ | 2026-10-29 | Added **[Rental operations: fleet items and work order requests](05-asset-management/feature-rental-operations.md)** (Public Preview) — finance-and-operations-led fleet items and the approve-before-execute work order request, the Asset Management solutions that must be removed first, and the dual-write map order. |
| 2026-10-15 | Added **[Migrating Field Service to a new environment](09-administration/feature-fs-migrate-environment.md)** — what carries over by migration type, RSO schedules that must be re-published, flows and connection references, Synapse Link and dual-write limits, and the post-migration validation checklist. |
| 2026-10-05 | Added **[Time Zone Agnostic Scheduling](02-scheduling-and-dispatch/feature-time-zone-agnostic-scheduling.md)** — UTC-normalised availability in the schedule assistant, for Location Agnostic requirements only; no crews, pools or promised windows, and quick scheduling and the availability API ignore it. |
| 2026-09-27 | Updated: **[RSO goals, scopes and optimisation schedules](02-scheduling-and-dispatch/feature-rso-goals-scopes-and-schedules.md)** — added the documented scope-size cap (resources × jobs must be under 5 million or the run times out) and a troubleshooting note that an unexpected resource or time reflects the goal's constraints/objective order, not an engine mistake. |
v8🤖 markdown-import2 weeks agomarkdown import
… 3 unchanged lines …
| Date | Change |
| ---- | ------ |
+ | 2026-10-15 | Added **[Migrating Field Service to a new environment](09-administration/feature-fs-migrate-environment.md)** — what carries over by migration type, RSO schedules that must be re-published, flows and connection references, Synapse Link and dual-write limits, and the post-migration validation checklist. |
| 2026-10-05 | Added **[Time Zone Agnostic Scheduling](02-scheduling-and-dispatch/feature-time-zone-agnostic-scheduling.md)** — UTC-normalised availability in the schedule assistant, for Location Agnostic requirements only; no crews, pools or promised windows, and quick scheduling and the availability API ignore it. |
| 2026-09-27 | Updated: **[RSO goals, scopes and optimisation schedules](02-scheduling-and-dispatch/feature-rso-goals-scopes-and-schedules.md)** — added the documented scope-size cap (resources × jobs must be under 5 million or the run times out) and a troubleshooting note that an unexpected resource or time reflects the goal's constraints/objective order, not an engine mistake. |
| 2026-09-24 | Updated: **[Designing the mobile offline profile](04-mobile-app/feature-mobile-offline-profile-design.md)** — Microsoft's updates to shipped sync filters now arrive **unpublished** for admin review (edited filters are skipped entirely, relationships update while keeping your changes), so every Field Service update leaves a review step nobody has diarised. Publishing profile changes creates an **active solution layer**, which matters for controlled environment promotion. Added the shipped five-minute sync intervals and the seven-day booking filter, and the profile-assignment check that precedes any filter debugging. |
v7🤖 markdown-import3 weeks agomarkdown import
… 3 unchanged lines …
| Date | Change |
| ---- | ------ |
+ | 2026-10-05 | Added **[Time Zone Agnostic Scheduling](02-scheduling-and-dispatch/feature-time-zone-agnostic-scheduling.md)** — UTC-normalised availability in the schedule assistant, for Location Agnostic requirements only; no crews, pools or promised windows, and quick scheduling and the availability API ignore it. |
| 2026-09-27 | Updated: **[RSO goals, scopes and optimisation schedules](02-scheduling-and-dispatch/feature-rso-goals-scopes-and-schedules.md)** — added the documented scope-size cap (resources × jobs must be under 5 million or the run times out) and a troubleshooting note that an unexpected resource or time reflects the goal's constraints/objective order, not an engine mistake. |
| 2026-09-24 | Updated: **[Designing the mobile offline profile](04-mobile-app/feature-mobile-offline-profile-design.md)** — Microsoft's updates to shipped sync filters now arrive **unpublished** for admin review (edited filters are skipped entirely, relationships update while keeping your changes), so every Field Service update leaves a review step nobody has diarised. Publishing profile changes creates an **active solution layer**, which matters for controlled environment promotion. Added the shipped five-minute sync intervals and the seven-day booking filter, and the profile-assignment check that precedes any filter debugging. |
| 2026-09-19 | Updated: **Scheduling Operations Agent** — plans can now run on a **recurrence** (hourly/daily/weekly/monthly, 30-minute minimum) as well as on demand; **Crew** resources are no longer unsupported; requirement dependencies are an always-enforced constraint; and a **Prefer Existing Bookings** objective is available in custom goals. Added a gotcha on recurring plans with auto-apply rewriting the board unattended. |
v6🤖 markdown-importlast monthmarkdown import
… 3 unchanged lines …
| Date | Change |
| ---- | ------ |
+ | 2026-09-27 | Updated: **[RSO goals, scopes and optimisation schedules](02-scheduling-and-dispatch/feature-rso-goals-scopes-and-schedules.md)** — added the documented scope-size cap (resources × jobs must be under 5 million or the run times out) and a troubleshooting note that an unexpected resource or time reflects the goal's constraints/objective order, not an engine mistake. |
| 2026-09-24 | Updated: **[Designing the mobile offline profile](04-mobile-app/feature-mobile-offline-profile-design.md)** — Microsoft's updates to shipped sync filters now arrive **unpublished** for admin review (edited filters are skipped entirely, relationships update while keeping your changes), so every Field Service update leaves a review step nobody has diarised. Publishing profile changes creates an **active solution layer**, which matters for controlled environment promotion. Added the shipped five-minute sync intervals and the seven-day booking filter, and the profile-assignment check that precedes any filter debugging. |
| 2026-09-19 | Updated: **Scheduling Operations Agent** — plans can now run on a **recurrence** (hourly/daily/weekly/monthly, 30-minute minimum) as well as on demand; **Crew** resources are no longer unsupported; requirement dependencies are an always-enforced constraint; and a **Prefer Existing Bookings** objective is available in custom goals. Added a gotcha on recurring plans with auto-apply rewriting the board unattended. |
| 2026-09-19 | New: **Booking-level restrictions in the Scheduling Operations Agent** (Public Preview) — per-booking **Optimization behavior** (Ignore / Optimize / Schedule if feasible / Do not move) and **Restrict to** (Arrival time / Shift / Resource / Resource + Arrival time) overriding status-level optimization methods; booking-level restrictions beat requirement-level **Must choose from**, **Ignore** still lets other work be scheduled over the booking, and the **Shift** restriction only applies to bookings already wholly inside a shift — Scheduling & Dispatch. |
v5🤖 markdown-importlast monthmarkdown import
… 3 unchanged lines …
| Date | Change |
| ---- | ------ |
+ | 2026-09-24 | Updated: **[Designing the mobile offline profile](04-mobile-app/feature-mobile-offline-profile-design.md)** — Microsoft's updates to shipped sync filters now arrive **unpublished** for admin review (edited filters are skipped entirely, relationships update while keeping your changes), so every Field Service update leaves a review step nobody has diarised. Publishing profile changes creates an **active solution layer**, which matters for controlled environment promotion. Added the shipped five-minute sync intervals and the seven-day booking filter, and the profile-assignment check that precedes any filter debugging. |
| 2026-09-19 | Updated: **Scheduling Operations Agent** — plans can now run on a **recurrence** (hourly/daily/weekly/monthly, 30-minute minimum) as well as on demand; **Crew** resources are no longer unsupported; requirement dependencies are an always-enforced constraint; and a **Prefer Existing Bookings** objective is available in custom goals. Added a gotcha on recurring plans with auto-apply rewriting the board unattended. |
| 2026-09-19 | New: **Booking-level restrictions in the Scheduling Operations Agent** (Public Preview) — per-booking **Optimization behavior** (Ignore / Optimize / Schedule if feasible / Do not move) and **Restrict to** (Arrival time / Shift / Resource / Resource + Arrival time) overriding status-level optimization methods; booking-level restrictions beat requirement-level **Must choose from**, **Ignore** still lets other work be scheduled over the booking, and the **Shift** restriction only applies to bookings already wholly inside a shift — Scheduling & Dispatch. |
| 2026-09-18 | Updated: **Designing the mobile offline profile** — corrected custom-control offline behaviour: a filtered-out row returns empty, but a table missing from the profile entirely can make the offline API unavailable and return an error. Added guidance to follow the API's own paging information rather than hard-coding one paging pattern. |
v4🤖 markdown-importlast monthmarkdown import
… 3 unchanged lines …
| Date | Change |
| ---- | ------ |
+ | 2026-09-19 | Updated: **Scheduling Operations Agent** — plans can now run on a **recurrence** (hourly/daily/weekly/monthly, 30-minute minimum) as well as on demand; **Crew** resources are no longer unsupported; requirement dependencies are an always-enforced constraint; and a **Prefer Existing Bookings** objective is available in custom goals. Added a gotcha on recurring plans with auto-apply rewriting the board unattended. |
| 2026-09-19 | New: **Booking-level restrictions in the Scheduling Operations Agent** (Public Preview) — per-booking **Optimization behavior** (Ignore / Optimize / Schedule if feasible / Do not move) and **Restrict to** (Arrival time / Shift / Resource / Resource + Arrival time) overriding status-level optimization methods; booking-level restrictions beat requirement-level **Must choose from**, **Ignore** still lets other work be scheduled over the booking, and the **Shift** restriction only applies to bookings already wholly inside a shift — Scheduling & Dispatch. |
| 2026-09-18 | Updated: **Designing the mobile offline profile** — corrected custom-control offline behaviour: a filtered-out row returns empty, but a table missing from the profile entirely can make the offline API unavailable and return an error. Added guidance to follow the API's own paging information rather than hard-coding one paging pattern. |
| 2026-09-10 | Initial backfill — 64 docs published across all 11 categories. |
v3🤖 markdown-importlast monthmarkdown import
- Published docs in the Dynamics 365 Field Service KB: Consultant-focused KB for Microsoft Dynamics 365 Field Service: implementation notes, gotchas, and configuration decisions beyond the official docs — across work orders, scheduling and dispatch, resource management, mobile app, asset management, inspections, IoT, Copilot, and administration. The daily monitor task adds a row here when it publishes or updates a doc. Browse the live KB at https://apps.pr1vacy.cloud/almanac/kb/d365fs.
+ Published docs in the Dynamics 365 Field Service KB: Consultant-focused KB for Microsoft Dynamics 365 Field Service: implementation notes, gotchas, and configuration decisions beyond the official docs — across work orders, scheduling and dispatch, resource management, mobile app, asset management, inspections, IoT, Copilot, and administration. The daily monitor task adds a row here when it publishes or updates a doc. Browse the live KB at https://365-almanac.app/kb/d365fs.
## 🆕 New & Updated
| Date | Change |
| ---- | ------ |
+ | 2026-09-19 | New: **Booking-level restrictions in the Scheduling Operations Agent** (Public Preview) — per-booking **Optimization behavior** (Ignore / Optimize / Schedule if feasible / Do not move) and **Restrict to** (Arrival time / Shift / Resource / Resource + Arrival time) overriding status-level optimization methods; booking-level restrictions beat requirement-level **Must choose from**, **Ignore** still lets other work be scheduled over the booking, and the **Shift** restriction only applies to bookings already wholly inside a shift — Scheduling & Dispatch. |
| 2026-09-18 | Updated: **Designing the mobile offline profile** — corrected custom-control offline behaviour: a filtered-out row returns empty, but a table missing from the profile entirely can make the offline API unavailable and return an error. Added guidance to follow the API's own paging information rather than hard-coding one paging pattern. |
| 2026-09-10 | Initial backfill — 64 docs published across all 11 categories. |
… 2 unchanged lines …
| Category | Docs |
| -------- | ---- |
| Work Orders | 7 |
- | Scheduling & Dispatch | 7 |
+ | Scheduling & Dispatch | 8 |
| Resource Management | 6 |
| Mobile App | 6 |
| Asset Management | 6 |
v2🤖 markdown-importlast monthmarkdown import
… 3 unchanged lines …
| Date | Change |
| ---- | ------ |
+ | 2026-09-18 | Updated: **Designing the mobile offline profile** — corrected custom-control offline behaviour: a filtered-out row returns empty, but a table missing from the profile entirely can make the offline API unavailable and return an error. Added guidance to follow the API's own paging information rather than hard-coding one paging pattern. |
| 2026-09-10 | Initial backfill — 64 docs published across all 11 categories. |
## By category
v1🤖 markdown-importlast monthmarkdown import
Initial version.