This article is prepared by our developer Pavel Bulyha.
Salesforce Field Service Lightning (FSL) is an extension of Salesforce Service Cloud that helps you and your team members, who work outside the office at a clients locations, to manage orders, build roadmaps, check the availability of products, scheduling and more. It is a powerful tool that enables organizations to manage their field service operations efficiently.
How does it work?
Every field operation is represented by 2 objects: Work Order and Service Appointment. Work Order is a material side of the field work: what kind of work it is, what products it needs, what skills this work requires, and etc. Service appointment – organizational side of the field work: when is the earliest and the latest time for the job, when actual time of work starts/ends, who is assigned for the job. The biggest part of the FSL package is about the organizational side – sometimes it’s tricky to plan a work day of an each field worker (there can be dozens, or even hundreds of workers).
For connection between a field worker and an appointment, the field worker should match different criteria: has required skills for the job, be free at a scheduled time and has enough time to get to the client's location. The FSL engine can check these criteria automatically, so the job of agents is only to get information from a customer, accept the scheduled appointment and pass it to the field worker. But there is a way to remove interaction with customer and give him an opportunity to book the field work himself.
For this part the FSL can be combined with Salesforce Communities. It will need a working Salesforce community site (for example, customer service). The FSL got a predefined component ‘Appointment booking community’. It can be placed on a community page, so a customer will have a possibility to open a company site on a mobile phone or on a laptop and book an appointment at time suitable for both a field worker and a client.
However, the ‘Appointment booking community’ component will require some preparations. At first, client should have his own Customer Community User on a community side. It can be done by quick action “Enable customer user” (needs to put this quick action to the contact layout before that) on related to customer contact. Customer user should have ‘Field Service Community Dispatcher Permissions’ permission set and users profile should be in the list of community site allowed members. By doing all these prerequisites customer will have an access to community site and to the component ‘Appointment booking community’. Then only one thing that is left to be done – to put the component on a community page and publish this page.
Voila! The client can now choose a date, a time slot, a territory, an address on his side and the system will find a suitable technician to assign for the job. However, it still requires to create a proper work order for the client.
During the process of booking an appointment, client can choose a work type, the earliest start and a due date, an appointment address and a working territory of the field worker. After the client enters all necessary data, the component will provide the client with time slots when the field worker who fits the work requirement is free. Time slots can have different categories like ‘recommended’, ‘gold’, ‘silver’, and etc.
A company can have different time slots for different purposes. For example, a company can have regular time slots with wide time gaps and gold or silver time slots with short time gaps to give a premium client more accurate time slot which will fulfill his time demands.
After choosing a time slot, the service appointment will be created and appointment dispatchers will see it in their workspace. Duration of the booked service appointment depends on how much time the particular type of work is designed to take.
After the client accepts creation of the service appointment, system will search a technician who is free at the selected appointment time gap, has required skills and qualified enough to do the job. In our situation this technician is James Clifton.