Pulsar SFS UI Customizations
Custom HTML documents enable you to create your own tabs and pages within the Pulsar SFS environment. These pages have full access to the Pulsar JSAPI bridge, enabling you to modify and display data as you see fit. You can add a custom document to the SFS tab bar, as a card that exists on a particular SFS object type, or that launches from the Lightning Bolt menu.
- 1 Custom Documents on the SFS Tab Bar
- 2 Custom Documents as Cards within an Object Type
- 3 Custom Documents on the Lightning Bolt Menu
- 4 Accessing the Bridge
- 5 Pulsar SFS Functions
- 6 Page and Component Resizing
- 7 Changing the Number of Details Shown Throughout Pulsar SFS
- 8 Customizing the SObject Page Carousel Items
- 9 Hiding the Assign Contact Button
- 10 Hiding The Map on Schedule Screen
- 11 Hiding The Map on Service Appointment Overview Screen
- 12 Hiding Get Driving Directions Button on Service Appointment Overview Screen
- 13 Displaying Resource Absences in the Schedule
- 14 Hiding the App Browser
- 15 Overriding the Calendar Display Dates
- 16 Display Work Week Days Only on the Calendar
- 17 Set the First Day of the Week on the Calendar
- 18 Displaying the Gantt Label for Resource Absences in the Schedule
- 19 Displaying a Lightning Bolt Menu on Appointments in the Schedule View
- 20 Hiding Empty Sections in Generated Service Reports
- 21 Hiding the Add Resource Absence Button
- 22 Hiding the Add Product Request Line Item Button(s)
- 23 Optionally Hide “Complete” Work Step
- 24 Optionally Hide “Mark Not Applicable” Work Step
- 25 Hiding Get Driving Directions from the Schedule Page
- 26 Hiding Create Service Report Buttons
- 27 Hiding the Service Note
- 28 Applying logic before allowing the user to create a Service Report
- 29 Using Your Own Google Maps API Key
- 30 Use a different maps provider than out of the box options.
- 31 Hiding Submit Button on TimeSheet Screen
- 32 Displaying Future Time Sheets on the TimeSheet Screen
- 33 Optionally Displaying a Native Detail Screen for Service Appointments
- 34 Enabling Back Navigation in Flows
- 35 Customizing Additional Display Fields in the Pricebook Products List
- 36 Determining if the User Can or Cannot View an Object using beforeView (available in Pulsar 14.0+)
Custom Documents on the SFS Tab Bar
Adding a custom document to the tab bar is done through the pulsar.fsl.layout.tabs
Pulsar setting. The values for this setting are separated by new lines and consist of a series of entries of either reserved words for standard SFS tabs or label : documentId
pairs that will link to your custom documents.
You must add all tabs that you wish to see on the tab bar to this setting. Failure to add a tab will exclude it from the app. This includes the standard SFS tabs.
The keywords for the standard SFS tabs are: Schedule, Inventory, Notifications, and Profile.
Schedule
Inventory
Create Order:0696A000005Yr7i
Display Task:0696A000005Yw1V
Time Sheet
Profile
The above values would place the standard SFS schedule tab at the far left, the inventory tab to the right of that and a custom tab with the label text “Create Order” in the third location that would link to a custom document pointed at by the Id 0696A000005Yr7i
. The fourth tab in Pulsar’s SFS application is always labeled More. Any items after the third will be placed in a modal pop-up that is launched when the More tab is tapped.
Custom Documents as Cards within an Object Type
Adding custom HTML as a card as part of the display of an SFS object is done through the pulsar.fsl.{objectType}.{optionalRecordTypeDeveloperName}.order
Pulsar setting. When you create this Pulsar setting you are defining all of the cards that will display when viewing SFS objects that match the object type / record type pair that you define in the setting.
Failure to include a card in the value of the setting will result in it not being displayed.
pulsar.fsl.layout.workorder.order
ServiceAppointment
Contact
Asset
Asset Work Items:0696A000005ijL3
Asset History:0696A000005ivUl
WorkOrderLineItem
KnowledgeArticle
ServiceReport
The above value for the setting would display the cards listed from top to bottom on all WorkOrder objects. This would place two custom cards containing the HTML you defined in the files pointed to by the documents listed to the right of the colons. The text to the left of the colons will appear as the title of the card.
Custom Documents on the Lightning Bolt Menu
See: Pulsar SFS Lightning Bolt Menu Customizations
Accessing the Bridge
The Pulsar Platform - JS Bridge API is fully accessible from any custom document running in the Pulsar SFS environment.
var bridge = window.parent.pulsar.bridge;
var request = {
"type" : "read",
"object" : "Account",
"data" : { "Name" : "John Doe Industries" }
};
bridge.sendRequest(request, function (responseData) {
alert('Request Result: ' + responseData);
});
Pulsar SFS Functions
In order to allow for rich user experience, Pulsar exposes a number of SFS specific methods in addition to the bridge.
Page and Component Resizing
Documents are displayed within iFrames in the Pulsar SFS document. The size of this iFrame is based upon the size of the content. However, there are cases in which a document may have a dynamic size or one that is created after the iFrame has sized itself. In these cases, we make use of the javascript postMessage function.
Changing the Number of Details Shown Throughout Pulsar SFS
One common way that information about various SObjects is displayed in Pulsar SFS is through what we call Display Fields. These fields are defined by the compact, search and related list layouts on those objects. We define the header as the first field in the set of fields on any of those layouts. We define the details as the remaining fields, excluding the header. Generally, whenever we show a list of details we separate them with a “•” (bullet character). By default, Pulsar SFS shows up to 4 detail fields in addition to the header. If an SObject does not have a value for a given display field, it will not show the field. It is important to make sure that your header fields are required fields or your users may have a confusing UI experience.
We have created a Pulsar Setting pulsar.fsl.layout.detailFieldCount
to allow the user to control how many detail fields are displayed throughout the app in situations like the one shown below. Pulsar will try to show up to 4 fields by default unless overridden by this setting. The number of fields displayed is also determined by the associated layout. The details below are driven by the related list layout between the WOLIs and their parent WorkOrder. If the related list has only 3 total fields defined, then one will be used as the header and only two detail fields could possibly be shown. Remember, if the field is undefined on the object, it will not be shown (see the bottom most set of details, which appears to not have an AssetId property defined).
To determine where a set of details or a header is coming from, refer to Pulsar SFS Screens and the data that feeds them for more information.
|
|
---|---|
Name | Number of Detail Fields |
Key | pulsar.fsl.layout.detailFieldCount |
Value | Number |
Default Value (if any) | 4 |
Description | Sets the maximum number of detail fields to be displayed. |
Notes/Comments |
Customizing the SObject Page Carousel Items
In Pulsar SFS, SObject pages have a series of tabs displayed in a carousel identified to the right. Three of these elements (Overview, Details and Related) are always present but there are four optional carousel items that may or may not be displayed when available to a given SObject. The Work Plans, Location, Products and Feed tabs are displayed by default but a user can select any or none of these to display with the following Pulsar Setting pulsar.fsl.layout.carouselItems
.
The values that are valid for this setting are: work-plans, location, products and feed. These are case-sensitive so be careful when adding them. You may separate them with new lines or commas. Removing the setting will show all four items if present on the object.
Certain items, like Work Plans, may not appear if there are no associated Work Plans with the object (for instance, a Work Order).
Starting with Pulsar 13.0, you may define object-level carousel items using the Pulsar Setting pulsar.fsl.layout.{objectType}.carouselItems
for more granular control. For example, you can define pulsar.fsl.layout.workorderlineitem.carouselItems
with different items compared to pulsar.fsl.layout.carouselItems
.
Starting with Pulsar 14.0, you may define object-level carousel items to be excluded using the Pulsar Setting pulsar.fsl.layout.{objectType}.carouselItems.excludedItems
.
|
|
---|---|
Name | Customized Carousel Items |
Key | pulsar.fsl.layout{.objectType}.carouselItems |
Value | A list of valid values separated by commas or new lines. Valid strings are: work-plans |
Default Value (if any) | work-plans |
Description | Use this setting to customize the set of carousel items on an SObject page in SFS. |
Notes/Comments | Providing specific object type for this setting is available in 13.0+ |
|
|
---|---|
Name | Excluded Carousel Items |
Key | pulsar.fsl.layout{.objectType}.carouselItems.excludedItems |
Value | A list of valid values separated by commas or new lines. Valid strings are: work-plans |
Default Value (if any) |
|
Description | Use this setting to customize the visibility of carousel items on an SObject page in SFS. Any valid values set will not be visible in the SObject page carousel items. |
Notes/Comments | Available 14.0+ |
Hiding the Assign Contact Button
The SObject overview page contact component will by default display a button to assign a Contact to the Service Appointment. Use this setting to hide the button if desired by setting the value to false.
|
|
---|---|
Name | SFS: Show Assign Contact Button |
Key | pulsar.fsl.layout.showAssignContactButton |
Value | TRUE/FALSE |
Default Value (if any) | TRUE |
Description | Use this option to display/hide the assign contact button. |
Notes/Comments |
Hiding The Map on Schedule Screen
Some customers have asked us if they can hide the map on the schedule screen because it takes a significant amount of screen real estate on phones. You can do this by specifying a Pulsar Setting in your org.
|
|
---|---|
Name | Hide Map Component on Schedule Screen |
Key | pulsar.fsl.layout.schedule.displayMap |
Value | TRUE/FALSE |
Default Value (if any) | TRUE |
Description | Use this option to display/hide the map component on the schedule screen. |
Notes/Comments |
|
Hiding The Map on Service Appointment Overview Screen
Some customers have asked us if they can hide the map on the appointment overview screen because it takes a significant amount of screen real estate on phones. You can do this by specifying a Pulsar Setting in your org.
|
|
---|---|
Name | Hide Map Component |
Key | pulsar.fsl.layout.serviceappointment.displayMap |
Value | TRUE/FALSE |
Default Value (if any) | TRUE |
Description | Use this option to display/hide the map component on the overview screen. |
Notes/Comments | Users can still get Driving Directions by clicking on the button in the section. |
Hiding Get Driving Directions Button on Service Appointment Overview Screen
This setting allows users to remove the Get Driving Directions button from the Service Appointment detail component on the overview page. It is important to note that this button is displayed by default.
|
|
---|---|
Name | Hide Get Directions Component |
Key | pulsar.fsl.layout.serviceappointment.displayDrivingDirectionsButton |
Value | TRUE/FALSE |
Default Value (if any) | TRUE |
Description | Use this option to display/hide the get driving directions button on the overview screen. |
Notes/Comments |
Displaying Resource Absences in the Schedule
It may be useful to your users to see resource absences displayed in the Field Service Lightning schedule screen in Pulsar. You can achieve this through this setting. Resource absences will not display in the scrolling calendar navigation view as “dots” (implying the presence of a Service Appointment) but they will be shown in the list of events for a selected day and on the full calendar display.
|
|
---|---|
Name | Display Resource Absences |
Key | pulsar.fsl.layout.schedule.showResourceAbsences |
Value | TRUE/FALSE |
Default Value (if any) | FALSE |
Description | Use this option to display resource absences on the schedule view. |
Notes/Comments | None. |
Hiding the App Browser
|
|
---|---|
Name | Display App Browser |
Key | pulsar.home.toolbar.enableappbrowser |
Value | TRUE/FALSE |
Default Value (if any) | TRUE |
Description | Use this option to display or hide the 9 squares icon on the bottom toolbar |
Notes/Comments | None. |
Overriding the Calendar Display Dates
Some users may wish to display more dates on the calendar navigation control – as well as more appointments and absences – than Salesforce field service mobile settings allows (45 days before and after).
|
|
---|---|
Name | SFS Schedule - Number of Days Before |
Key | pulsar.fsl.schedule.numDaysBefore |
Value | a number of days |
Default Value (if any) | Will use the value in SFS mobile settings |
Description | Controls the number of days to display in the calendar navigation component before and after the current date. |
Notes/Comments | None. |
Display Work Week Days Only on the Calendar
Some users may wish to only display the days of the work week(Monday through Friday) on the calendar. The default(FALSE) is to display the weekends.
|
|
---|---|
Name | Display Work Week Days Only |
Key | pulsar.fsl.calendar.enableworkweekonly |
Value | TRUE/FALSE |
Default Value (if any) | FALSE |
Description | Controls if the calendar only displays the days of the work week (Monday through Friday). |
Notes/Comments | None. |
Set the First Day of the Week on the Calendar
Some users may wish to set the first day week(Sunday or Monday) Organization-wide on the Pulsar FSL Calendar.
|
|
---|---|
Name | Set the First Day of the Week |
Key | pulsar.fsl.calendar.firstdayofweek |
Value | 0 or 1 (Sunday == 0, Monday == 1) |
Default Value (if any) | 0 (Sunday) |
Description | Sets the first day of the week organization-wide. |
Notes/Comments | If set, any user locale will be overridden by this setting so all users have the same first day of the week. |
Displaying the Gantt Label for Resource Absences in the Schedule
If resource absences are shown in the Field Service Lightning schedule screen with the previous setting, they will display in the format of “RA: <unique RA #>”. Alternatively, you can choose to display the Gantt label in place of the RA number. You can achieve this through this setting.
|
|
---|---|
Name | Show Gantt Label for Resource Absences |
Key | pulsar.fsl.layout.schedule.showGanttLabelForResourceAbsences |
Value | TRUE/FALSE |
Default Value (if any) | FALSE |
Description | Use this option to display the Gantt label on resource absences in the schedule view. |
Notes/Comments | None. |
Displaying a Lightning Bolt Menu on Appointments in the Schedule View
It may be useful to your users to have quick access to the Lightning Bolt Menu for a given Service Appointment directly from the schedule and not have to click into the object itself. This can be achieved via a pulsar setting.
|
|
---|---|
Name | Display Lightning Menu on Schedule Items |
Key | pulsar.fsl.layout.schedule.showLightningButton |
Value | TRUE/FALSE |
Default Value (if any) | FALSE |
Description | Use this option to display a lightning menu button on each service appointment in the list of appointments on the schedule page. |
Notes/Comments | None. |
Hiding Empty Sections in Generated Service Reports
Service report generation can be customized to hide sections which lack data. Service report sections can be customized through templates on Salesforce.com. There are three types of sections – normal, related list, and signature. Pulsar allows you to hide normal or related list sections that contain only empty values or have no rows.
|
|
---|---|
Name | Hide Empty Service Report Sections |
Key | pulsar.fsl.layout.serviceReport.hideEmptySections |
Value | TRUE/FALSE |
Default Value (if any) | FALSE |
Description | Hides a standard service report section if all data fields that would be displayed contain no values during service report generation. |
Notes/Comments | None. |
|
|
---|---|
Name | Hide Empty Service Report Related Lists |
Key | pulsar.fsl.layout.serviceReport.hideEmptyRelatedLists |
Value | TRUE/FALSE |
Default Value (if any) | FALSE |
Description | Hides service report related list sections that have no rows of data during service report generation. |
Notes/Comments | None. |
Hiding the Add Resource Absence Button
The + button on the Profile page in SFS can be hidden through the following setting:
|
|
---|---|
Name | Hide Add Resource Absence |
Key | pulsar.fsl.layout.profile.hideAddResourceAbsence |
Value | TRUE/FALSE |
Default Value (if any) | FALSE |
Description | Hides the add resource button on the profile page of SFS. |
Notes/Comments | None. |
Hiding the Add Product Request Line Item Button(s)
The + button (and larger Add Product Request Line Item button) on the Product Request page in SFS can be hidden through the following setting:
|
|
---|---|
Name | Hide Add Product Request Line Item Button |
Key | pulsar.fsl.layout.productRequest.hideAddProductRequestLineItem |
Value | TRUE/FALSE |
Default Value (if any) | FALSE |
Description | Hides the add Product Request Line Item button on the profile page of SFS. |
Notes/Comments | None. |
Optionally Hide “Complete” Work Step
A customer may wish to hide the “Complete” Work Step choice.
|
|
---|---|
Name | Display “Complete” Work Step |
Key | pulsar.fsl.layout.WorkStep.displayCompleteStep |
Value | TRUE or FALSE |
Default Value (if any) | TRUE |
Description |
|
Notes/Comments | Available in 13.0+ |
Optionally Hide “Mark Not Applicable” Work Step
A customer may wish to hide the “Mark Not Applicable” Work Step choice.
|
|
---|---|
Name | Display “Mark Not Applicable” Work Step |
Key | pulsar.fsl.layout.WorkStep.displayMarkNotApplicableStep |
Value | TRUE or FALSE |
Default Value (if any) | TRUE |
Description |
|
Notes/Comments | Available in 13.0+ |
Hiding Get Driving Directions from the Schedule Page
Each Service Appointment on the schedule page has a context menu with some actions. You can hide the ‘Get Driving Directions’ action through the following Pulsar setting.
|
|
---|---|
Name | SFS: Hide Schedule Page Directions |
Key |
|
Value | TRUE/FALSE |
Default Value (if any) | FALSE |
Description | Hides the Get Driving Directions option from Service Appointment item context menus on the SFS Schedule page. |
Notes/Comments | None. |
Hiding Create Service Report Buttons
Static Pulsar Setting
A user may wish to hide the display of the Create Service Report button as well as the small “+” button on the service report component card. This may be useful when trying to control when users may create a service report. By hiding the buttons you can allow the user to create service reports only through a Service Report Flow.
|
|
---|---|
Name | SFS: Hide Service Appointment Create Service Report Button |
Key | pulsar.fsl.layout.serviceappointment.displayCreateServiceReportButton |
Value | TRUE/FALSE |
Default Value (if any) | TRUE |
Description | Hides the “Create Service Report” and + button on a Service Appointment Service Report detail component card. |
Notes/Comments | None |
Dynamic Pulsar Setting
The dynamic version of the setting allows an admin to use Pulsar’s PSL capability to execute custom logic to confirm business rules have been met in order to hide the display of the Create Service Report button as well as the small “+” button on the service report component.
|
|
---|---|
Name | SFS: Dynamically Hiding Service Appointment Create Service Report Button |
Key | pulsar.fsl.layout.serviceappointment.displayCreateServiceReportButton.dynamic |
Value | PSL logic with SetResult action returning TRUE or FALSE. |
Default Value (if any) | n/a |
Description | Executes the PSL logic in order to hide the “Create Service Report” and + button on a Service Appointment Service Report detail component card. |
Notes/Comments | Available in 13.0+. This dynamic setting will take precedence over the static setting. |
Hiding the Service Note
A user may wish to hide service note portion of the Service Reports detail card on an objects overview page.
|
|
---|---|
Name | SFS: Hide Service Note on the Service Report Detail Card |
Key | pulsar.fsl.layout.serviceReport.hideServiceNote |
Value | TRUE/FALSE |
Default Value (if any) | FALSE |
Description | Hides the Service Note section of the Service Report detail component card. |
Notes/Comments | None. |
Applying logic before allowing the user to create a Service Report
An admin might wish to apply some rules before allowing the user to create a service report. This uses Pulsar’s PSL capability to allow the PSL logic to execute and confirm all validations have been met before letting the user proceed to the service report signature capture step.
|
|
---|---|
Name | SFS: Allow Service Report Creation |
Key | pulsar.fsl.layout.serviceReport.beforeCreate |
Value | PSL logic |
Default Value (if any) |
|
Description | Executes the PSL logic before the service report shows. Otherwise, an alert window will show the error message to the user why they are not allowed to create a service report yet. |
Notes/Comments | None. |
Using Your Own Google Maps API Key
Luminix provides a limited but free number of Google Maps API requests per month to all of our users. This is a single pool of requests and will frequently run out before the end of the month and disable maps for all users using the shared pool.
You should connect your own Google Maps API key so that the maps work for you and you can take control of the number of requests you will have access to.
|
|
---|---|
Name | SFS: Using Google Maps Key |
Key | pulsar.fsl.googleMapsAPIKey |
Value | A string value for the Google Maps API key |
Default Value (if any) | The default will resolve to the Luminix API key which has a limited number of uses and may stop working for you at any time. |
Description | Enables you to control the access to Google Maps API. This is a paid feature that Luminix offers for free on a very limited basis. If you have many users, you will want to configure your app to use your own key. |
Notes/Comments | None. |
Use a different maps provider than out of the box options.
Some users may wish to use different sources for getting directions from within SFS. This is especially useful in countries where Google and Apple maps are not supported.
|
|
---|---|
Name | Maps Provider - Bing |
Key | pulsar.fsl.layout.mapsProvider |
Value | Domain components of map API providers like: “maps.google.com” and “bing.com” and “cn.bing.com”. Others are not supported at this time. |
Default Value (if any) |
|
Description | Disables all map UI components in SFS and replaces the “Get Directions” feature with a direct request to directions from the supplied provider. |
Notes/Comments | None. |
Hiding Submit Button on TimeSheet Screen
A customer may wish to hide the Submit button on the Time Sheet screen because they have implemented a specific flow for it, so that it meets all the criteria. This setting will help do exactly that.
|
|
---|---|
Name | SFS: Hide Submit Button for Time Sheets |
Key | pulsar.fsl.layout.timesheets.displaysubmitbutton |
Value | TRUE/FALSE |
Default Value (if any) | TRUE |
Description | Hides the “Submit” button on the Time Sheet page. |
Notes/Comments | None. |
Displaying Future Time Sheets on the TimeSheet Screen
A customer may wish to add a list view to the TimeSheet screen that displays future time sheets.
|
|
---|---|
Name | SFS: Display Future Time Sheets |
Key | pulsar.fsl.layout.timesheets.displayFutureTimeSheets |
Value | TRUE/FALSE |
Default Value (if any) | FALSE |
Description | Displays an option to show up to 100 Future Time Sheets from after today’s date. |
Notes/Comments | None. |
Optionally Displaying a Native Detail Screen for Service Appointments
A customer may wish to display the native version of the detail screen for ServiceAppointments depending on the outcome of custom PSL written for the ServiceAppointment.
|
|
---|---|
Name | SFS: Native Display Choice |
Key | pulsar.fsl.layout.timesheets.displayFutureTimeSheets |
Value | PSL that returns TRUE or FALSE via |
Default Value (if any) | No PSL will execute, resulting in the FSL detail page being shown. |
Description | When the provided PSL evaluates to TRUE, the user will see a Native Detail Screen compared to an FSL detail screen. |
Notes/Comments | None. |
Enabling Back Navigation in Flows
|
|
---|---|
Name | SFS: Enable Back Button in Flows |
Key | pulsar.fsl.enableFlowBackButton |
Value | TRUE/FALSE |
Default Value (if any) | FALSE |
Description | When set to TRUE, the Pulsar will enable display of the Back button where appropriate in a properly configured SFS Mobile Flow. |
Notes/Comments | For more information about SFS Mobile Flow behavior, see this documentation: Considerations for Using Flows in the Field Service Mobile App (salesforce.com) NOTE:
|
Customizing Additional Display Fields in the Pricebook Products List
|
|
---|---|
Name | SFS: Fields to Display in Pricebook Products List |
Key | pulsar.fsl.pricebookentry.displayfields |
Value | Comma or newline separated list of fields from the PricebookEntry object |
Default Value (if any) |
|
Description | The Pricebook product list, by default, will show only the product name in the list. Specifying additional PricebookEntry fields in this setting will display these fields under the Product Name line and separated by the “•” (bullet character). Here is an example where this setting was specified with these fields: ProductCode, UnitPrice
|
Notes/Comments |
|
Determining if the User Can or Cannot View an Object using beforeView (available in Pulsar 14.0+)
|
|
---|---|
Name | Before View |
Key | pulsar.beforeView.<Object API Name> (e.g. pulsar.beforeView.ServiceAppointment) |
Value | This setting executes when a user tries to view a record. PSL can be used to implement business rule validations to determine if the current user can or cannot view an object |
Default Value (if any) |
|
Description |
|
Notes/Comments |
|