Store ‘Today’s Date’ in a field to use in workflow conditions in D365 CE

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.

onOrAfterBlank

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.
createCalculatedField

Make sure the type of the field is Calculated and then, Edit the criteria.

Select Now() function to set the value of the field.
Now
And the final criteria condition will simply look like the below
finalCriteria

Once you save and publish all your changes, you’ll see that the field is automatically populated with today’s date.
allDatesPopulated.png

Using in Workflow Conditions

Now, you can use the same in the workflow conditions as shown below –

addedCriteria

and you should be able to use this in your workflow conditions which could look like this

addedOnCondition

Hope this quick workaround comes handy!

 

 

Using Keys to restrict duplicates in D365 CE

A superb way of restricting duplicate record creation is using Keys in Dynamics 365CE. This is definitely one of the most useful and easy to use features in Dynamics CRM.

In this example, I will create a Key for Email (emailaddress1) field to ensure there are only unique record values for this fields in my environment.

Create Key

It’s pretty straight-forward like creating any other Dynamics CRM component. Navigate to Keys under and entity like shown below –
createKey

And add a new Key and select attributes you want to use for that key
createdKey

Finally, save and publish your changes.

How it Works

Let’s say you already have an existing record ABC 1 with email address abc@abc.com
abc1.png

And if you try to create/update a record with the same attribute’s same value, you’ll get and error as below –
abc2

And the error will be
errorThrown

Hope this quick tip helps!

Business Card Scan in D365 CE Wave 2 Updates

We are close to getting D365 Wave 2 Updates in Oct 2019 and with Early Opt-in to Wave 2 Updates, we are already able to access one of the most desired and requested features of this release – Business Card Scan!

If you are yet to enable Wave 2 Updates for your organization, follow me post on the same here – Early Opt-in for October 2019 Wave 2 Updates. Please do so only on your testing/sandbox environment and not on Production instance yet.

Note that this is only available in US and EU regions as of now and works only in the Unified Interface.

Phone App to scan business cards

Most obvious thing to do is to pull out a phone to scan a card.

  1. Open Dynamics 365 for phones app. And navigate to Quick Create Menu
    qcMenu.png
  2. Then, select Contact
    contactQC
  3. On the Quick Create of Contact form, you’ll see a Business Card control that opens the Camera
    businessCardButton
  4. It will open you Camera and you can simply take a picture of the business card itself like below
    picTaken
  5. It will upload and fill out all the captured information from the card to the Contact form.
    infoCaptured
  6. You can simply Save the record and you’re done. It will be uploaded to CRM.

 

Uploaded

And here it is, uploaded in CRM already.

enteredInCRM

And if you take a look at the record, the picture that was used is also stored in Dynamics
cardInfo

Custom Control Used

If you look at the form customization of the Contact’s Quick Create form, you can see what control was used. It’s AI Builder Business Card control
controlUsed

Hope this helps!

Set Work Hours Template to a Bookable Resource in D365 PSA v3

For all the newbies in D365 PSA, one of the most critical part of configuring PSA is setting up Bookable Resources with their respective Work Hours Template to define their Work Hours and Days they can be & should be booked.

By Default, if you create a Bookable Resource they have a 24-hour slot open to be booked.
Example, I created a new Resource Shailesh Wath. Specially, not the Timezone selected. This will define how the resource will appear on Schedule Board.
newResource.png

And if you open his Work Hours by clicking on Show Work Hours, you’ll see this (which isn’t defined).
calendarNotSet.png

And on the Schedule Board, Shailesh looks like this –

Available on All Days

allDays.png

And available on All Hours
allHours.png

Work Hours Template / Calendar Template

Simply put – Work Hours are defined Schedule based off a resource’s Work Hours that can be applied to other resources as well.
You can find the Work Hours under Settings > Calendar Templates
WHT.png

Firstly, any 1 users Work Hours need to be defined in order to be set as a Template to a Work Hours. In this case, the System User Priyesh Wagh‘s Work Hours will be applied to the India Work Hours in the Template created.
IndiaWHRecord.png

Assign Work Hours Template

Now, we are assigning Work Hours Template to Shailesh which have defined hours and defined days of the week.
So, under Bookable Resources, select the User and then click on Set calendar option.
setCalendar.png

In the window, I’ll select the Work Hours Template I wish to apply. India Work Hours in this case.
IndiaWH.png

And click Apply
clickApply.png

Work Hours Template will be applied with this message.
applied.png

Obviously, you can do this for multiple resources at one. 🙂

Applied Work Hours

Now, if you observe the Work Hours to the resource, you can see this (defined timings with holidays on weekends)
legitCalendar.png

And on the Schedule Board, you’ll see the Days are properly defined
holidays.png

And also the Hours (8am to 4pm work schedule)
definedHours.png

Hope this quick tip helps!

Booking Resources more than their capacity in D365 PSA v3

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 –

errorMessage

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
overloading.png

If you switch to the Hours view, you’ll see the availability marked by white cells. Grey meaning, unavailable.
available

Remember, this is even said in the error message when you tried to click Book.
errorMessage

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.
evenlyDistribute.png

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.
hardOver
redMarking

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

frontLoadPropose.png
only7.png

Evenly Distributed – Proposed

With Evenly Distributed Proposed, you should be able to exceed the capacity and even Propose for the full time you want.
evenlyDisProposed.png
Full10Hours.png

 

Hope this quick tip helps! 🙂

Happy 365ing!

 

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.
fullQualifyLead

Notice that by default, the created Account and Contact are always auto-filled.
all3Records

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.
originalSetting

When you select No, you’ll be asked which all entities should be created when you Qualify a Lead.
selectNo

 

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
selectWhichOnes

 

And only Opportunity will be created and notice that the Contact and Account are blank this time.
blankOpp

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.