Eliminate Lazy Error Handling

Here is an error I received the other day…

“Authentication Failure”

Here is another…

“Format of the initialization string does not conform to specification starting at index 0, without any typo in connectionString”

And finally my favourite…

“The entity cannot be updated because it is read-only.”

They are all from different applications and implementations and have been my life for the past two days as I tried to figure them out and wasted an insane amount of time trying to figure out what they related to and what I had to do to resolve them.

Here were the resolutions (in order)…

“Multi-Factor authentication is not supported here.”

“You need to enter the string in a special way, but we won’t tell you how.”

“It’s not that the entity was read-only, it’s that a function was trying to modify it while

Read More


Ribbon Work Bench and the Async Service

I ran into an interesting problem this past week in trying to publish some customizations via the RibbonWorkBench to an on-premise Dynamics tenant.

Here is the message we were receiving.

image

This led me down a road of checking permissions and seeing what forms I had in the solution I was working, connections being closed, security around using IFD deployments and on and on.

After a day or so, we realized the problem was that the Async Service Account could not write to the CustomizationImport folder on this server.  When we granted the appropriate permissions, the problem was solved.

(One more subtle reason to consider the cloud).

Read More


Formatting Slack Messages from Dynamics365

In creating my messaging application that sent data from Dynamics365 to SLACK, I wanted to get a little fancier and not only send static content but actually embed the link to the actual record with some content to provide context to the user.

I also wanted to do a bit of formatting (bolding and links) which is relatively easy but does not follow HTML notation.  The formatting reference for SLACK is located here.

For my scenario (displaying messages for Leads), I wanted to bold the entity (because this will be used by other ones at some point) and open directly to the record when clicked.

The url format to accomplish this is as follows;

A new *Lead* has been created – <{0}/main.aspx?etc=4&id={1}&pagetype=entityrecord|{2}>

Where the first parameter is my Dynamics tenant, the “etc” value is

Read More


Integrating Dynamics365 with SLACK

On a recent project, we wanted to notify users when new items were added into Dynamics (by third-party systems).  The initial goal was to use email as the delivery mechanism but seeing as how everyone was using SLACK for messaging I decided this would be a better (and much cooler delivery mechanism).

This is my first time working with the Slack API and I have to say it was surprising how easy it was to put together some demo functionality to prove it all out.

First thing you are going to need to do is to create an application.  When you create your application you can then enable features for your application.

For my application, I created two incoming WebHooks that enabled me to post to the my #general channel and send

Read More


The Simplest Dynamics Feature Request

This post is going to have no code and might sound a bit preachy, but I have to get this off my chest because it keeps rearing it’s ugly head.

The new features existing and coming into Dynamics365 are great.  I’ve been spending the last few weeks catching up on some sessions from last year’s Ignite and working with some new features I haven’t had much time for in the past six months.

They are all great and you can see a direction the product is entering.

But here I am, working with a customer to increase their level of adoption with Dynamics inside their company (some rogue groups, it happens, we’ve all been there) and the one thing they ask for…

Can we setup default dashboards for users, groups or teams?

Can we default

Read More