Agentforce - A Mixed Bag
Agentforce has been “available” for a couple of months now - initially in Trailhead playgrounds starting at Dreamforce, as a not-completely-rebranded Copilot, and Agentforce for Service GA since October 25th. Salesforce have added 1,000 employees to help sell, so they are clearly doubling and tripling down.
I’ve been working with the Generative AI features since the start, primarily focused on the Copilot, and here’s what I think.
The Good
Autonomy
Yes, it’s still fairly limited at the moment, and we have to provide custom actions for most use cases that actually change data, but these Agents can and do work on their own. If you have simple uses cases you stand a good chance of being able to launch an Agent to help customers 24/7, that isn’t easily wrong-footed if someone asks an unexpected question, with minimal effort. The potential here is huge, but it will take a while to get there, and it won’t be something that most of us just turn on and start using.
Topics
The advent of Topics has really helped improve control over Copilot. The Salesforce mantra has always been “One Copilot To Rule Them All”, but once you had actions that were superficially similar but for very different use cases, you had to craft the request very carefully so the correct action was picked. While this is doable, users want their AI agents to be taking the load off them rather than refusing to work without perfect instructions, so it was never going to scale.
Topics essentially give you a Sub-Copilot per identified role. You can provide multiple detailed instructions to describe it’s role and what is needed from users before requests can be handled, which means that there is much less emphasis on the user making highly detailed requests. Note that once the Topic is chosen, only the actions configured for that topic may be used, so you’ll likely want to have a base set of actions around record retrieval etc that you apply to all Topics.
Einstein Data Library
The Einstein Data Library functionality is awesome, and is something I’ve been looking forward to for a while. The Data Library associated with an Agent (not Copilot yet as far as I can tell) is an external source of data for Retrieval Augmented Generation based on the contents of your Knowledge base, or documents that you upload. In case you can’t tell from the highlighting, document upload is the part that I’m most interested in. I’ve collected a bunch of notes around Data Cloud while earning Trailhead badges etc, and I uploaded this plus the official documentation into an Einstein Data Library, then configured a Service Agent to use this data library. I now have an Agent that I can pepper with questions on Data Cloud and be sure that it is using the information that I have provided to answer.
Consumption based charging
Yes, I know this isn’t universally popular, some organisations prefer a fixed cost per month that they know in advance, and lots more are just generally confused, but I think this is crucial to adoption of Agentforce. Agents need to be free or companies simply won’t use them, given the lack of clear ROI around this technology at the moment. The combination of this plus Foundations means most customers can dip a toe into the water with minimal upfront spend.
The Disappointing
What I’ve found most disappointing about the AI/Agentforce journey with Salesforce is that in trying to prove that they can move fast, they seem to me to have demonstrated the opposite. Yes, Copilot and Agentforce were launched in a far shorter timeframe than usual, but there’s a bit more to shipping a new feature/product than pushing an updated codebase out to your users.
Metadata support is lacking
Those of us that have been in the Salesforce ecosystem for a while remember the days when metadata support was the wild west. Some teams took it seriously, others didn’t give it a second thought. This became problematic once Salesforce started to take build automation and devops seriously, but you couldn’t deploy to an org without a bunch of manual steps. We were told that rules had been put in place ensuring all new features included metadata support, but that hasn’t been the case with Agentforce, which means we need to adopt a different approach to production deployments for this one feature.
Documentation lags functionality
Here’s a great example - some time ago (Winter ‘25 release I think, but not 100% sure) the requirement to define a capability type for Apex classes used to ground Flex Prompt Templates was removed. However, as of 17/11/2024 the example class in the help still suggests it is needed:
So let’s create the Prompt Template, deploy the sample class and see how we get on:
When I first hit this it took me a while to figure out that removing the modifier completely was the “valid value” it was looking for! That was a month or two ago, and the docs are still incorrect.
Understanding your metadata is a double edged sword
The biggest strength of Agentforce is that it understands your metadata, unlike third-party applications which need to be spoon fed everything. Unless there’s some metadata which it can’t understand, in which case you’re no better off. I’ve encountered this situation when trying to use Apex to ground a prompt, but some metadata that couldn’t be handled around the sObject typed parameters meant my code didn’t even get the chance to run.
Now I get that Copilot is essentially a product that needs to be able to work with any and every customer’s metadata, which is no small challenge. That said, if your product relies on parsing every kind of metadata that it’s possible to create, you should ensure it’s highly resilient so that when it encounters a single problem component it doesn’t break everything.
Quality could be better
It’s been 6-7 months that I’ve been using Salesforce’s Generative AI features in anger, particularly around Copilot, and I have to say I’ve found a surprising amount of issues for something that is priced as a premium product. I wouldn’t go so far as to say it’s buggy, but at times it’s felt like I’ve been carrying out the QA for Salesforce around custom actions. This is an area where Salesforce definitely need to up their game to be successful with Agentforce.
The Weird
What is going on with Marc Benioff’s one man crusade against Microsoft Copilot? I understand that he’s keen to point out the strengths of Agentforce in terms of its deeper connection to your data, but it’s starting to look they have him worried. If it really was Clippy 2.0, there would be no need to do anything other than watch customers and prospects be disappointed in real time.
As I was polishing this post, the news broke that Clara Shih had left her post as CEO of Salesforce AI. Clara Shih was very much the face of all things AI for Salesforce so her sudden departure is a bit of a surprise. Her replacement, Adam Evans, was the co-founder and CTO of Airkit.ai which was acquired by Salesforce and the basis for Agentforce, so less of a surprise there.