Skip to main content

Agentforce changes in the Winter '26 release

This article explains changes to Agentforce metadata in Salesforce's Winter '26 (v65) release. You'll learn how deployment and retrieval work across API versions, and what deployment errors to watch for.

David Rant avatar
Written by David Rant
Updated today

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?

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

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

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.

v64 reference metadata

GenAiPlannerBundle

GenAiPlugin

GenAiFunction

v65 reference metadata

GenAiPlannerBundle

Did this answer your question?