Unlocking True Sales AI: Teaching Sales Copilot to Speak Your Business Language
Introduction
In today’s fast-evolving sales landscape, organizations are increasingly turning to AI-powered tools like Sales Copilot in Dynamics 365 to streamline processes and empower their teams. However, a common challenge emerges; out-of-the-box AI solutions often struggle to understand the unique language, data models, and business terminology that define each sales organization. This blog explores how leveraging the Glossary feature in Microsoft Copilot Studio bridges this gap, making Sales Copilot truly fluent in your business language.
Current Challenges
Common Feedback from our customers highlights several recurring pain points:
“Copilot doesn't speak my business language.”
“We have a custom Ownership Model, meaning Show My Opportunities does not work.”
“The definition of Large / Top Opportunity is different for each business.”
“Copilot misunderstands certain terminology.”
“We have renamed some of the core Tables.”
“We never consider Stage 1 and 2 in sales pipeline.”
“SRT is our most common opportunity type, but Copilot doesn’t understand what it is.”
“How can we validate the results of Copilot’s output?”
These challenges stem from the disconnect between Copilot’s default understanding and the nuanced, domain-specific language and processes of each sales team.
What is the Glossary and How Does It Help?
The Glossary: A Bridge to Business Fluency
The Glossary is a powerful new feature in Copilot Studio that allows organizations to define custom domain knowledge—such as abbreviations, role-specific phrases, and unique business rules—in a structured way. This glossary is then used to paraphrase user questions, adding relevant domain-specific context before Copilot processes the query.
Key Benefits:
Aligns Copilot with your internal data models and business terminology.
Improves Copilot’s ability to interpret and respond to user queries with greater accuracy and contextual relevance.
Reduces ambiguity, especially when custom tables or terminology overlap with standard ones.
Enables organizations to manage and update business language as processes evolve.
Comparing the Flow: Without vs. With Glossary
Without Glossary
When a user submits a query, after content moderation; Copilot attempts to understand key phrases and link them to the Dataverse schema using its default knowledge before generating the SQL. This often leads to misunderstandings, especially when custom terminology or data structures are involved. For example, Copilot might misinterpret “Show my opportunities” by relying on the standard “ownerid” field, missing custom ownership models.
With Glossary
With the Glossary in place, Copilot paraphrases the user’s query using the custom definitions provided. This enriched query is then used for schema linking and SQL generation, resulting in more accurate and relevant responses. For instance, Copilot can now understand that “my opportunities” should be filtered based on a custom ownership definition in the glossary terms not the default owner.
Image 1: Logical flow - NL2SQL Generation Flow without and with Glossary
Real-World Scenario:
Let’s illustrate the impact with a real-world ownership scenario:
Scenario:
A sales organization uses a custom table “Pursuit Team” to track opportunity ownership by “Team Member,” rather than the standard “ownerid” field. Opportunity ownership is defined by the team members in the “Pursuit Team” table.
Image 2: Custom Ownership Scenario – Opportunity table connected to custom table ”Pursuit Team” with ”Team Member” field and connected to ”SystemUser” table and a ”role” field connected to ”Global Roles” cutstom table.
Here is the sample data screenshot with the above setup: (may be just replace the below one with the view filters screenshot)
Image 3: Custom Ownership sample data
Image 4: Custom Ownership definition
Before Glossary:
When a user asks Copilot to “Show my opportunities,” Copilot retrieves records based on the default "ownerid", missing the custom ownership logic.
Image 5: Show my opportunities response before configuring Glossary
After Glossary:
By adding a glossary entry that defines “my opportunities” as “get DISTINCT records from ‘opportunity’ table by ‘Name’, filtered by ‘pbc_teammember’ column for the current user in linked table ‘pbc_PursuitTeam’,” Copilot now returns the correct results, fully aligned with the organization’s custom model.
Image 6: Show my opportunities response after configuring Glossary
This transformation demonstrates how the Glossary feature empowers Copilot to deliver business-relevant answers, even in complex or highly customized environments.
Step-by-Step Configuration:
Follow the steps below to do the configuration:
Step 1: Navigate to Copilot Studio i.e., Go to https://copilotstudio.microsoft.com and open your Copilot in Dynamics365 Sales Agent
Step 2: Open the Knowledge Tab from the Copilot in Dynamics 365Sales. Under the Knowledge tab, choose the "SalesSpecificQnA" knowledge source you want to enhance.
Step 3: Access the Glossary Section i.e., Within the selected knowledge source, navigate to the Glossary tab. This is where you can define mappings between user-facing terms and Dataverse schema elements.
Step 4: Add Glossary Entries. Each glossary entry typically includes:
Term: Word or phrase to identify, distinguish glossaries.
Description: Concise knowledge statement for Agent to help understand custom scenarios to generate better responses.
“My Opportunities”: "To find "my opportunities", get DISTINCT records from 'opportunity' table by 'Name'. Filter records by 'pbc_teammember' column for the current user in linked table 'pbc_PursuitTeam' by linking 'pbc_Opportunity'. Return key details from 'opportunity' table. Do not show 'ownerid' field.”
Step 5: Save and Test. After adding your glossary terms, save the changes. Use the Test Agent feature to validate that the glossary terms are correctly interpreted in user queries.
Step 6: Verify in Dynamics 365 Sales. Navigate to Dynamics 365 Sales app and launch the Copilot in Sales. Prompt “Show my Opportunities” now it should return the opportunities based on the custom ownership you defined.
Validate the Configuration
Important: During testing, it’s best to validate and check if the SQL generated is correctly capturing the custom table relationship you intended based on the Glossary Definition.
Debug using the Developer Tools in Dynamics 365 Sales: Launch the Developer Tools (F12) and observe the network call and review the "QueryStructuredData" response to understand how the glossary is helping to get the response. The response object has the tSql and fetchXml genarated to review.
Image 7: Show my opportunities - response object from network trace - TSQL and FetchXML
In addition, the response object also shows how the Copilot in Sales - executed the plan.
Image 8: Show my opportunities - response object from network trace - Execution plan
Best Practices
To maximize the value of the Glossary feature, consider these best practices:
Start with the Glossary: Define your custom tables and relationships before adding synonyms.
Use clear, unambiguous language: Write glossary entries as if explaining to a new team member.
Reference to schema names: Clearly state what each table or field is—and is not—to reduce ambiguity.
Limit synonyms: Only add synonyms where there is a clear, recurring need.
Test, observe, refine: Use real-world prompts and network trace tools to validate Copilot’s understanding.
Document and share learnings: Maintain a record of glossary and synonym changes and share best practices across teams.
Conclusion
Teaching Copilot to speak your sales team’s language is no longer a distant goal—it’s a practical reality with the Glossary feature in Copilot Studio. By capturing your organization’s unique terminology and business rules, you can transform Copilot from a generic assistant into a true sales partner, delivering accurate, context-aware responses that drive productivity and user satisfaction.
Ready to make Copilot fluent in your business? Start building your glossary today and experience the difference!

Like
Report
*This post is locked for comments