Skip to main content

#Salesforce Field Service67 人がディスカッション中

Hello everyone, 

 

I'm trying to understand the recommendation logic used by FSL when displaying candidates in the Gantt. 

 

In my scenario, three technicians are returned as candidates for the same Service Appointment. All of them receive the same grade (100/100), but FSL recommends Technician C instead of Technician A. 

 

What I've already validated: 

 

• Same Skills and Skill Levels 

• Same Service Territory 

• Same Operating Hours 

• Same Efficiency settings 

• Same Work Rules 

• Same Scheduling Policy 

• Same Resource Availability 

• Same Grade (100/100) 

 

The only difference I've identified so far is their starting location. However, Technician A is actually closer to the Service Appointment than Technician C. Additionally, Technician A's last known location is also closer to the activity. 

 

As shown in the screenshot, all three resources have a score of 100/100, but the system recommends Technician C. 

 

My questions are: 

 

1. When multiple candidates have the same grade, what tie-breaker logic does FSL use? 

2. Does the Candidate List use factors that are not reflected in the displayed grade? 

3. Could travel calculations, optimization settings, resource priority, or another hidden factor influence the recommended candidate? 

 

 

FSL Candidate List recommends a farther technician even when all scheduling factors appear identical

 

 

Any guidance on where to investigate would be appreciated. 

 

Thank you.

2 件の回答
  1. 6月25日 4:12

    I would check:

    1. all service objectives and weights in the scheduling policy
    2. whether Resource Priority or Preferred Resource is active
    3. actual travel time used by the scheduler, not only map distance
    4. geocoding on the Service Appointment and resource locations
    5. whether last known location is actually used for scheduling
    6. whether the visible 100/100 score is rounded
    7. whether the result changes with a simplified test policy using only availability, skills, territory and minimize travel.
0/9000

Hi! 

 

I'm receiving this message in my VS Code when trying to use AgentForce. I'd like to understand which license is needed to use it, or if it has expired. Because I've already assigned the permission sets for the AgentForce and Einstein licenses and it doesn't work. The error persists. 

 

Message: Agentic Chat requires a Foundations license and perm. Contact your admin to enable access. 

2 件の回答
  1. 6月25日 4:14

    You likely need Salesforce Foundations enabled plus the required Agentforce Vibes/Agentic Chat permission, especially View All Data

      

    Please note, Agentforce and Einstein permission sets alone may not satisfy this error. 

0/9000

Hi Everyone, 

I need to add an option to create work plans in the FSL mobile app. 

I have created a flow based on "Field Service Mobile Flow" type, but I am experiencing some limitation and cannot proceed with the implementation.  

Has anyone found a solution for this?    

@* Salesforce Field Service * 

2 件の回答
  1. 6月25日 4:18

    Hey @Bat-Hen Roda - It's hard for anyone to suggest a solution without specific details of the limitation or the blocker you are hitting. In case you are seeing different behaviour on mobile app but it works on desktop then please note Field Service Mobile Flows behave differently from desktop flows. Salesforce notes that each Create, Update, or Delete action in a Field Service Mobile Flow runs as a separate transaction, so complex record creation logic can behave differently from a normal desktop Flow. Would be good to get more details on your issue.

0/9000

Hello,  I need to see where a service resource's location was 2 years ago.  I do have 'Collect Service Resource Geolocation History' enabled.  Will this allow me to report on the service resources location in the past 2-4 years?   

1 件の回答
  1. 6月23日 22:18

     If Collect Service Resource Geolocation History has been enabled continuously, then you should have historical location records available from the point it was turned on. Whether you can see data from 2–4 years ago depends on your org's data retention policies and whether any cleanup/archive processes have removed older records. 

0/9000

Hey Trailblazers, 

 

Question for the collective! We have 15 Product Families in our Field Service instance and 10 different rate charges as well as 6-10 different Price books that all need to be updated with a new rate. How is everyone going about updating their multiple price books? We were advised to use Apex code, but it looks to be 750 different files from what we were advised, that would need to be created, and that doesn't make a lot of sense to us. Please advise on what you all have done to make things work for you! 

 

Thanks so much.  

 

#Salesforce Field Service

