Configure offline capabilities in the Field Service (Dynamics 365) mobile app
Often frontline workers need to work in areas without internet access like remote areas or underground. Configure offline capabilities to allow frontline workers to continue using the Field Service (Dynamics 365) mobile app when there is no internet connection.
With offline capabilities, important data is downloaded to the device for viewing when there is no internet, and updates made by the frontline workers are stored locally on the device and synced to the server when internet connection is restored.
Configuring offline capabilities creates a fast and consistent experience and is strongly recommended.
Administrators can control what data is downloaded to the Field Service (Dynamics 365) mobile app with the offline profile.
Configure offline capabilities in four steps:
- Set up an offline profile (one exists by default).
- Add users to the offline profile.
- Edit and publish the offline profile as needed.
- Add the offline profile to the Field Service mobile model-driven app.
For a guided walkthrough, check out the following video.
Step 1: Set up an offline profile
Offline record types, relationships, and user assignments are managed through your Offline Profile.
Within your offline profile you can:
- Define record types that are available offline and their sync interval.
- Define filters for each record type. For example, by default only bookings that start within the next seven days are downloaded to the device.
- Set up item association by creating relationships between entities. Item association saves time because you won't need to set filters for every record type; you can associate related record types that follow filters set on the related record type.
Go to the Power Platform admin center at https://admin.powerplatform.microsoft.com/, and find and select your environment.
Select Settings at the top.
Go to Users + permissions section > Mobile configuration.
Field Service provides an out-of-the-box offline profile called Field Service Mobile - Offline Profile with recommended default settings for Field Service record types.
Implementation guidance for the offline profile:
Use the offline profile included with Field Service. The default Field Service Mobile - Offline Profile provides an ideal starting point for offline configuration, with defaults for out-of-the-box record types and sync intervals. Use this profile and build upon it by including your custom record types. By working within the provided profile, default entities can still receive updates over time. With offline data, in-app performance such as displaying forms will be much better. Limiting the amount of data in the offline profile to what is needed by the user will improve sync performance.
Avoid removing default record types from the offline profile. These default record types are purposefully added to ensure the right data is available to the frontline worker. Focus on adding the record types you need to the offline profile rather than removing ones you don't need.
Avoid using "All records" as an offline filter. The offline profile is the gate that controls the amount of data downloaded to the frontline workers’ devices. To keep sync times fast and efficient, avoid including "All records" as an entity filter and avoid wide date ranges. For example, rather than downloading all customer asset records, download only the records related to scheduled work orders. This will reduce the number of customer asset records without impacting work that needs to be done.
Step 2: Add users and teams to the offline profile
Open the Field Service Mobile - Offline Profile.
Add users or teams to the offline profile in the right People with offline access panel. When a team is added to the profile, the users within that team are displayed under the team, while individual users are displayed directly in the offline profile. Organizations with many users should use teams to help ease maintenance of user access.
A user or team can only be added to one offline profile one at a time. If a user or team is added to another offline profile, you will see a warning stating that the user is already part of a different offline profile. If you continue with the change, the user or team will be moved to the new profile.
Step 3: Edit and publish the offline profile
For each record type, you can choose a data download filter:
- Download related data only.
- All records. This is not recommended.
- Other data filter.
- Custom data filter.
For example, the Bookable Resource Booking (in other words, the booking) entity has a data download filter set to custom data filter that downloads resource bookings that start or end in the next seven days or today.
Save and Publish the offline profile.
The default offline profile is updated periodically as part of Field Service updates. If you edited the offline sync filter of an entity, the entity's sync filter will not receive updates; other entity sync filters that have not been edited will receive updates in an unpublished state. Administrators can review the updates and decide if they want to take the update or continue with the previous sync filters. This only applies to sync filters and relationships will receive updates while keeping your specific changes.
For more information on offline profiles, see the article on setting up mobile offline synchronization.
Step 4: Add the offline profile to the app
Go to your Dynamics 365 apps by going to
yourenvironment.crm.dynamics.com/apps, then go to the app designer for Field Service mobile.
Go to Properties and add the offline profile you published if it's not already there. Remember to save and publish your changes if you add an offline profile.
Field Service customers can create additional offline profiles to enable scenarios where different user roles have different sync settings or entities available to them. For example, a Field Service manager may require seeing a broader scope of work orders that may not be assigned to the current operator of the mobile app. If you create a new offline profile, you'll need to add it to the Field Service mobile app in the app designer as well.
Sign into your mobile app, then go to Settings > Offline Setting (globe icon) to see the status of downloaded data.
If data is not downloading, try signing out and signing back in. If offline data is still not downloading, make sure the user you are signing into the mobile app as has been assigned to a Published mobile offline profile.
Understanding offline vs. online capabilities
Once an offline profile is configured and user assigned, following the initial sync to download data, the mobile app will always run offline-first. This functionality optimizes performance and creates a consistent experience for frontline workers as they move through areas with and without internet connection.
- Online: Occurs when there is internet but no offline profile is configured. The mobile app functions like using a Dynamics 365 app with internet on your PC. When internet is lost or diminished, the mobile app is unusable. Not recommended.
- Offline First without internet connection: Data is downloaded to the device and all changes are saved locally to your mobile device. When internet is restored, the changes are synced to the server.
- Offline First with internet connection: Data is downloaded to the device and all changes are saved locally; but because there is internet connection, the user can manually sync to receive the latest data from the server (like a new booking). The app will also automatically attempt to sync every few minutes. For more information, see sync filters in this article.
In summary, an offline-first application will always read from the local device database and will only leverage an active internet connection during the synchronization process. This makes it important that your offline profile is configured to sync all data to the device that the frontline worker requires during their working hours.
After the offline-enabled user configures and signs into the app, the initial data sync will begin. During this time period, the app with run in online mode and changes will be updated on the server. After completing the offline sync, the app will be in offline-first mode and will read data from the local device database. During the time period of subsequent sync cycles, the app will not run as though in online mode.
Sync intervals define how often record type data will automatically sync down to the users' devices. Sync intervals can be a minimum of five minutes or as long as one day. Records that change frequently can have a short duration sync interval, while infrequently changed records do not need to sync as often. With variable sync intervals, administrators have greater control over data and can help improve sync performance.
The default Field Service Mobile - Offline Profile has predetermined sync intervals for each record type, which is selected based on typical usage patterns of those record types.
Even if the value for sync interval is set to be less frequent than Every 1 hour, data will still be synched every hour. A sync is only initiated when there is connectivity and when the app is actively running on the user’s mobile device. For Android devices, once the sync is initiated, it can be completed even when the app is in the background. Dependencies based on selected relationships and custom filters that includes related tables are analyzed at each sync request. This might also result in a sync being triggered for related tables.
Sync intervals are defined per record type with Field Service v8.8.40+. Prior to this version, all record types will have a five-minute sync interval.
Sync conflicts can happen if there is a mismatch between data on the device and data on the server. For example, when a frontline worker edits a work order on their mobile app and a back-office dispatcher edits the same work order on their computer, neither of these modifications have yet been synchronized between them. Which modification should be applied to the record, both in the app and on the server, after the next synchronization takes place?
Conflict errors can be resolved based on the settings set by the administrator. A conflict is raised at the entity level and not per field.
To set conflict detection, go to Settings > Mobile Offline > Mobile Offline Settings and the Mobile Client tab.
Set conflict detection for mobile offline synchronization
No: Data on the client device (mobile app) wins and there will be no sync errors. This setting is the default.
Yes: Data on the server wins. The technician using the app may see errors informing them of conflict. In this case, while syncing changes to the server, you might see some errors that are automatically resolved. Client changes are overwritten by server values. Data on the device may be overwritten by data from the server. In this case, while syncing changes to the server, the technician using the application may see errors informing them of conflict.
Administrators can view past sync errors by going to Settings > Sync Error.
Should I make a copy of the offline profile?
It is recommended to use the mobile offline profile included with Field Service and then make offline filter changes directly in the Field Service Mobile - Offline Profile. Using the default offline profile allows your offline profile to receive updates to unchanged entity sync filters. You can also copy the default Field Service Mobile - Offline Profile, and make changes to the copy. The copy is considered unmanaged and will not receive any updates. If you make changes to the default offline profile and want to see the latest unadulterated offline profile, you can create a new trial of Field Service and view the included profile.
What is the best practice when moving the mobile offline profile between environments?
To control changes and keep your offline profiles in sync, your organization may require making changes to your mobile offline profile in one environment and the moving that profile into other environments. Best practice is to perform the following steps:
- Create a copy of the default Field Service Mobile - Offline Profile.
- Modify your copied profile as needed.
- Create a managed solution that includes the mobile offline profile.
- In Dynamics 365, go to Settings > Solutions > Create a new solution.
- Within the new solution, Add Existing > Mobile Offline Profile.
- Export the managed solution containing the mobile offline profile from the original environment.
- Import the managed solution into the new environment.
Are WebResources supported in offline mode?
Due to some current limitations of offline WebResources, we recommend using the Power Apps component framework (PCF) to implement custom capabilities that work in both the Field Service (Dynamics 365) mobile app and in the browser.
How do I know when a sync is in progress?
During regular use, a frontline worker will receive a notification during:
- Initial sync going offline for the first time.
- Manual refresh by selecting Refresh button on a grid.
- Large incremental sync, such as if the app has been closed for multiple days (like over the weekend, for instance).
These notifications will continue to display while the sync is in progress. The larger incremental sync will include an inline refresh button once complete to refresh the current view with latest data.
The Offline Status page in the app, available from the sitemap, can also be viewed to see which tables have been synchronized and the last date and time of the sync.
Sync notifications are available from UCI Platform version 9.2.22033.00152+.
- Offline sync filters: If a record is created from the device while in offline mode, and that record does not meet filter conditions, then the record does not get resynchronized from the service until conditions are met.
- Offline sync filters: If commands or capabilities are set up to work with internet connectivity but not in offline mode, those capabilities should be reviewed to confirm they are calling correct APIs:
- Details on additional platform supported capabilities and limitations for offline
As part of Wave 1, 2021, Power Platform is introducing new (preview) features for the mobile offline profile. These features include a new way to access the mobile offline profile from http://make.powerapps.com, improved error handling, and removing the need to manually add individual user access. For more information, see mobile offline overview in Power Platform documentation.
Submit and view feedback for