Sunday, September 28, 2014

Bringing Graphs Down to the Record Level

I was recently told that one thing that is well-liked about my blogs are the ‘codeless workflow workarounds’ I occasionally put out. I have not done one for a while so here is one I came across the other day. A client was facing a problem where they wanted to show a graph, usually used for a collection of records, on each record. A good example of this is the ‘Campaign Budget vs Actual Costs (By Fiscal)’.


Looking at the definition, we can see that this graph rolls up totals based on fields on the Campaign record.


If I wanted to quickly see how a specific campaign was going, it makes sense to have this graph on the Campaign form but this is not possible, although we can add graphs to the record form.

Adding Graphs to a Record Form

A little-known trick is being able to add a graph directly to a form. To do this you add a sub-grid and go to the formatting settings. Scrolling down to the bottom, you see how to do it.


Ticking the ‘Show Chart Only’ replaces the sub-grid with a graph and displays it on the form instead. In this case, I am replacing the ‘Recent Opportunities’ grid with a graph showing which Campaigns they came from. You can see how it looks at the bottom right below.


So all we need to do is add a sub-grid with the same record in it, replace it with our graph and we are sorted.

The Recursive Grid

First we add a 1:N between the Campaign entity and itself.


Then we set up a workflow to populate the resulting lookup with the same record, on creation. In this case I have made the workflow NOT run in the background so it appears the moment the record is saved but, for CRM 2011, the trick will still work but you will need to close and open the record to see the magic.


The result is a 1:N relationship where the child record will always be the same as the parent record.

Next we add the sub-grid to our form and create a new record to make sure it works (remember to format the sub-grid to have, say, ten lines so the graph is readable).


Sure enough, when we create a new Campaign record and save it with data, the graph appears and populates with data just from this record. In this case I set the budget to $10,000 and the Misc. Costs to $8,000.


Obviously, you can create a new graph to embed and change the title to give it more context.


If you have a customer looking for a ‘record dashboard’ or perhaps you want to summarise a set of fields on the form in a more graphical way, this trick may be just what you need and, as is my way, completely codeless. Enjoy ;)

Thursday, September 25, 2014

Using Email Templates to Communicate With External Parties

A common requirement for CRM systems is to communicate with non-CRM users as part of a process. In this case, my client’s scenario was regarding Cases where the contribution of a third party was needed. The requirement was to summarize the Case record, attach it to an email and send it off for review and comment by the third party.

The First Thought

My initial thought was an SSRS report. I talked through the solution with the client:

  • We will create the SSRS report for you, summarizing the Case record
  • The user will open the Case and run the report from the record
  • They will then save it to a PDF and attach it to an email
  • Send the email, adding in the recipient

The client was not a fan. There are solutions, such as MyCRM’s ePDF, which would auto-create the pdf but even then the client felt the process was a little awkward.

My Second Attempt

Mulling over the problem for a week, I realised there was a cheaper and simpler approach: email templates. It is quite easy to create an email template summarising the key fields of a record.


The client had renamed Cases to ‘Enquiries’ but you get the idea. I even added a default of ‘Unknown’ on the fields, in case they were blank.

I, again, reviewed the process with the client.

  • Open the Case and add an email
  • Apply the template
  • Remove the customer from the To line and look up the Contact you want to send the record to
  • Send the email

Again, the client was lukewarm. This time it was the replacing of the Customer in the To line which could easily be overlooked. I went back to the drawing board.

Third Time The Charm

Extending the previous solution, I set upon using a Dialog. The dialog could be run from the Case and prompt for the Contact to send the information to. The workflow engine then handled the rest.


In this case the process was:

  • Open the Case
  • Enter additional text in a field called ‘Additional Information For External Reference’ (a multi-line text field on the Case form, which you can see referenced in my screenshot of the email template above)
  • Run the dialog
  • Look up the contact to send the email to
  • Finish the dialog

The client was happy with the process. The text field populated in the second step could be populated by an Update Step in the dialog, rather than on the form, but this was not needed in my case.

Easy to set up, no coding required and very simple to modify in the future if the process needs changing.


Sometimes it takes a client to push back to deliver the best result. So, if you are a user of CRM, do not hesitate to explore the different options with your CRM consultant. There are often a few ways to achieve the same outcome and it is a case of finding the best result for you.

In this case, with a bit of creativity, the final result was cheaper, simpler, more manageable and more intuitive; a win for everyone.

Saturday, September 13, 2014

Seeing Your CRM 2011 System in CRM 2013

If you are running CRM 2011 and are starting to think it is time to migrate to CRM 2013, there is a quick way to see what it will look like and to see if any of those tricky customizations will break. Minimal technical knowledge is required and it gives you the chance to review the system and document the issues before getting those expensive consultants involved.

Step One: Spin up a 30 Day Trial

The first thing we need is a CRM 2013 environment for us to review. These days this is quite easy and will also give you access to all the Office 365 goodness to try out as well. Start here and follow the prompts. The process used to be a little awkward, jumping between Office 365 and CRM, but this has been improved a lot in the last week or so. In about five screens, you will have an Office 365 account and a CRM Online trial instance.

Provisioning also used to take a few minutes but, on this occasion, it was almost instantaneous.


Step Two: Create a Solution File in Your Existing CRM 2011 Instance

This is the most technical step but still reasonably straightforward. Log into CRM as someone with the System Administrator role and go to Settings-Solutions and click the New button.


This record will contain all the bits and pieces of our system we want to review in CRM 2013 (once we add them in).

Give it a sensible display name and (non-display) name, add in a publisher (the default one is fine) and put in a version, say, 1.0, then hit the Save button. You should have something like this:


You now go through and, for each component type, add in the bits you want to try out. A good place to start is Entities (the different record types in your system). Pick the key entities you want to bring into 2013 e.g. Accounts, Contacts, Activities etc. When you add then in, a message box may open up referring to dependencies. Add these into the solution as well.

If you are unsure about all the other stuff, just stick to entities and you will be fine. If you want to remove a component from your solution, use the Remove button, NOT the delete button, otherwise you will delete the entity from your system!

Step Three: Export Your Solution

When you are finished, click the Export Solution button and follow the prompts, publishing and adding in any other required components. The system will sit and done nothing for a few seconds and then give you a zip file to save. This is your system (without the data).

Step Four: Import the Solution File Into Your CRM 2013 Instance

CRM 2013 is compatible with CRM 2011 solution files (mostly) so it is a case of getting past the smiling lady on the pop up screen and going to Settings (now up the top of the screen).


Then to Solutions.


Here you can import your solution by hitting the Import button. Again, follow the prompts and, if everything goes ok it will load in your system (maybe with some warnings, which you can ignore). If it errors, this is probably the end of the road as there is something complex in your solution file which the conversion cannot handle.

Assuming it has gone in though, close down the browser, re-open and get back to CRM 2013 and you should see your system in the new environment.


I am involved in a few upgrades for clients at the moment and, while the actual upgrade involves a lot more than the above procedure, if you want to get an idea the look and feel and whether specific customisations will translate to the new environment, this is a great non-invasive way to do it.

This is also a great way, as a consultant, to get people exited about upgrading and can be done easily in less than half an hour while on site. Within an hour you can migrate the system and set up a couple of users for the client to log in as and explore. Enjoy.