Users can close cases by clicking the Resolve Case button provided in the ribbon. In situations where you want to aid your Users by helping them make sure they process data correctly; this method comes in handy. Not only can this make their work easier, it also avoids incorrect handling of cases, and improves accuracy of data.

Currently out of the box, Cases get an error message popup when you click Resolve Case and there are Open activities remaining.

As described by the error message, clicking confirm will cancel any open activities thus leaving them unfinished. But what if you wanted to prevent them from closing the case at all, in other words disabling that Confirm button?

Empty business required fields will also automatically prevent the Resolve Case functionality. But what if you didn’t want the field required on save and only want it on resolve?

We can do this by fully preventing Users from completing the Resolve Case functionality given custom conditions. We can do this by using a Real-time (synchronous) workflow which triggers after a status change.

image

The first step in this workflow would be to add a condition that checks if the status = Resolved.

And under that condition we can add another condition that you can customize, for preventing case resolution.

Let’s say that you want to make sure all activities are complete, otherwise prevent users from resolving case. Then you can create the following condition :

Note that the out of the box window shown in the beginning of this blog will still appear, but Users will not be able to complete the action.

Another custom condition example could be if you want to make an Optional field e.g. Case Number required for resolving the case, but don’t want to make it Business Required. You can then set the following condition:

Now under this condition, simply add a Stop Workflow step with a status of Cancelled.

If you click Set Properties, you can customize the message in the error popup when a user tries to resolve case where your condition is not met.

When your custom condition is True, this workflow will create an error message, and because the workflow is synchronous, it will also prevent the status from changing to Resolved.