{"id":9321,"date":"2025-11-17T21:51:30","date_gmt":"2025-11-17T21:51:30","guid":{"rendered":"https:\/\/pariswells.com\/blog\/?p=9321"},"modified":"2025-11-20T21:52:16","modified_gmt":"2025-11-20T21:52:16","slug":"dynamics-365-on-prem-email-addin-not-working","status":"publish","type":"post","link":"https:\/\/pariswells.com\/blog\/research\/dynamics-365-on-prem-email-addin-not-working","title":{"rendered":"Dynamics 365 On Prem Email Addin Not working"},"content":{"rendered":"\n<p>Sorry for this to take some time. After some investigation, our PG has identified this is caused because EWS and REST API legacy tokens on deprecation path, D365 Mail App users connected to EXO may be impacted by these changes:<\/p>\n\n\n\n<p><a href=\"https:\/\/aus01.safelinks.protection.outlook.com\/?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fexchange%2Fclients-and-mobile-in-exchange-online%2Fdeprecation-of-ews-exchange-online%23ews-deprecation-timeline&amp;data=05%7C02%7CParis.Wells%40pa.com.au%7C408b16ce8cf94120069508de257b7054%7Ce417d5cce5d84cadb2cdc5ef82dea0a0%7C0%7C0%7C638989409498650625%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;sdata=XRKXp%2B8JFTMuezwU5psF2hJTLgCrJKYoQZFvLZiWGH0%3D&amp;reserved=0\">Deprecation of Exchange Web Services in Exchange Online | Microsoft Learn<\/a>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/aus01.safelinks.protection.outlook.com\/?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Foffice%2Fdev%2Fadd-ins%2Foutlook%2Ffaq-nested-app-auth-outlook-legacy-tokens%23what-is-the-timeline-for-shutting-down-legacy-exchange-online-tokens&amp;data=05%7C02%7CParis.Wells%40pa.com.au%7C408b16ce8cf94120069508de257b7054%7Ce417d5cce5d84cadb2cdc5ef82dea0a0%7C0%7C0%7C638989409498674602%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;sdata=3AzUrZkestLypo5YKI3tMq5f8%2F8BgxwKsKJ9Zr%2BnbhA%3D&amp;reserved=0\">Nested app authentication and Outlook legacy tokens deprecation FAQ &#8211; Office Add-ins | Microsoft Learn<\/a><\/p>\n\n\n\n<p>User will see UI notification that Exchange is not available:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-7.png\"><img loading=\"lazy\" decoding=\"async\" width=\"354\" height=\"135\" src=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-7.png\" alt=\"\" class=\"wp-image-9323 img-responsive\" srcset=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-7.png 354w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-7-300x114.png 300w\" sizes=\"auto, (max-width: 354px) 100vw, 354px\" \/><\/a><\/figure>\n\n\n\n<p>And in console errors like this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-8.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"248\" src=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-8-1024x248.png\" alt=\"\" class=\"wp-image-9324 img-responsive\" srcset=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-8-1024x248.png 1024w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-8-300x73.png 300w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-8-768x186.png 768w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-8.png 1261w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"879\" height=\"313\" src=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-6.png\" alt=\"\" class=\"wp-image-9322 img-responsive\" srcset=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-6.png 879w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-6-300x107.png 300w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-6-768x273.png 768w\" sizes=\"auto, (max-width: 879px) 100vw, 879px\" \/><\/a><\/figure>\n\n\n\n<p><strong>Suggested Solution:<\/strong><\/p>\n\n\n\n<p><strong>Create 3 party App registration on the Azure Tenant<\/strong>&nbsp;<\/p>\n\n\n\n<p><strong>Create new app registration<\/strong>&nbsp;<\/p>\n\n\n\n<p>?&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-10.png\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"298\" src=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-10.png\" alt=\"\" class=\"wp-image-9326 img-responsive\" srcset=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-10.png 720w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-10-300x124.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Fill required fields<\/strong>&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>App name&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Supported accounts -?<em>Accounts in this organizational directory only (Mystery Incorporated only &#8211; Single tenant)<\/em>&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Redirect URL,?<strong>Please replace crm_org_domain<\/strong>\ud83d\ude15<em>SPA &#8211; <\/em><em>https:\/\/<\/em><strong><em>&lt;crm_org_domain&gt;<\/em><\/strong><em>\/crmmailapp\/msalAuth.html<\/em>&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-11.png\"><img loading=\"lazy\" decoding=\"async\" width=\"903\" height=\"633\" src=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-11.png\" alt=\"\" class=\"wp-image-9327 img-responsive\" srcset=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-11.png 903w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-11-300x210.png 300w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-11-768x538.png 768w\" sizes=\"auto, (max-width: 903px) 100vw, 903px\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Update API permissions<\/strong>&nbsp;<\/p>\n\n\n\n<p>Once app registration created, navigate to &#8220;Api permissions&#8221; section and add corresponding permissions for the Graph and grant admin consent&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-9.png\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"285\" src=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-9.png\" alt=\"\" class=\"wp-image-9325 img-responsive\" srcset=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-9.png 800w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-9-300x107.png 300w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-9-768x274.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/figure>\n\n\n\n<p>R<strong>ecord AppId and TenantId for the next step:<\/strong>&nbsp;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-14.png\"><img loading=\"lazy\" decoding=\"async\" width=\"903\" height=\"534\" src=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-14.png\" alt=\"\" class=\"wp-image-9330 img-responsive\" srcset=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-14.png 903w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-14-300x177.png 300w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-14-768x454.png 768w\" sizes=\"auto, (max-width: 903px) 100vw, 903px\" \/><\/a><\/figure>\n\n\n\n<p>?&nbsp;<\/p>\n\n\n\n<p>?&nbsp;<\/p>\n\n\n\n<p><strong>Import D365 Mail App settings solution<\/strong>&nbsp;<\/p>\n\n\n\n<p>Link on the managed solution:\u00a0<a href=\"http:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/D365MailAppsettings_1_0_0_0_managed.zip\">http:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/D365MailAppsettings_1_0_0_0_managed.zip<\/a><\/p>\n\n\n\n<p><strong>Add App Id to the D365 Mail App settings<\/strong>&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Access to the entity with setting via page: https:\/\/<strong>&lt;org_domain&gt;<\/strong>\/main.aspx?pagetype=entitylist&amp;etn=mailapp_setting&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create new record and fill this way:&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><strong>Name<\/strong>: graph_appid&nbsp;<\/p>\n\n\n\n<p><strong>Setting value<\/strong>: App id saved from previous step.&nbsp;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-13.png\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"300\" src=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-13.png\" alt=\"\" class=\"wp-image-9329 img-responsive\" srcset=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-13.png 720w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-13-300x125.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Add AAD Tenant Id to the D365 Mail App settings<\/strong>&nbsp;<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Access to the entity with setting via page: https:\/\/<strong>&lt;org_domain&gt;<\/strong>\/main.aspx?pagetype=entitylist&amp;etn=mailapp_setting&nbsp;<\/li>\n<\/ol>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Create new record and fill this way:&nbsp;<\/li>\n<\/ol>\n\n\n\n<p><strong>Name<\/strong>: azure_tenantid&nbsp;<\/p>\n\n\n\n<p><strong>Setting value<\/strong>: Azure tenant Id.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-12.png\"><img loading=\"lazy\" decoding=\"async\" width=\"903\" height=\"270\" src=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-12.png\" alt=\"\" class=\"wp-image-9328 img-responsive\" srcset=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-12.png 903w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-12-300x90.png 300w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-12-768x230.png 768w\" sizes=\"auto, (max-width: 903px) 100vw, 903px\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Add read permission for settings for all users<\/strong>&nbsp;<\/p>\n\n\n\n<p>Navigate to security settings:?<strong>Settings -&gt; Security -&gt; Security roles<\/strong>&nbsp;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-15.png\"><img loading=\"lazy\" decoding=\"async\" width=\"891\" height=\"405\" src=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-15.png\" alt=\"\" class=\"wp-image-9331 img-responsive\" srcset=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-15.png 891w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-15-300x136.png 300w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-15-768x349.png 768w\" sizes=\"auto, (max-width: 891px) 100vw, 891px\" \/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Search for &#8220;<strong>Dynamics 365 App for Outlook User<\/strong>&#8221; security role.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Switch to the custom entities settings view and search for the &#8220;<strong>MailApp Settings<\/strong>&#8221; entity&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Set?<strong>Read<\/strong>?permission on the org level&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-16.png\"><img loading=\"lazy\" decoding=\"async\" width=\"903\" height=\"99\" src=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-16.png\" alt=\"\" class=\"wp-image-9332 img-responsive\" srcset=\"https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-16.png 903w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-16-300x33.png 300w, https:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/image-16-768x84.png 768w\" sizes=\"auto, (max-width: 903px) 100vw, 903px\" \/><\/a><\/figure>\n\n\n\n<p>Save changes.&nbsp;<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Note: Install latest artifacts for CrmMailApp folder<\/strong> from version <strong>9.1.0041.0006<\/strong><br><\/p>\n\n\n\n<p><a href=\"http:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/crmmailapp-updated-9.1.41.6.zip\">http:\/\/pariswells.com\/blog\/wp-content\/uploads\/2025\/11\/crmmailapp-updated-9.1.41.6.zip<\/a><\/p>\n\n\n\n<p>Starting?<strong>9.1.0041.0006<\/strong>?CRM build, customer doesn&#8217;t need this step otherwise we need to provide them private drop.&nbsp;<\/p>\n\n\n\n<p>Please check your version and let me know&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sorry for this to take some time. After some investigation, our PG has identified this is caused because EWS and REST API legacy tokens on deprecation path, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-9321","post","type-post","status-publish","format-standard","hentry","category-research"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/9321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/comments?post=9321"}],"version-history":[{"count":4,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/9321\/revisions"}],"predecessor-version":[{"id":9347,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/9321\/revisions\/9347"}],"wp:attachment":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/media?parent=9321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/categories?post=9321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/tags?post=9321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}