Salesforce’s Winter ’26 (v65) release brings some important updates to how Agentforce metadata works. These changes affect GenAiPlannerBundles
(agents), GenAiPlugins
(topics), and GenAiFunctions
(actions).
What's changed?
What's changed?
If you've been using agent versioning for downtime-free deployments, you'll have noticed that while your GenAiPlannerBundle
cloned automatically, you had to manually clone any referenced topics and actions. This meant changes to a new agent version often affected previous versions too.
Winter '26 restructures Agentforce metadata so agent versions are now fully isolated from each other. But this means some components won't be where you expect to find them.
Summer '25
In Summer '25, bot versions and planner bundles were versioned together, but topics and actions were shared between versions. You had to manually duplicate them and update references in your planner bundles. Any changes to a topic or action could change behavior across multiple agent versions.
When you added a standard (out-of-the-box) topic or action to your agent, Salesforce inlined a copy into your GenAiPlannerBundle
. If you looked for that topic under GenAiPlugin
metadata, you wouldn't find it - you needed to check inside the GenAiPlannerBundle
.
Winter '26
Winter '26 introduces a more structured layout with global topics and actions, and local topics and actions.
Asset Library
You can now create GenAiPlugins
and GenAiFunctions
directly in the Agent Asset Library. These are global topics and actions that you can add to any agent within Agent Builder. Create topics or actions here if you want to reuse them across multiple agents.
When you add a topic or action to an agent in Agent Builder, it's copied into the GenAiPlannerBundle
as a local topic or action with a reference back to the original global asset. You can now customize the topic or action safely, without affecting other agents.
Agent Builder
If you create a new topic or action within Agent Builder, it's only created as a local asset. You won't find it in Asset Library, which means you won't see it in a Gearset comparison, Workbench, or the Salesforce CLI as a GenAiPlugin
or GenAiFunction
.
This isolation means changes to agent versions are now truly separate. Updating one version won't introduce side effects into any others. Customers can now adopt agent versioning and avoid deactivating agents during deployments, which reduces downtime.
Retrieval and deployment behaviour
Retrieval and deployment behaviour
Metadata format | Org version | API version | Result | Notes |
v64 | v64 | v64 | ✅ | The metadata is stored in the old v64 format. |
v64 | v65 | v64 | ✅ | An upgraded org can be deployed to with old metadata. Both old and new formats work correctly. |
v64 | v65 | v65 | ✅ | Deploying old metadata with the new API works. |
v65 | v65 | v64 | ✅ | You can deploy the new metadata format using the old API version. |
v65 | v65 | v65 | ✅ | Deploying the new metadata format with the new API works as expected. |
v64 | v64 | v65 | ❌ | You can't use the v65 API on a v64 org. |
v65 | v64 | v64 | ❌ | A v64 org doesn't understand the new metadata format. |
v65 | v64 | v65 | ❌ | A v64 org can't handle the new metadata format or API. |
Known issues and resolutions
Known issues and resolutions
Deployment Errors
Here are some common deployment errors and what they mean:
common.exception.UniqueConstraintViolationException
This happens when a local topic contains actions that aren't local actions.
Error parsing file: The prefix "xsi"...
This is an XML syntax error. Add
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
to the root element.
Function not found: null
The system couldn't find a referenced function, but doesn't specify which one.
java.sql.SQLException: Failed to migrate custom topic to local
A deployment tried to reference an asset library topic that isn't compatible.
duplicate value found: <unknown> duplicates value on record with id: <unknown>
You're trying to add a local action with the same name as an asset action.
java.sql.SQLException: Failed to migrate file-based topics in bulk
You're trying to deploy a local topic link for a standard topic.
Error parsing file: Element <element name> is duplicated at this location in type <parent element name>
Reorder your XML elements so elements with the same name are adjacent.
Deleting Agents
The process for deleting agents has changed. You could delete v64 agents in the same package as their dependencies (like Flows or Apex). But with new-style agents, you need to remove local topics and local actions first before you can delete the agent itself.
Salesforce Documentation