Enable customers to self-schedule service appointments in Field Service
A preview feature is a feature that is not complete, but is made available before it’s officially in a release so customers can get early access and provide feedback. Preview features aren’t meant for production use and may have limited or restricted functionality.
Field Service self-service scheduling aims to improve your customers' scheduling experience by providing them flexibility to schedule on their own time, directly from their devices.
For a guided walkthrough, check out the following video.
- Field Service version (126.96.36.199+)
- SMS provider supporting the Power Automate connector for mobile SMS communication
- Office 365 Exchange account for email communications
Step 1: Set up the Field Service customer experiences portal (preview)
First, we need to set up the customer experience portal with Power Apps portals.
Go to http://make.powerapps.com, and select Create.
Select Field Service Portal.
Enter your portal's name and subdomain, select the display language you want, and then select Create.
You'll get an email when the portal has been provisioned, and then you can move on to the next step.
Step 2: Configure email and SMS connectors in Power Automate
Customers will access their service portal with a unique link sent to their email or as a text message. To set this up, you'll need to configure one or both communication methods.
We provide links directly to the Power Automate flows for email and SMS via Field Service customer portal settings
Alternately, you can access the Power Automate Flows for Email and SMS within Power Automate:
Go to http://make.powerapps.com > Solutions. Select Dynamics 365 Field Service PowerApps Portal – Flow in the list.
Here you'll find three Power Automate flows. Email and SMS flows are off by default, so we'll need to configure both to enable them.
The following procedures use the popular providers Exchange and Twilio as examples. You can substitute an alternate connector by cloning the flows and configuring the connector you want.
To configure email:
- Select Field Service PowerApps Power Flow Email Notification, which will open the flow in a new tab.
- With the Flow open, select Edit.
- Select the Send an Email Exchange connector.
- Add your Office 365 Exchange account connection.
- Save and Turn On the flow.
To configure SMS:
- Select Field Service PowerApps Power Flow SMS Notification, which will open the flow in a new tab.
- With the Flow open, select Edit.
- Select the Twilio connector.
- Add your Twilio account details.
- Save and Turn On the flow.
Step 3: Set up the customer experience
As you enable this experience, messages can be sent to contacts of the Field Service account associated with bookings. If you're testing in a non-production org, make sure your test data doesn't contain real customer email addresses or phone numbers. If your org contains real data, you can prevent unnecessary communication by adding accounts to exclusion lists.
In Field Service, go to Field Service Settings > Customer Portal > Customer Portal Settings.
General and notification settings
The same Field Service customer portal contains multiple customer-focused features, including self-scheduling (preview) and Track My Technician. These features are independently enabled, although they share common configurations. Some settings on the General tab only apply to one experience, while others apply to multiple experiences.
Configure the following settings, as needed:
Send self-scheduling experience to Account Contacts: When enabled, new contacts who are associated with active Field Service accounts will be sent an email that invites the contact to create a Power Apps portals account for self-scheduling. More information: Notification types
When enabling this option, you can choose to send the invitation only to new contacts going forward, or to all existing contacts. If a contact has already received the invitation, they won't receive a second one.
Invitations can also be sent to a single contact manually by opening a contact record and selecting Invite to Self Scheduling on the ribbon.
Messaging: Messages are sent at specific points in the Field Service customer lifecycle. These messages can be enabled or disabled independently. More information: Notification types
Communication Type: Define whether the customer will receive email, SMS, or both message types.
Send Messages To: This feature is only used with Track My Technician.
Include Survey (Preview): This feature is only used with Track My Technician.
Exclusion lists: Exclude specific service accounts or service types from all messaging.
Power Automate (Email & SMS links): These are direct links to the Power Automate flows where you configure the email and SMS connectors.
You can also directly access the Power Automate flows for email and SMS setup from the Configuration tab.
Branding and content
Customize the branding and content for your customer portals.
From the customer portal settings, go to the Display tab.
Here you can customize:
- Font type and color for the online portal.
- Background and foreground colors.
- Code snippets: These snippets are dynamic content strings that—when updated—reflect consistent content across the portal, email, and SMS when applicable. Some important code snippets include:
- Contact email
- Contact phone
- Company name
- Page title
- Page footer
To upload and update the portal header image, go to the Power Apps portal designer. There's a link to the designer on the Display Settings tab. More information: Portal designer
Let's take a look at the self-scheduling settings, and what they do:
Minimum lead time for new bookings: Sets the minimum time, in days from today, during which the customer can schedule their booking.
Maximum lead time for new bookings: Sets the maximum time, in days from today, during which the customer can schedule their booking.
Enable Asset Selection: When this option is enabled, the customer has the option to select a specific asset to associate with their account while they schedule their booking.
Enable Additional Details: When this option is enabled, the customer can submit text to your organization while scheduling their booking. This text will be saved as a note on the booking timeline.
Default Radius Unit: Sets the radius unit to miles or kilometers.
Include Resource with maximum travel radius: The maximum radius from the scheduled location in which a resource can be scheduled.
Default Radius Unit and Include Resource with maximum travel radius are shared settings for the schedule board; changing the value on one will change the value for the other.
Configure incident type
As part of the self-scheduling experience, the customer can select the incident type (shown as Service Type) that represents the work needed. As a Field Service administrator, you can make specific incident types available to your customers and set a user-friendly display name for the incident type shown on the self-scheduling portal.
Incident types must be configured with following steps to properly appear in the self-scheduling portal:
Check Enable for C2 and apply a user-friendly name.
Set a Default Work Order type, which is associated with a price list for the incident type.
Set an estimated duration for the incident type. This value is the work duration shown in the portal.
Incident type should not be associated with a requirement group.
If any of these conditions are not met when saving an incident type after making it Enable for C2, then an appropriate error will be shown.
The portal is an authenticated experience. By default, local authentication is enabled when the portal is provisioned. This can be reconfigured by the organization's administrator. Configure authentication through Power Apps portals.
More information: Overview of authentication in Power Apps portals
Step 4: Testing the experience as a customer
To review and test changes, set up an account and contact in Field Service as if you were a customer:
Create an account in Field Service.
Add test assets to the account, if they're used by your organization.
Create a contact in Field Service.
Add the contact to your account.
This will generate an invitation email, which is sent to the contact. The invitation will link to the portal, where you can create your portal account.
Sign in to the self-service scheduling portal.
You'll be taken to a profile page. This page is shown the first time after a user creates their account. You can skip this page.
Schedule service via the self-scheduling portal. You'll receive an email confirming your booking.
Back in Field Service, confirm that the work order is created and the booking is scheduled.
You can manually create the portal user from the contact form using the Create Invitation option in the toolbar. Creating an invitation this way will require an additional step of adding the Web API User role to the user account before they can access the portal. For more information, see this section: How do I manually create a portal user?
Self-scheduling portal invitation: As new contacts are added to accounts, they'll be sent an invitation link that allows the customer to create an account with the self-scheduling portal. This notification is sent only as email.
Booking confirmed: When a contact self-schedules in the Field Service customer portal, they'll receive an email or SMS confirming their booking date and time, with the option to reschedule.
Booking reminder: When a contact self-schedules with the Field Service customer portal, they'll receive a reminder within one to seven days of the booking scheduled date. This reminder will include an option to reschedule.
Booking reschedule: When a booking is rescheduled, either by the system or a customer through the portal, the contact will receive a notification of the new date and time. This notification will include the option to reschedule.
Booking canceled: When a booking is canceled, the contact will receive a notification.
Booking completed: When a booking is completed, the contact will receive a notification.
The Technician Traveling notification is relevant only to the Track My Technician functionality, and isn't available if only self-scheduling has been enabled.
Field Service contacts associated with active accounts can receive invitations to the Field Service customer experiences portal. After creating an account, customers can sign in to the portal.
The first time a user signs in to the Field Service customer portal, they'll see their portal profile. Details here are optional.
Select the Self Scheduling option in the header to access the scheduling experience.
From the self-scheduling experience, customers can:
Select their Service Product, which is a list of assets associated with their account. This functionality must be enabled in self-scheduling settings. The address shown under the service product is the account location, by default. If a service product with a different functional location is selected, the address for the booking is updated to the address for that functional location.
Select their Service Type, which is a list of incident types made available to them.
Based on the service product and service type, the user is presented a list of dates and times that technicians are available, based on the skills required for the job.
When enabled via self-scheduling settings, the user can optionally enter additional details with their scheduling request.
After successfully submitting their scheduling request, the user will then see a confirmation message that includes the details for their booking.
As an alternative to using content snippets, you can update content and access more advanced configuration as part of the portal designer experience.
- Go to https://make.powerapps.com.
- Select Apps.
- Select Edit on the portal you created.
In the portal designer, selected content can be updated and will be reflected in the customer portal. Updating content snippets in the portal designer will also update content in the messages, when applicable.
You can use the portal designer to upload a customized header image or make more fine-tuned adjustments to the style sheet and the portal's header or footer.
Elements of the portal outside of the header and footer—and the highlighted content snippets—aren't editable.
Notification settings provide a read-only view of all messages sent to customers. Here you can see which customers have received a message, the type of message, and the state of the message.
Booking notification codes
With booking notification codes, Field Service admins can extend, expire, or block access to a portal link that has been shared with a customer.
FAQs for self-scheduling portals
Is travel time calculated while creating the booking?
Travel time is calculated while creating a booking when prerequisites are met.
The booking is created such that the time selected by the customer on the self-scheduling portal becomes the expected time of arrival for the technician. For example, if the customer chose 02:00 PM as the appointment time, and it takes 20 minutes for the selected resource to reach the customer's location, the start time of the booking will be 01:40 PM and expected arrival time would be 02:00 PM.
Which resource is booked when the booking is created?
Available resources are filtered based on any consraints associated with the account and the resource, like territory and any other characteristics. Among the filtered resources, the resource with the minimum travel distance to the customer's location is booked for the booking.
How do I manually create a portal user?
Within the Field Service contact, you can manually generate a portal invite code by using the Create Invitation option within the toolbar. Selecting this option will generate the invite code for the contact. At this time, you must also manually assign the Web Api Users role to the user before they can access the Field Service self-scheduling portal.
To set the required role:
- In the Contact, select Related > Web Roles.
- Select Add Existing Web Role.
- Select Web API User role.
- Select Add.
- Select Save & Close.
While testing, I deleted and and readded my contact to an account but I don't receive an new self-scheduling invite email. Why not?
A contact with a matching email will only receive the portal invite once, even if the contact is deleted and readded to the system. You can work around this with the following steps:
- Go to Portal Management app in the Power Apps admin center.
- Open the newly created contact record.
- On the command bar, select Create Invitation.
- From the newly created invitation record, copy the Invite code.
- Go to the Web Roles tab and select Add existing web role.
- Select the Web Api Users web role.
- Send the invite code and the portal link to desired email contact.
From the portal side:
- Open your self-scheduling portal and go to the signin screen.
- Select Redeem invitation.
- Use the invite code to create a portal account.
Can you cancel a booking from the portal?
You can only reschedule bookings from the portal; you can't cancel them. Check back soon for feature enhancements as we work toward general availability. For more information about upcoming enhancements, see the Dynamics 365 and Power Platform release plans.
Who receives the notifications when a booking is self-scheduled?
When someone self-schedules, they'll be added as the Reported By contact associated with the work order for the booking. All future communication—including reminders and reschedule notifications—will be sent to that Reported By contact on the work order.
Will all bookings result in notifications such as confirmations and reminders?
Only bookings that were created through the self-scheduling portal will receive the notifications. During the preview period, these bookings will carry a unique booking ID, which is how the system knows they were scheduled through the self-scheduling portal.
I tried to reset my password in the Field Service customer portal and never received an email. Why not?
Make sure you have the correct process enabled for this functionality.
- Go to Field Service > Settings > Processes.
- Search for Send Password Reset to Contact.
- Open the process to edit. Scroll down and select View Properties.
- Edit the From field to a user—most likely the same account you use to send notifications for the scheduling experience— and then select Save and Close.
- Go to Settings > Email Configuration > Mailboxes.
- Select the user you set in step 4, select Approve Email, and then select Test & Enable Mailbox.
Does the Field Service customer experiences portal support all languages?
The portal will support Field Service languages with the exception of Arabic and Hebrew.
How do I change the timing of reminder messages?
Reminder messages are triggered by a flow that runs daily at 10:00 AM UTC. Any bookings that fall into your reminder message time period, and aren't part of exclusion lists, will receive a reminder message.
To edit the reminder message
- Go to https://make.powerapps.com > Solutions and find the solution Dynamics 365 Field Service PowerApps Portal – Flow.
- Edit the flow named Create notification items for bookings.
- Find the location recurrence connector, and set the Flow Recurrence value to the time you want.
Can I still provision this Field Service customer experience portal if I already have an existing portal created with Power Apps portals?
Yes, you can have multiple portals; however, you can only have one copy of the Field Service customer experience portal per environment.
Can I integrate this experience within an existing portal created with Power Apps portals?
Currently the Field Service customer portal is deployed as a standalone experience and can't be integrated into an existing portal.
Will the Field Service customer experiences portal receive updates?
When we make updates to the customer experience portal, new features or enhancements will be unpublished. Your org admin must publish the updates before they're reflected in the live experience.
I don't have a Twilio or Office 365 Exchange account. Are there other services I can use for messaging?
Yes, you can use alterative SMS or email providers as long as they have connectors supported by Power Automate. Clone the existing email and SMS flows, remove the current connectors, and add the connectors you want.
How do I edit email and SMS content?
The general content and format of the notifications are based on a fixed template and can't be changed. However, you can update individual words within the email and SMS content by using content snippets found in Field Service settings.
How do I update my Field Service customer experiences portal?
We'll publish updates over time to introduce new features and functionality for the customer portal. Updates aren't automatically published to your portal; they must be applied by the organization administrator for your environment. To apply an update, go to https://admin.powerplatform.microsoft.com/, select the environment that has the Field Service customer experiences portal installed, and then select Portals. If an update is available, you'll see a message saying so, with an option to Update now. Select your portal, and apply the update to your environment.
Known issues and limitations in preview
- Scheduling is done for user resources only at this time.
- Under some circumstances, the address of the account is not populated in a work order when self-scheduling.
- Currently cannot self-schedule incident types, which require crews or requirements with multiple resources.
Submit and view feedback for