If you use a slot resolver for a conversational slot and set the Slot Inference Policy to Infer slot value if available, it will pull from the User Profile.. for example, their location from ingested user data. This can be an issue for some plugins where similar data exist but has nothing to do with what the plugin is asking for. It would also be beneficial to be able to define what each ingested element from the User Profile is, allowing context for Moveworks to better understand when to use those slots.
Example:
We’ve built a Conversation Flow where one input is a state, and we provide a list of states. If a state matches the user’s profile, the Infer slot value will automatically select that state instead of presenting the choice to the user—even if we add notes in the plugin description, conversation process, and input variable advising not to use the user profile location. This matters because the state they select is intended for a location they need information on, not necessarily their own.
Solution:
Under the slot resolver, there should be an option or DSL rule to exclude either all or specific parts of the User Profile.
Pseudo Code:
NOT data.target_user
NOT data.target_user.user
Additional Suggestion:
It would also be helpful to have a checkbox to ignore previous conversational context, using only context from the trigger phrase onward. While this wouldn’t apply in most cases, it would prevent issues when multiple similar requests are made back-to-back. For example, asking for PTO, then submitting PTO, and then asking again—current behavior may reuse old context and return outdated values, even though the response looks correct to the user.