▶ Watch related videos on YouTube — Search results for: Deploying GenAIPlannerBundle to Namespaced Scratch Org
Understanding the Issue
The error ‘Link between plugin and function should exist’ is encountered when the GenAIPlannerBundle is deployed to a namespaced scratch org, but not when deployed to a non-namespaced org or when the attribute mappings are removed.
This suggests that the issue lies in how the attribute mappings are defined, particularly in the context of a namespaced org.
The root cause of the issue is the missing namespace in the attributeName for attribute mappings. When retrieving the GenAiPlannerBundle from a namespaced org, the attributeName does not include the namespace, which prevents it from being pushed back to the org.
Resolving the Issue
To resolve the issue, the namespace must be included in the attributeName for attribute mappings. The corrected attribute mappings should look like this:
GenAIPlannerBundle.xml
namespace.Topic.Action.input_inputName CustomPluginFunctionAttribute variableName Variable
Note the inclusion of the namespace in the attributeName.
Best Practices
To avoid this issue in the future, it is essential to ensure that the namespace is included in the attributeName for attribute mappings when deploying a GenAIPlannerBundle to a namespaced scratch org.
Heads up: Always verify the attribute mappings when deploying a GenAIPlannerBundle to a namespaced org to avoid deployment errors.
Checklist
- Verify that the namespace is included in the attributeName for attribute mappings
- Test the deployment in a non-namespaced org before deploying to a namespaced org
- Remove or comment out attribute mappings to isolate the issue
- Retrieve the GenAIPlannerBundle from the namespaced org to verify the attribute mappings
- Update the attribute mappings to include the namespace
- Redeploy the GenAIPlannerBundle with the corrected attribute mappings
Frequently Asked Questions
What is the cause of the ‘Link between plugin and function should exist’ error?
The error is caused by the missing namespace in the attributeName for attribute mappings.
How do I resolve the issue?
Include the namespace in the attributeName for attribute mappings.
Can I deploy a GenAIPlannerBundle to a namespaced org without attribute mappings?
Yes, deploying a GenAIPlannerBundle without attribute mappings will not encounter the ‘Link between plugin and function should exist’ error.
What is the best practice for deploying a GenAIPlannerBundle to a namespaced org?
Always verify that the namespace is included in the attributeName for attribute mappings before deploying a GenAIPlannerBundle to a namespaced org.
Need help shipping this in production?
Genetrix builds and untangles Salesforce Marketing Cloud and Agentforce setups for teams that want it done right the first time. If anything in this post sounds familiar, talk to us before it ships.