Customizing D365 App for Outlook
Complete the full lesson to earn 25 points
Work through each section, then tap “Mark as Complete” on the last one.
✦ Skip the page breaks and see fewer ads — read each lesson on a single page with Pro
Lesson: Customizing the Dynamics 365 App for Outlook
Introduction: Bridging the Gap Between Communication and CRM
In the modern professional landscape, email remains the primary workspace for sales and service representatives. While Dynamics 365 (D365) provides a powerful platform for managing customer relationships, the reality is that most users spend the majority of their day inside Microsoft Outlook. If a user has to constantly toggle between their email client and a browser tab to update lead statuses, log activities, or check customer history, productivity suffers, and data quality degrades. The Dynamics 365 App for Outlook is designed to eliminate this friction by embedding the CRM interface directly into the email environment.
Customizing this app is not merely a technical task; it is a strategic necessity for organizations that want to ensure high user adoption and accurate data entry. By tailoring the app to display only the relevant fields, views, and forms for specific roles, you reduce cognitive load on the user and ensure that only the most critical information is captured. This lesson explores how to move beyond the out-of-the-box experience to create a bespoke integration that aligns perfectly with your business processes.
Understanding the App for Outlook Architecture
Before diving into the customization steps, it is important to understand how the App for Outlook functions. It is essentially a lightweight, web-based interface that leverages the Unified Interface framework used in the main D365 web application. When you customize the App for Outlook, you are largely modifying existing model-driven app components, specifically the "Dynamics 365 App for Outlook" app module.
The app relies on the D365 server to render forms and views, meaning that your changes in the Power Apps maker portal are reflected in the Outlook side pane. Understanding this relationship is critical: you are not building a separate application from scratch. Instead, you are curating the experience by selecting which tables, forms, and views are exposed to the user within the context of an email or calendar item.
Callout: The "One-Way" vs. "Two-Way" Data Flow Concept It is a common misconception that the App for Outlook is a separate database. It is not. It is a portal into your existing Dataverse environment. When you customize the App for Outlook, you are essentially defining a "viewing window" into your CRM data. Changes made in Outlook are written directly to Dataverse, and changes made in Dataverse are immediately visible in Outlook. This synchronization is managed by the server-side sync mechanism, ensuring that your customizations apply globally across the organization.
Step 1: Navigating the App Designer
To begin customizing the app, you must access the Power Apps maker portal. Navigate to the environment where your D365 instance is hosted and open the "Apps" area. You will see a list of model-driven apps. Look for the app named "Dynamics 365 App for Outlook."
- Click the ellipsis (...) next to the app and select "Edit." This opens the App Designer, which is the primary tool for modifying the app's structure.
- The App Designer provides a canvas where you can add or remove tables (entities), forms, views, and dashboards.
- On the left-hand navigation pane, you will see a list of tables currently included in the app. If you need to add a custom table—for example, a "Project" or "Service Request" table—you can click "Add" and select the table from your environment.
Managing Forms and Views
When you select a table in the App Designer, you will see a list of its associated forms and views on the right-hand panel. This is where you control what the user sees when they open a record in Outlook.
- Forms: The App for Outlook uses the "Main Form" of a table. However, if you have multiple forms, you can select which ones are available. It is best practice to create a specific, slimmed-down form for Outlook usage. A form with fifty fields is unusable on a small email side pane.
- Views: Views determine the lists displayed when a user searches for a record. Ensure that the "Lookup View" and "Quick Find View" are optimized for the mobile-like experience of the Outlook pane.
Note: Always remember to "Publish" your changes after editing the app. Changes will not be visible to users until the app is published, and users may need to refresh their Outlook client or wait a few minutes for the cache to update.
Step 2: Optimizing Forms for the Outlook Pane
The real estate in the Outlook side pane is limited. If you use your standard, full-sized desktop forms, users will be forced to scroll excessively, leading to frustration and poor data quality. To optimize, you should create a dedicated form specifically for the App for Outlook.
Best Practices for Form Design
- Limit Field Count: Keep the form to only the most essential fields required for the task. For a lead, this might be "Topic," "Company," "Status," and "Primary Contact."
- Use Sections and Tabs: Even in a slimmed-down form, use tabs to organize information logically. For example, have a "Summary" tab for immediate actions and a "History" tab for past activities.
- Field Placement: Place the most frequently edited fields at the very top of the form. Do not force users to scroll down to update a Lead status.
- Business Rules: Use Business Rules to show or hide fields based on other values. This keeps the form clean and prevents users from being overwhelmed by irrelevant fields.
Example: Creating a Streamlined Lead Form
If you want to create a form specifically for the App for Outlook, follow these steps:
- Navigate to the Table definition in your solution.
- Create a new form and name it "Outlook Lead Form."
- Remove all non-essential fields.
- Set the field "Company" as a required field, as this is often the most important identifier for a sales lead.
- Save and publish the form.
- Return to the App Designer, select the "Lead" table, and ensure only the "Outlook Lead Form" is selected (or ensure it is the default form).
Step 3: Utilizing Quick Create Forms
Quick Create forms are essential for the App for Outlook. These are the forms that appear when a user clicks the "+" icon to create a new record (like a new Lead, Contact, or Opportunity) directly from an email.
If you do not configure a Quick Create form, the system will default to the standard form, which might be too large or complex. A well-designed Quick Create form should capture only the bare minimum information necessary to instantiate a record.
Designing a Quick Create Form
- Create a new form of type "Quick Create" in the form editor.
- Add fields like "First Name," "Last Name," "Email," and "Company."
- Ensure that the form is enabled for the entity.
- Once published, the user will see a clean, pop-up style window when they click the "+" button in Outlook, allowing them to create records in seconds without leaving their email.
Tip: If your organization uses mandatory fields, ensure that those fields are included on your Quick Create form. If a field is required in Dataverse but missing from your Quick Create form, the user will receive an error when they try to save, creating a frustrating loop.
Step 4: Configuring Views for Searching
When a user searches for a record to track an email against, they are using the "Quick Find" view. If your Quick Find view contains too many columns or is not configured correctly, the search results will be messy and difficult to parse.
Optimizing Quick Find
- Open the Table in the solution explorer.
- Navigate to "Views" and select the "Quick Find Active [Table Name]" view.
- Click "Edit columns" and select only the columns that are essential for identifying the record. For example, for a Contact, include "Full Name," "Account Name," and "Email."
- Click "Find columns" to select which fields are searchable. It is common practice to include "Full Name," "Email," and "Phone Number." This ensures that when a user types a name or email address into the search bar in the App for Outlook, the system returns accurate results quickly.
Step 5: Advanced Customizations with JavaScript (Client-Side Logic)
While most customization is done via the App Designer, there are times when you need more control. You can add JavaScript web resources to your forms to perform complex validation or automate processes.
For example, you might want to automatically populate a field based on the email address of the sender, or perhaps you want to trigger a warning if a user tries to create a Lead for an existing customer.
Example: JavaScript to Auto-Populate Fields
// Simple script to set a field value on load
function formOnLoad(executionContext) {
var formContext = executionContext.getFormContext();
// Check if the form is in 'Create' mode
if (formContext.ui.getFormType() === 1) {
// Set a default value for a custom field
formContext.getAttribute("new_source").setValue("OutlookEmail");
}
}
To implement this:
- Create a JavaScript web resource in your solution.
- Open your "Outlook Lead Form" in the form editor.
- Go to the "Events" tab on the form properties.
- Add the JavaScript file and register the
formOnLoadfunction to theOnLoadevent. - Save and publish.
Warning: Be cautious with JavaScript in the App for Outlook. Because the app is web-based and potentially running on various network conditions, heavy scripts can slow down the loading time of the side pane. Always test your scripts thoroughly to ensure they do not cause performance degradation.
Common Pitfalls and How to Avoid Them
Even with a well-planned customization strategy, several common mistakes can hinder the performance and usability of the App for Outlook.
1. Over-Customization
The biggest mistake is trying to replicate the entire CRM web experience inside Outlook. The App for Outlook is meant for quick tasks—tracking emails, creating leads, and checking basic history. If you add too many sub-grids, complex dashboards, or heavy scripts, the app will become sluggish. Keep it lean.
2. Ignoring Security Roles
Customizing the app is one thing; ensuring users have the right permissions to see those customizations is another. Always verify that the security roles assigned to your users grant them access to the tables and fields you have added. If a user cannot see a field, it is often a security role issue, not a customization issue.
3. Forgetting the Mobile Experience
The App for Outlook is also the engine for the Dynamics 365 mobile app in many configurations. If you design a form that works well on a desktop monitor but is unusable on a mobile phone, you are creating work for yourself later. Always test your form designs on a mobile device to ensure they are responsive and easy to navigate.
4. Poorly Configured Search
If users cannot find the records they need, they will stop using the integration. Invest time in configuring your "Quick Find" views. If users are searching by account name but the account name isn't a "Find Column," they will get no results.
5. Neglecting Cache Issues
When you update a form or add a new field, the change might not appear immediately in Outlook due to browser or client-side caching. If you make a change and don't see it, try closing and reopening Outlook, or clearing the browser cache if you are using Outlook on the Web.
Comparison: Out-of-the-Box vs. Custom App Configuration
| Feature | Out-of-the-Box | Custom Configuration |
|---|---|---|
| Form Complexity | High (Default system forms) | Low (Streamlined for mobile/pane) |
| Field Visibility | All fields shown | Only relevant fields shown |
| Searchability | Standard search | Optimized Quick Find columns |
| User Efficiency | Moderate (Requires scrolling) | High (Optimized for speed) |
| Maintenance | Minimal | Requires periodic updates |
Best Practices for Enterprise Deployment
When deploying customizations across an entire organization, follow these best practices to ensure consistency and stability.
Use Solutions
Always perform your customizations inside a dedicated Solution. Do not make changes directly in the "Default Solution." This allows you to manage versions, move changes between environments (Development, Test, Production), and keep track of your modifications.
Implement a Staging Environment
Never push changes directly to your production environment. Create a sandbox or staging environment that mirrors your production setup. Test your forms, views, and JavaScript scripts there first. Only when you have confirmed that everything works as expected should you export your solution and import it into production.
User Feedback Loops
The best way to know if your customizations are effective is to ask the people using them. Sit with a sales representative for 30 minutes and watch how they use the app. Do they struggle to find the "Save" button? Do they find themselves typing the same information twice? Use this feedback to iterate on your design.
Documentation
Maintain a simple document that lists the customizations you have made. Include why you made them and which roles are affected. This is invaluable when you need to troubleshoot issues or when a new administrator takes over.
Callout: The Importance of "Tracking" The most vital feature of the App for Outlook is the ability to "Track" an email against a record in D365. This action links the email to the CRM record. When customizing, ensure that your users understand the difference between "Tracking" (linking the email to a record) and "Setting Regarding" (linking the email to a specific entity record like a Case or Opportunity). A well-customized app makes these buttons prominent and easy to use, which is the key to maintaining a clean CRM database.
Troubleshooting FAQ
Q: Why don't my custom fields show up in the App for Outlook? A: First, ensure you have added the field to the specific form you are using in the App for Outlook. Second, ensure you have published the changes. Third, check the field-level security profile to ensure the user has permission to view that specific field.
Q: Can I create a custom dashboard for the App for Outlook? A: Yes, you can add dashboards to the App for Outlook. However, keep in mind that the space is limited. Use a single-column layout for the dashboard to ensure it displays correctly within the Outlook side pane.
Q: My users are complaining about slow load times. What should I look for?
A: Check for heavy JavaScript on the OnLoad event of your forms. Also, review the number of sub-grids on your forms. Each sub-grid requires a separate query to the database, which can increase load time.
Q: How do I hide the "Activities" tab if my team doesn't use it? A: You can remove the "Activity" entity from the App Designer if it is not required for your workflow. This will remove the tab from the interface, simplifying the user experience.
The Future of Outlook Integration
As Microsoft continues to evolve the Dynamics 365 platform, the integration between Outlook and the CRM is becoming deeper and more intelligent. Features like AI-powered suggestions for tracking emails and automated contact creation are already changing the game. By mastering the fundamental customization techniques outlined in this lesson, you are building a solid foundation that will allow you to adopt these newer, more advanced features as they become available.
Customizing the D365 App for Outlook is a journey of continuous improvement. As your business processes change, so too should your app configuration. Do not be afraid to revisit your forms and views every quarter to ensure they are still providing value to your users.
Key Takeaways
- Context is King: The App for Outlook is a window into your CRM, not a separate entity. Keep customizations focused on the specific tasks performed within an email context.
- Form Optimization: Always create dedicated, slimmed-down forms for the Outlook side pane to prevent unnecessary scrolling and improve user experience.
- Quick Create is Essential: Use Quick Create forms to allow users to add data to the CRM without ever leaving their inbox.
- Search Performance: Invest time in configuring "Quick Find" views to ensure your users can locate the records they need quickly and efficiently.
- Test Before You Deploy: Always use a sandbox environment and a proper solution management strategy to push changes to production.
- Performance Matters: Avoid heavy scripts and overly complex forms that can degrade performance and discourage user adoption.
- Iterate Based on Feedback: The best customizations are those that solve real problems for your users; observe their workflows and adjust your configuration accordingly.
By following these guidelines, you will transform the Dynamics 365 App for Outlook from a standard tool into a powerful, tailor-made assistant that drives productivity and ensures that your CRM data is always accurate and up-to-date. Take the time to plan your changes, test them thoroughly, and keep the user experience at the forefront of every decision.
Continue the course
Enjoying the courses?
Everything stays free. Pro shows fewer ads, doubles your daily points limit so you progress twice as fast, and lets you read each lesson on one page.
- ✓ Fewer advertisements
- ✓ 2× daily points limit
- ✓ Distraction-free lessons