Introduction
Now that Agentforce (for Service at least) is GA we have access to the latest Atlas Reasoning Engine. That's the theory at least - I haven't seen a way to find out what version is in use, which models it has access to etc, but that doesn't worry me too much as I can't change or influence it anyway. Anecdotally I do feel that the ability to handle requests with more than one step has improved over the last few months, but this sounded like a step change - Chain of Thought reasoning and an iterative approach to finding the best response!
My focus continues to be on Copilot (aka Agentforce for CRM, or whatever name it's going by this week), but I'm writing rather more custom actions than I'd like. Each of these introduces a maintenance overhead and as Robert Galanakis wisely wrote "The code easiest to maintain is the code that was never written", so if there's a chance to switch to standard functionality I'm all over it.
The Tests
Where I've found standard Copilot actions less than satisfactory in the past is around requests that require following a relationship between two objects and applying filters to each object. Show me my accounts created in the last 200 days with contacts that I've got open tasks against, that kind of thing. Typically it would satisfy the account ask correctly but miss the contact requirement. Now I can easily create an Apex action to handle this request, but the idea of an AI assistant is that it handles requests for me, rather than sending me the requirements so I can build a solution!
I've created 4 products with similar names:
- Cordless Drill 6Ah
- Cordless Drill 4Ah
- Cordless Drill 2Ah
- Travel Cordless Drill
Test #1
-
First it looked for products matching 'Cordless Drill'
A limit of 10,000 seems a bit large, but I guess this isn't being passed on to an LLM and consuming tokens. - Then it finds the opportunities which have line items matching any of the 'Cordless Drill' products.
-
Then it pulls the information about the Opportunity.
Interesting that it only narrows it to my Opportunities at this point - it feels like the line item query could get a lot of false positives.
Test #2
Test #3
-
The products matching 'cordless drill' had been identified correctly
This was through a separate query, presumably because I'd mentioned 'product' - The opportunity line items are queried for the products, but this time the query is retrieving the line item Id rather than the related Opportunity Id
- An attempt is then made to query opportunity records that are open, created in the last 300 days and whose Id matches the line item Id, which will clearly never be successful.
Conclusion
Related Posts
- Agentforce - the end of Salesforce Human Capital?
- Trailhead - Quick Start: Build Your First Agent with Agentforce
- Youtube - Agentforce Keynote
- The Evil Co-Worker presents Evil Copilot - Your Untrustworthy AI Assistant
- Five Einstein Copilot Gotchas
- Formatted Output from Copilot Custom Actions
- Einstein Copilot - AI + (most of your) Data + CRM
- Chaining Copilot Custom Actions
- Einstein Copilot Custom Actions
- Einstein Prompt Templates in Apex - the Sales Coach
- Einstein Prompt Grounding with Apex
- Hands on with Salesforce Copilot
- Hands On with Prompt Builder