Kevin McDonnell on The Oops Factor

Talking to Kevin about his involvements with the Scouts/Cubs movement, why duct tape is SO important in life to always have with you, and what could possibly happen (or not happen) when looking at data migrations.

If you’d like to come appear on the show, please sign up at http://bit.ly/2NqP5PV – I’d love to have you on it!

Click here to take a look at the other videos that are available to watch.

Omnichannel Admin Center (Part I)

So there’s a new kid on the block. Or rather, it’s probably more accurate to say that there’s a new app available in Dynamics 365! This is the ‘Omnichannel Admin Center’ app that’s now present for anyone who currently has Omnichannel installed in their environment, or who is creating a new installation of Omnichannel.

So, what is this all about then?

Well, let’s back up a step here. Previously to set up Omnichannel, users had to go into the Dynamics 365 Settings, find the Omnichannel App, start the setup of it, and then go ahead & manually configure everything in the Omnichannel Administration app.

This, to be frank, took quite a bit of time to do, and needed users to be very familiar with the different parts of the interface. I’ve previously covered the (multiple) steps needed to do all of this in various blog posts, to help users understand what is actually needing to be done.

Thankfully, Microsoft realised the complexity around this, and have come out with a simplified administration experience. I’m very much in support of this, as it reduces the complexity of getting things started for Omnichannel in the first instance!

So let’s go ahead & take a look at this new app

The first thing to notice when opening the new Omnichannel Admin Center app is the interface itself. I think that this is really nice – rather than a ‘typical’ model-driven app experience, users are able to see some useful information on the home page itself!

Also, very nicely done in my opinion, are the three links at the bottom of the page:

  • Release Notes. This takes users to the release notes section on the Microsoft Docs website. It’s a great little thing that can help users understand the latest/greatest features that are being released
  • Ideas forum. People come up with great ideas to suggest to Microsoft to be able to include in their products. The Ideas forum is the location for these, where users can upvote popular concepts, or submit their own ideas. The Microsoft engineering teams do actually keep an eye on this!
  • Support community. The community forums are really helpful in allowing users to raise questions around the products, and give the ability for other users to help them out by giving answers etc. Most users will have already experienced the support forums in one way or another, but having a link directly to it is definitely quite useful to have

Now one thing that’s usually asked is ‘how can we quickly/easily see & set up chat in Omnichannel’? It’s one of the first things asked, as people tend to want to deploy (web)chat capabilities first, and then add other capabilities later on. Setting this up manually does take several steps, along with some waiting time (or, as I like to refer to it as, a coffee/snack break!)

It’s possible to quickly launch this through the button at the top of the page, rather than needing to go through the multiple configuration steps manually:

Click the button to launch it, and you’ll see the following window come up:

Clicking the ‘open chat demo’ will allow the system to start automatically configuring it for you – no more need for manual steps! You’re also able to use sample data if you wish to, to be able to show the experience without needing to load it in manually.

Yes, this really does only take a minute or two to happen!

Once the system has auto-configured everything, you’re now able to go ahead & launch the demo. Again, all the links & information are presented easily to us, telling/showing us what we need to do.

You’ll notice the chat widget in the lower right hand corner, which I’ve outlined in the image above. This launches into the chat widget directly, rather than needing to deploy it first to a webpage:

There’s no need to start needing to get into the setup of workstreams, queues, channels, routing capabilities, etc. It’s all configured right for you, to get you immediately started!

Of course, to test it out fully you’ll also need someone logged in as an Omnichannel Agent, to be able to respond to the chat instance. This could be the same user (in a different tab/browser on the same machine), or a different user on another machine. It’s really up to you as to how you would like to go about it.

So this is a really great feature to be able to have now. It’s not the ONLY great thing about the new app, however – stay turned for Part II next week when I’ll go into more capabilities that it provides!

Michael Roth on The Oops Factor

Finding out about how Michael has come into the technical community from a NON-TECHNICAL background, some of the challenges that this has brought with it, and his love of crocheting! Also going into the art of presenting to customers, and how it can be livened up (or not!).

If you’d like to come appear on the show, please sign up at http://bit.ly/2NqP5PV – I’d love to have you on it!

Click here to take a look at the other videos that are available to watch.

Mike Hartley on The Oops Factor

Chatting with Mike about his history with robots (who would have guessed!), the importance of the right syntax in the form of the humble semi-colon, and what mental health is really all about. Also going into detail for his new series ‘The Things We Don’t Talk About’

If you’d like to come appear on the show, please sign up at http://bit.ly/2NqP5PV – I’d love to have you on it!

Click here to take a look at the other videos that are available to watch.

Melissa Sassi on The Oops Factor

Talking to the IBM Chief Penguin Melissa (yes, that’s REALLY her job title!) about her love of travelling (so many countries!), penguins, and making the best of very challenging family situations!

If you’d like to come appear on the show, please sign up at http://bit.ly/2NqP5PV – I’d love to have you on it!

Click here to take a look at the other videos that are available to watch.

Afshan Ipsen on The Oops Factor

Finding out about Afshan’s love of a specific TV show genre (you’ll need to watch to find out!), and discussing the challenges of finding a new role in difficult times. Some very important tips to keep in mind.

If you’d like to come appear on the show, please sign up at http://bit.ly/2NqP5PV – I’d love to have you on it!

Click here to take a look at the other videos that are available to watch.

Working with Opportunity Close table

