Check Plugin Timeout issues using Tracing in D365 CE
In Dynamics plugin implementations, you might have lengthy complex plugins that makes calls to Dynamics several times. I agree that calls to Dynamics should be as less as possible and use Link Entity as much as possible and the plugin should be well designed to handle such lengthy executions. However, there are instances where these plugins are probably updating some fields that in-turn trigger some other sync processes and the execution begins to take longer than it should. At times, such lengthy executions result in the plugin timing out. In the case of Dynamics 365 Online, the timeout is 2 minutes and you can’t change it. (In on-premise, you can) And now, you need to know what’s taking so long! So I want to propose a method which proved effective for me to identify this. First, in case you are looking to work with Tracing for plugins, here’s a great blog on the same – Debugging Your Plug-ins with the Plug-in Trace Log Add DateTime to Trace Logs One of the best approaches to identify what portion of the plugin execution is actually taking time to process is to keep adding Trace logs and that too, with a timestamp! This will give you an idea of what part of your plugin is taking long to execute and will give you a fair idea if anything needs to be redesigned. Set these traces at the very beginning of your plugin and at all necessary places as well as the very end to cover execution cycle well. And your logs will actually record the time when that operation was hit. So now, you have an idea of how the 2 mins are spent and maybe start troubleshooting in that direction. I hope this quick tip helps!
Share Story :
Store ‘Today’s Date’ in a field to use in workflow conditions in MS CRM
Most of us need this in our workflow conditions to check against – to have today’s date handy and then use them in If conditions in workflows. But, the filter in If conditions in workflows don’t let you dynamically select On or after ‘Today’. And when you want to compare to today’s date on selection of On or After, you are forced to enter a date and not dynamically select Today. To overcome this, here’s what you can do to simply store Today’s Date in all records. Calculated Date and Time field So workaround this, you can simply create a new Date and Time type of Calculated field to store the current date and use it in your workflow conditions or wherever you need it. Make sure the type of the field is Calculated and then, Edit the criteria. Select Now() function to set the value of the field. And the final criteria condition will simply look like the below Once you save and publish all your changes, you’ll see that the field is automatically populated with today’s date. Using in Workflow Conditions Now, you can use the same in the workflow conditions as shown below – and you should be able to use this in your workflow conditions which could look like this Hope this quick workaround comes handy!
Share Story :
Overbooking Bookable Resources in D365 PSA v3
Mircosoft D365 Project Service Automation is a product that unites technology, processes, and people together in streams such as sales, billing, resourcing and delivery in a company. Thus, a business can scale up high when they use this particular software. They can complete the project on time and within the budget as a result of using this product from Microsoft. Businesses can accelerate the maturity of their professional services when they use this software. Managing the project becomes easy for the management team and the project managers. Learning and using software is also pretty easy. It does not take a lot of time to master this product. Here are some details of how this software will help your company: While booking resources, you often don’t pay attention to how much capacity the resource has. Or rather, you are aware, but you want to book the resource anyway (only to change later on, which I don’t recommend.) In that case, if you are trying to overbook a resource out of their capacity, you are treated with this message below – Why this occurs? This is because of the Work Hours defined for the Resource. Rather, what Work Hour Template is assigned to that resource. Now, let’s say, you are trying to book someone for 8 hours on top of their already booked 2 hours If you switch to the Hours view, you’ll see the availability marked by white cells. Grey meaning, unavailable. Remember, this is even said in the error message when you tried to click Book. Alternative Of course you can do this, but you should have a very strong reason to overbook resources. 🙂 Switch to Evenly Distribute Hours to allow the resource to be booked on top of the existing one. And this should be fine, but it will appear in red indicating that the resource is overbooked. Say, 10 hours (on top of already booked 2 hours) – exceeding the 9 hours total limit. Suggested You should rather Propose Book the resource, this way, the booking will exist and won’t bloat the schedule board. And then, you can decide later to do something with it. Front Load – Proposed Now with combination of Front-Load and Proposed, you should be able to Book for only the remaining capacity Evenly Distributed – Proposed With Evenly Distributed Proposed, you should be able to exceed the capacity and even Propose for the full time you want. Hope this quick tip helps! 🙂
Share Story :
Modified By (Delegate) & Created By (Delegate) in D365
These fields which are everywhere but you don’t really pay attention to really mean something worth. So if you feel you want to get hold of someone for modifying a record. Maybe also take a look at Modified By (Delegate) just in case so that the actual user might be someone else who wanted to do another thing on that record. 🙂 Impersonation is one of the basic aspects of a plugin step that you need to carefully design to let another user (usually Admins for most implementations) make the plugin run under their context instead of giving more security roles/privileges to every other new user. Well, the same goes for Created By & Created By (Delegate) also! Modified By Usually, when you update something on a record, the Modified By is updated as expected. But notice that Modified By (Delegate) is not updated. That’s because you are the rightful owner of the record and there’s no other person involved. But what is someone else is modifying the record (who don’t have access to that record)? In that case, the Modified On (Delegate) field is populated with the name of that user. In such scenarios, Modified By (Delegate) the user is the one who caused changes to the record. Why Modified By (Delegate) was populated The reason this was populated was that the record was updated through a plugin by a user who doesn’t have write access to the record. But because the user invoked a plugin which was Impersonating as a User who has rights to the records, the record was successfully updated. And this, the actual user who called the plugin is the one who will be populated in the Modified By (Delegate) field. Hope this quick tip helps!
Share Story :
Qualify Lead in D365 CE: Select which entity records should be created
Wave 2019 Updates brought some really sought-after features. Another one which I would like to bring up is the Lead Qualification experience. I’ve written this post when I enabled the Early Opt-in of Wave 2 Oct 2019 Updates. To enable Early Opt-in, please refer this post – Early Opt-in for October 2019 Wave 2 Updates This is set to release for the Oct 2019 Updates. Default Behavior So when you Qualify Lead by default – Account, Contact and Opportunity records are created. Notice that by default, the created Account and Contact are always auto-filled. Lead Qualify Experience in System Settings By default, D365 will let you create all three – Account, Contact and Opportunity records when you Qualify a Lead. When you select No, you’ll be asked which all entities should be created when you Qualify a Lead. Lead Qualification for selected entities No, when you click on Qualify button, you’ll be treated with this Dialog box where you can choose what records should be created. I’ll select only Opportunity this time And only Opportunity will be created and notice that the Contact and Account are blank this time. Hope this is useful! Thanks. Related Blog on one of Wave 2 2019 Update: Customize Opportunity Close dialog box in D365 CE v9 Unified Interface – Wave 2 update I’m also listed on the Top 100 CRM Blogs and Websites on Feedspot. It has a curated list of awesome bloggers.
Share Story :
Early Opt-in for October 2019 Wave 2 Updates
August 2, 2019 was when the Wave 2 Updates were to be out. And here we are! By now, you should have gotten the option to update the wave 2 updates on your environment(s). Let take a quick look at how you can enable this for your environment. Here are the details Microsoft notes on the Early opt in to 2019 release wave 2 Enabling Wave 2 2019 Updates Visit https://admin.powerplatform.microsoft.com/ (PowerPlatform Admin Center) and go to Environments. Select the environment Check that the updates are available for Activating. Initially the 2019 release wave 2 updates will appear Off. Click Manage. Please note that you should try this on the Sandbox first before opting to apply on Production directly. Click on Update now Click Confirm. And the Updating will start in a few moments. Progress You’ll see that the Apps are being updated as shown below for a few hours As and when each of the apps complete, it’ll show progress as below Once complete, this will be the status 2019 Wave 2 Updates Applied Once completed, you can log into Dynamics and check the About section to find out that the updates have been applied Here’s what everything’s included in the 2019 wave 2 updates: 2019 release wave 2 features available for early access Happy 365ing! Hope this helps.
Share Story :
Setting Unified Interface App Icons
Default App Icons for typical D365 environment look like these. But here’s what you can do to change these to put custom SVG icons. SVG Icons Regardless of dimensions, SVG icons work everywhere. So why keep them to just Ribbons, you can even change your App Icons to SVG Icons in your Dynamics 365 implementation. Make Web Resource for your SVG Icon. Open your Model Driven App in Dynamics 365 Solution. In the App Designer, go to Properties of the App itself and look for the drop-down above App Tile. Select your SVG Icon and Publish the same And you’re set! Hope this helps!
Share Story :
Using Templates from D365 CE in D365 App For Outlook
Using D365 App For Outlook’s Template feature, you can simply pull a template from Dynamics 365 CE and use it to send emails from Outlook itself. Here’s a typical example in this post below – In case you are also looking to get started with D365 App For Outlook, you can refer the post here – Summarizing D365 App For Outlook Setup in 3 steps with Exchange Online mailbox or Check how you can add your entities to D365 For Outlook here – Enable entities for Dynamics 365 App For Outlook Email Template in D365 Let’s say I’ve this template prepared for myself in D365 which I want to use in order to quickly reply to my queries asked. To keep things simple for example, I’m only using the attribute First Name of the Contact in my sample template. Add a Template in Outlook Now, let’s say I got this email from Priyesh asking for a quick discussion. Now, instead of thinking and replying, let me just use one of my standard templates to respond. Here’s how I do it – In this case, I’ve opened a new Email to respond (selected Reply/Reply All) and opened D365 App For Outlook besides. Then, select Add Template option Remember, you’ll need to have the record tracked before you could select a Template (In this case, I tracked the record against the Contact record itself) And then try selecting Add Template again. Next, you’ll be asked to select the Template Entity based on the fields in the Email. In this case, it identified that Priyesh Wagh was a Contact from D365 Based on #4 above, it identified that Contact entity is in context and accordingly, it’ll show me Templates for Contact entity. Once I select this, I will be asked for confirmation to insert into Email. And there we go! Email is ready to be sent in the next moment. Note that Priyesh in the Email body got populated from the Template’s First Name attribute. Hope this helps!!
Share Story :
Enable Flow button on D365 Ribbon
This is a pretty simple tweak to either show or hide the Flow button on the entity Forms’ Ribbon. Flow Button Not Visible System Settings Navigate to Settings > Administration. Go to System Settings In System Settings, under Customization tab, look for Enable Microsoft Flow option. You’ll be asked for permission Now, this is turned on Flow Button Visible Now, once you have enabled this setting, you’ll be able to see the Flow button on the View and Form ribbons across Dynamics 365 CE That was quick!!
Share Story :
Prevent Contact Creation in D365 on Tracking Emails from New recipients
Typically, when you track Email/Appoint records from Outlook, unknown senders are created as Contacts in Dynamics 365? A new Email from unknown recipient. And if you track this Email using D365 App For Outlook, a new Contact is created in D365 without you being notified about it. And the Email from the Saved Contact in D365 appears like this Now, this could be unwanted. And there’s a simple way to turn this off! Disable Contact/Lead creation This setting is controlled from your Personal Settings. Under Email tab, look for the option that let’s you create Contacts/Leads for tracked Unknown Recipients. Once you un-check the same, when you track the Email/Appointment with unknown recipients, new Contacts will not be created. And you could identify this by simply going into Emails and seeing that the Email address appears rather than a Contact. Hope this helps.