1 件の回答
  1. 6月21日 3:57

    @Michael McCarthy

     

    This is a data job, not a coding job. No Apex needed.  

    You're updating PricebookEntry records. Each one is just a Product plus a Price Book plus a price. Lots of records, but still just records. Data Loader handles this.

    Three steps:

    Export first. Pull every PricebookEntry with Id, Pricebook2Id, Product2Id, UnitPrice. The Id is the key column. It lets you update in place instead of making duplicates.

     

    SELECT Id, Pricebook2Id, Product2Id, UnitPrice FROM PricebookEntry

    Edit in spreadsheet. Open the export, change UnitPrice to your new rates. Sort by product family and price book, apply the right rate to each group. Your 15 families and 10 charges get sorted out here in a few minutes.

    Load back in. Run Data Loader Update (not Insert), match on Id. One job. Thousands of records updated in one pass. 

    Few things to watch:

    Test in the sandbox first. Price changes ripple into quotes, work orders, and estimates. See it work safely once, then repeat in production.

    Standard price book matters. Custom price book entries need the standard entry to exist. You're updating existing entries, so this shouldn't cause issues, but Data Loader's error file will flag any that do.

    If this repeats yearly, save your Data Loader mappings. Next year is push-button. That's the only automation you need. Still not Apex.

    Where the Apex advice came from: code only makes sense if rates must recalculate automatically based on business logic. Even then, one Flow or one trigger does it, not 750 files. For a bulk rate refresh, Data Loader is the tool. An afternoon of work, not a dev cycle. 

    -SP

0/9000

We are testing out the new Scheduling Console to see if it will be a worthwhile replacement to the "Classic" Field Service tab/gantt, and one huge issue we're trying to find a solution for now is that we can't seem to figure out how to create custom Service Resource filters. The way it worked in the classic console was to add the filter fields to the Field Set in Setup, but I can't find any way to achieve this in the new Scheduling Console. Is it possible, and if so how?

3 件の回答
0/9000

In the classic Dispatcher Console/Gantt there was a filter option to "Show Working Resources Only", which was very useful for hiding resources that weren't actually rostered or available on a given day.New Scheduling Console: Equivalent to

We're currently testing the new Scheduling Console and I can't seem to find an equivalent feature. The available resource filters appear to be limited to things like Resource Type and Skills.image.png

Has anyone found a way to achieve the same result in the new Scheduling Console and filter out non-working resources from the Gantt (e.g. resources with no shift or no operating hours on the selected day)? 

 

Or is this functionality not yet available / on the roadmap?

 

Thanks!

1 件の回答
0/9000

Hi all,  

after recent updates the community user are unable to execute Field Service Mobile Flow using the "Complete" action of a Work Step. They receive an error that they are not allowed to run the flow now. 

I checked that all profiles has Run Flow permission, I tried to give direct access to specific flows to the profiles involved without results. 

 

All internal User are able to execute these flow using the "Manage Flow" permission... but the Community profile don't have this permission. 

 

How can I fix this? Is it a bug/issue or is now work as intended? 

Before recent updates community users were able to run these flows. 

 

Thanks

9 件の回答
  1. Heiko Lindner (Privat) Forum Ambassador
    6月18日 19:20

    @Giuseppe Ianiri once again, I mean it's not an issue with the flow or flow permissions, because your users are able to run the flow on mobile app. If I remember right, it was an issue with the sharing of work plans or work orders.

0/9000

Could someone please point me to training materials or knowledge articles about the new Field Service Scheduling Console (NOT the "Classic Dispatch Console")? Having trouble finding anything to help us learn how the new UI works and how best to configure it.  Thank you!

2 件の回答
0/9000

How do i remove the ability to edit the Product Item record from Inventory in FSL mobile app? Alternatively is there a way of preventing users from editing the "quantity on hand" field? I was hoping to simply remove the "Edit Product Item" action, but doesn't seem possible, unless i'm missing something?

 

@* Salesforce Field Service * 

6 件の回答
  1. 2022年1月28日 19:50

    So if you chose to uncheck the box in Field Service Mobile Settings for full Edit Access on records the only place the Technician could potentially go to actually attempt to update the Quantity on Hand would be through the Inventory Tab > Edit Inventory Action.

     

    To your point, making the quantity on hand field read only isn't possible as far as I know, just based on past experience and what I see in the org.  You would have to go the route of making the entire Product Item Object Read Only, which could get complicated in my opinion.

     

    You'd most likely have to make it Private in OWD Settings, then open it up from there using Sharing Rules, which depending on how many Items you have, could get difficult to manage.  You'd have to determine who is going to get Edit Access, who would remain read only, etc... and then confirm that there are no implications into your current processes based on the Items being just read only for certain folks.  To be honest, that does not sound like a fun path to go down.

     

    You could investigate using a Validation Rule on the Product Item, using something like an ISCHANGED() on the Quantity on Hand Field as well validate the profile.  So in essence if the quantity on hand is changed and the user doing it is a technician profile, then show the validation error.

     

    Again, if you went that route you would want to test throughly to confirm that doesn't have an impact in the product consumption process, which you might be ok on as long as the running user to create the product item transactions is the system and not the technician.

     

    Also keep in mind that if you go this route, the user would still be able to attempt the editing of their inventory through the inventory tab, but when that change tried to sync to the database, it would throw an error.  That error would be visible in the profile tab.

     

    You would need to be mindful to of when the stock transactions you mentioned occur in the other app, do those come through into SF tagged to an integration user or directly to the technician salesforce user, as that could trigger the validation as well.

     

    Hope this helps!

0/9000