I’ve recently had the experience of working with the Opportunity Close functionality within Dynamics 365, and given what occurred, thought it would be useful to document this so that others are able to see this as well. There are many scenarios in which we’d use this, and being able to give a comprehensive solution to clients does make all of the difference!

There are three areas that I’d like to cover:

  • Working with Opportunity Close table
  • Challenges with data
  • Power Automate to the rescue!
  • Caveats

So let’s get started then!

Thanks to various members of the community such as Matt Collins-Jones, Andrew Bibby & others, who helped me along the way

Working with Opportunity Close

The Opportunity Close functionality within Dynamics 365 (& yes, I’m going to refer to it as this, rather than Power Platform) is used to provide information around why an opportunity is being closed. This is regardless of whether the opportunity has been won, or it’s been lost. It’s still quite important to track the information around it, so that companies can understand better how the market views the products it offers, how it stacks up against others, etc.

The default path in the system is to create a lead, and then qualify it. Qualifying a lead then automatically creates an opportunity record, which further information (quotes, etc) can be entered against. An account record (if company information is specified) is also created:

Updated Solution Release: Lead Qualification Version 2.0.0 for Microsoft Dynamics  365

On the opportunity record, users are able to show if it’s been won or lost by clicking an appropriate button on the toolbar:

Doing this brings up the Opportunity Close pane on the right hand side of the screen:

Now it’s possible to customise this screen. In fact, the screenshot above shows 3 custom columns that have been added to it already in the system I was in.

To do this, we go to customise the solution (in the Maker Experience), and add the column/s that we’re wanting to:

Next, we need to remember to add it to the form! Otherwise it’s not going to show up. If we’re wanting it to appear on the side bar, then it’s important to customise the ‘Quick Create’ form version, to make our customisations show up.

Note: We’re able to put conditional visibility of the column/s if we want to, based on whether the opportunity is won or lost, using Business Rules. I haven’t done so in this scenario, but you’re obviously able to do so if you want to

Remember to save & publish the form, and then it’ll display within the system for users. Brilliant!

Challenges with data

So we’ve gone ahead & created the custom columns, and users are actually using them to record data. Wonderful – that’s exactly what we’ve been wanting to achieve.

OK – let’s now review the data so that we can see overall what’s happened with our opportunities. Of course we’re wanting to do this simply & easily, so we’ll open an Advanced Find window, go to the Opportunity Close table, add columns from the associated Opportunity, and….hold on. Opportunity Close ISN’T displaying in the Advanced Find????

It’s just NOT there. In case you’re wondering if you saved/published things correctly, or forgot some system setting, stop worrying. It’s not you – it’s the system.

See, Opportunity Close, though a table in its own right, is a SPECIAL sort of table. It doesn’t show up, and can’t be directly queried. I know – frustrating. I felt exactly the same way.

On digging deeper into things, I found out that there’s actually an activity record saved. It’s possible to query against this:

However, and this is the BIG catch, it’s NOT possible to return custom columns when carrying out this query. The search will ONLY return the (system) columns that are present for activities. So this leaves us with a problem.

Essentially, though we can set up custom columns to track the data that we’re needing to, it’s not possible (through the front end) to query it. This sort of negates what we’re trying to achieve here overall, and is a pain.

So what’s the way round it? Well, it’s actually going to be Power Automate!

Power Automate to the rescue

In order to handle our issue, what we need to do is the following:

  • Add custom columns to the Opportunity table (these should mimic the custom columns that we’ve added to the Opportunity Close table)
  • Use Power Automate for automation purposes!

The first step is easy. We need to go & create custom columns on the Opportunity table. These WILL show up in the Advanced Find search. They obviously need to be the same as the custom columns on the Opportunity Close table. If we’ve used Choice or Choices there, point the Opportunity column to the same source (it’s a good argument for using Global, rather than Local, choice/s).

We then can go and create a Power Automate. This should trigger when an Opportunity Close record is created.

Note: For this, I’ve made it so that it runs under the user triggering the action, rather than a system account. This is to keep in line with licensing limits etc

You’ll then need to add a ‘Get Dataverse row’ step, and get the Opportunity Close record that has just been created. This is annoying, but for some strange reason the trigger doesn’t present the custom columns/values in the JSON that it returns. Hopefully Microsoft fixes this at some point, but for the moment, we need to work around it.

The last step is to add a ‘Update Dataverse row’. This should point to the Opportunity table, & we can simply map the values across (from the SECOND step, NOT the first one – VERY IMPORTANT).

Once this is all done, save & test it, and you should see it working. I generally don’t add the Opportunity custom columns to the form, but rather leave them for querying against.

Caveats

It’s important to keep in mind that when an opportunity is marked as either won or lost, it’s then closed, and changed to a read-only state. That’s how the system is designed to be, and makes sense.

However it’s ALSO possible to re-activate a closed opportunity, and then close it again. Ie a single Opportunity record could have multiple Opportunity Close records against it. This solution won’t handle this (it would need to be built out further – the Opportunity record itself will only show the values from the latest Opportunity Close action, so please do keep this in mind!

Have you ever come up against something like this? How have you handled it? I’d love to hear – please drop a comment!

Carmen Ysewijn on The Oops Factor

Talking to Carmen about Belgium, her love of the countryside, and the beauty of nature and hiking through it. Also touching on the ‘wonders’ of canvas app functions…

If you’d like to come appear on the show, please sign up at http://bit.ly/2NqP5PV – I’d love to have you on it!

Click here to take a look at the other videos that are available to watch.