Dialogs are a great new addition to the CRM feature suite. They provide an efficient way to capture business process information through a logical step by step workflow. Think of a Customer Service Representative entering a case, or Marketing folks qualifying a lead. There are still ways to go with regard to using dialogs as a full fledged call center scripter, but it is definitely the right step forward for Microsoft.
In dialogs, the user responses are captured and steps can have branching based on previous responses. There is also the capability of generating dynamic questions, which we shall see in more detail in a bit. Dialogs are a bit similar to workflows in that you can do create/update actions on entities/ records. In a sense, we can think of dialogs as a workflow with user input. Dialogs can be run only on one record, and unfortunately, the response does not have a muti select option (ie, you cannot choose more than one answer as a response).
The business case is as follows. I want to be able to detect any duplicate cases (based on title and customer) related on the current case. If I do find similar ones, I want to be able to create a connection between the 2 cases using a custom connection role, mark the case found as cancelled/ duplicate and add a note to the duplicate case mentioning the reason. Remember that both the customer and title needs to be match for this duplicate detection to work.
Monday, November 14, 2011
CRM 2011 Dialogs with Dynamic FetchXML - Duplicate Case Detection
Friday, November 4, 2011
CRM 2011 useful packaged solutions
The following solutions are handy when working on crm 2011. They are similar in the sense that they make a task simpler, and customization's are more efficient compared to the steps involved without the solution. They have decent documentation on how to use their features, and so far I have not seen any issues using them (i.e, they are pretty stable). Hope it helps!
1. Ribbon editor: A tool for Microsoft Dynamics CRM 2011 that lets you edit CRM ribbons. This ribbon editor shows a preview of the CRM ribbon as you are editing it and allows you to easily modify the ribbon without needing to completely understand the underlying XML schema.
http://crmvisualribbonedit.codeplex.com/
2. Sitemap Editor: Provides a quick and easy way for users to update the site map through a user interface within Microsoft Dynamics CRM. Users will be able to immediately see the updated navigation pane when they publish the customizations.
http://pinpoint.microsoft.com/en-us/applications/microsoft-dynamics-crm-sitemap-editor-12884928049
3. Metadata Browser: The CRM 2011 Metadata Browser is a Silverlight 4 application that is packaged as a Managed CRM 2011 Solution. This tool allows you to view metadata within CRM including Entities, Attributes and Relationships.
http://crm2011metabrowser.codeplex.com/
4. oData Query Designer: The CRM 2011 OData Query Designer is a Silverlight 4 application that is packaged as a Managed CRM 2011 Solution. This tool allows you to build OData queries by selecting filter criteria, select attributes and order by attributes. The tool also allows you to Execute the query and view the ATOM and JSON data returned.
http://crm2011odatatool.codeplex.com/
5. View replicator: View Layout Replicator make it easier for Microsoft Dynamics CRM 2011 customizers to copying the layout of a view and paste it to the layout of other views in the same entity
http://viewlayoutreplicator.codeplex.com/
6. Manage JS webresources: JavaScript Web Resource Manager for Microsoft Dynamics CRM 2011 helps CRM developers to extract javascript web resources to disk, maintain them and import changes back to CRM database.
http://jswebresourcemanager.codeplex.com/
1. Ribbon editor: A tool for Microsoft Dynamics CRM 2011 that lets you edit CRM ribbons. This ribbon editor shows a preview of the CRM ribbon as you are editing it and allows you to easily modify the ribbon without needing to completely understand the underlying XML schema.
http://crmvisualribbonedit.codeplex.com/
2. Sitemap Editor: Provides a quick and easy way for users to update the site map through a user interface within Microsoft Dynamics CRM. Users will be able to immediately see the updated navigation pane when they publish the customizations.
http://pinpoint.microsoft.com/en-us/applications/microsoft-dynamics-crm-sitemap-editor-12884928049
3. Metadata Browser: The CRM 2011 Metadata Browser is a Silverlight 4 application that is packaged as a Managed CRM 2011 Solution. This tool allows you to view metadata within CRM including Entities, Attributes and Relationships.
http://crm2011metabrowser.codeplex.com/
4. oData Query Designer: The CRM 2011 OData Query Designer is a Silverlight 4 application that is packaged as a Managed CRM 2011 Solution. This tool allows you to build OData queries by selecting filter criteria, select attributes and order by attributes. The tool also allows you to Execute the query and view the ATOM and JSON data returned.
http://crm2011odatatool.codeplex.com/
5. View replicator: View Layout Replicator make it easier for Microsoft Dynamics CRM 2011 customizers to copying the layout of a view and paste it to the layout of other views in the same entity
http://viewlayoutreplicator.codeplex.com/
6. Manage JS webresources: JavaScript Web Resource Manager for Microsoft Dynamics CRM 2011 helps CRM developers to extract javascript web resources to disk, maintain them and import changes back to CRM database.
http://jswebresourcemanager.codeplex.com/
Tuesday, November 1, 2011
Activity Feeds in CRM 2011
The CRM 2011 Update Rollup 5 has a very interesting feature called Activity Feeds. Having played with it for some time, I think there is tremendous scope in the context of daily professional use.
There are a couple of steps that need to be followed to get started before seeing the Wall updates. Let us go through them:
i) Download and install the Update Rollup 5 (duh!)
ii) Download and import the CRM Activity Feeds solution from pinpoint. Check the Activate processes and enable sdk message processing steps during the import process. Under Settings/ System, you will see 2 new nav links named "Activity Feed Configuration" and "Activity Feed Rules"
The Activity Feed Configuration is where you can define the entity that needs to be tracked, and whether you want the record wall to be displayed. Not all entities are enabled for the feed configuration though custom entities are supported. The Activity Feed Rules are scenarios that trigger the post to be made to the wall. These are pre-defined for each entity, but there is a workaround by adding scenarios through the workflow (I will explain in reference to the example below).
I am going to focus on the following business case: The Sales Manager wants to see on his wall a note when any open opportunity has an estimated revenue of greater than $100,000. The advantage of this approach is that the Manager can focus on the high value deals, and is a better option than getting an email or creating a task/ custom activity. And if further information is needed, the opportunity record is just a click away. In essense, we are aggregating information that is pertinent to the user, with the criteria set being customizable.
Lets take a look at the steps involved.
There are a couple of steps that need to be followed to get started before seeing the Wall updates. Let us go through them:
i) Download and install the Update Rollup 5 (duh!)
ii) Download and import the CRM Activity Feeds solution from pinpoint. Check the Activate processes and enable sdk message processing steps during the import process. Under Settings/ System, you will see 2 new nav links named "Activity Feed Configuration" and "Activity Feed Rules"
The Activity Feed Configuration is where you can define the entity that needs to be tracked, and whether you want the record wall to be displayed. Not all entities are enabled for the feed configuration though custom entities are supported. The Activity Feed Rules are scenarios that trigger the post to be made to the wall. These are pre-defined for each entity, but there is a workaround by adding scenarios through the workflow (I will explain in reference to the example below).
I am going to focus on the following business case: The Sales Manager wants to see on his wall a note when any open opportunity has an estimated revenue of greater than $100,000. The advantage of this approach is that the Manager can focus on the high value deals, and is a better option than getting an email or creating a task/ custom activity. And if further information is needed, the opportunity record is just a click away. In essense, we are aggregating information that is pertinent to the user, with the criteria set being customizable.
Lets take a look at the steps involved.
Thursday, October 27, 2011
2 Series Chart with CRM 2011
With the availablity of the CRM 2011 Update Rollup 5 there are some nifty changes to the product. The focus of this post is the capability of multi-series charting. To clarify, multi series charting was always available in crm2011. It required you to download the chart as an xml, make a few simple changes, and re-import it back in. But with the rollup update, we can do one step better - get it all done from the UI! I love it!
Let us create a 2 series chart, which will give us the Estimated revenue and Actual Revenue for each potential customer.
Let us create a 2 series chart, which will give us the Estimated revenue and Actual Revenue for each potential customer.
Monday, October 24, 2011
Quick Select records from Form - Display Field
The one thing that I noticed while playing around with CRM 2011 is the emphasis that has been paid to a smooth user experience. Specifically, you will notice that there are short cuts to open/ create records that will save you extra clicks. This post will focus on the quick select feature in a record, and the field that is displayed, and how that can be changed.
If you are in the Account record, you can get to other account records by selecting the Accounts drop down, at the top right hand corner, just below the ribbon. For Account, the display field is the Account Name. What if you want to see the Account Number instead of the Account Name?
Before we get to making any changes, you will notice that the Account Name is the Primary Field for the Account entity. That is the reason for field Account Name to show up in the quick select drop down.
If you are in the Account record, you can get to other account records by selecting the Accounts drop down, at the top right hand corner, just below the ribbon. For Account, the display field is the Account Name. What if you want to see the Account Number instead of the Account Name?
Before we get to making any changes, you will notice that the Account Name is the Primary Field for the Account entity. That is the reason for field Account Name to show up in the quick select drop down.
Thursday, October 13, 2011
User Experience
How important is a smooth user experience when it comes to enterprise software?
User adoption (and implicitly a great user experience) is key to a sucessful project. A CRM customer rollout could have all the features that the sales department could ever want, but it is doomed if the user keeps using the old system (excel, or an older crm system) for the daily tasks.
We are creatures of habit, and thus a complex system that is familiar is sometimes easier to navigate, than a new system that is simple.
So, get end users familiar with the new system (through good training, incremental rollouts, soliciting feedback) and provide them with a smooth user experience.
Here are a few methods to keep in mind when it comes to designing a solution:
1. Less clutter, less pain
When I am filling out a form for an online purchase, nothing annoys me more than multiple extraneous fields, all over the form. Along those lines, when looking at an existing entity form or a new entity form, spend some time figuring out what is necessary and what can be done without.
Another great way to streamline the form input is to create separate form views for different security roles. For example, a sales rep might not need all the fields in an opportunity form that a Sales manager would (Keep in mind that required fields are necessary in all forms you create).
2. Automate the process
The most common example is creating/updating records when status value changes. Workflows are an easy way to accomplish automation, resulting in lesser data entry for the user. If workflows do not do the trick, it would be worthwhile to research plugins (which require C# coding skills).
3. Intelligently fill values in a form
Lets say you have a customer lookup, and an address section with street, city, state, country etc. When an user selects an account/ contact, have the address from the lookup auto populate in the address section. This can be done using java script on the event onchange() of the lookup.
Even if the user has to override the values 20% of the time, 80% of the time manual data entry is eliminated!
4. Fill form using related entity Field Mapping
When you have a Many to 1 relationship created, leverage the mappings feature in Dynamics CRM to pre-populate fields in a form. For example, lets say we have a N:1 relation between Account and Contact. When creating a new Contact in the context of the Account, I could have all the address information carried over to the new Contact form.
A couple of things to make sure while creating the mapping:
i) The fields mapped must be of the same data type
ii) The target field length cannot be smaller than the source field (which can cause truncation of data)
5. Use custom charts and reports to understand data
Visual data representation is light years better than a list of rows.
One great feature of the custom chart is inline visualization. that means that if you have a bar chart of accounts based on industry, and you select one industry(bar) in the chart, the list view is automatically updated to reflect the selection. You can also drill down to details of that specific industry.
Reports provide visual and/or list representation of data. You can quickly export it to a pdf document, and save it for later.
OOB entities like case, account etc has good built in reports that you can leverage. For custom entities, consider creating custom reports
6. Enforce business logic on the fly
An example would be to make a field required base on previous data entry. In a deal, if your revenue field exceeds $1,000, a manager needs to approve the deal. Make the manager lookup a required field only if the revenue field exceeds $1,000. Your system must be nimble enough to enforce this requirement, with the least amount of work.
During the course of the blog, I will try to provide step by step examples for some of the points listed above.
User adoption (and implicitly a great user experience) is key to a sucessful project. A CRM customer rollout could have all the features that the sales department could ever want, but it is doomed if the user keeps using the old system (excel, or an older crm system) for the daily tasks.
We are creatures of habit, and thus a complex system that is familiar is sometimes easier to navigate, than a new system that is simple.
So, get end users familiar with the new system (through good training, incremental rollouts, soliciting feedback) and provide them with a smooth user experience.
Here are a few methods to keep in mind when it comes to designing a solution:
1. Less clutter, less pain
When I am filling out a form for an online purchase, nothing annoys me more than multiple extraneous fields, all over the form. Along those lines, when looking at an existing entity form or a new entity form, spend some time figuring out what is necessary and what can be done without.
Another great way to streamline the form input is to create separate form views for different security roles. For example, a sales rep might not need all the fields in an opportunity form that a Sales manager would (Keep in mind that required fields are necessary in all forms you create).
2. Automate the process
The most common example is creating/updating records when status value changes. Workflows are an easy way to accomplish automation, resulting in lesser data entry for the user. If workflows do not do the trick, it would be worthwhile to research plugins (which require C# coding skills).
3. Intelligently fill values in a form
Lets say you have a customer lookup, and an address section with street, city, state, country etc. When an user selects an account/ contact, have the address from the lookup auto populate in the address section. This can be done using java script on the event onchange() of the lookup.
Even if the user has to override the values 20% of the time, 80% of the time manual data entry is eliminated!
4. Fill form using related entity Field Mapping
When you have a Many to 1 relationship created, leverage the mappings feature in Dynamics CRM to pre-populate fields in a form. For example, lets say we have a N:1 relation between Account and Contact. When creating a new Contact in the context of the Account, I could have all the address information carried over to the new Contact form.
A couple of things to make sure while creating the mapping:
i) The fields mapped must be of the same data type
ii) The target field length cannot be smaller than the source field (which can cause truncation of data)
5. Use custom charts and reports to understand data
Visual data representation is light years better than a list of rows.
One great feature of the custom chart is inline visualization. that means that if you have a bar chart of accounts based on industry, and you select one industry(bar) in the chart, the list view is automatically updated to reflect the selection. You can also drill down to details of that specific industry.
Reports provide visual and/or list representation of data. You can quickly export it to a pdf document, and save it for later.
OOB entities like case, account etc has good built in reports that you can leverage. For custom entities, consider creating custom reports
6. Enforce business logic on the fly
An example would be to make a field required base on previous data entry. In a deal, if your revenue field exceeds $1,000, a manager needs to approve the deal. Make the manager lookup a required field only if the revenue field exceeds $1,000. Your system must be nimble enough to enforce this requirement, with the least amount of work.
During the course of the blog, I will try to provide step by step examples for some of the points listed above.
Tuesday, October 4, 2011
CRM 2011 Online Reports with FetchXML
One of the great benifits of CRM 2011 is the ability to create custom reports in SSRS using FetchXML. You have much more control over formatting and grouping. Additionally, you can add custom logos to your report! Who woudn't want that! :)
Before you start, you need to have BIDS installed. BIDS is available as part of SQL Server Install, and is not available free.
Secondly, install Microsoft Dynamics CRM 2011 Report Authoring Extension.
Once you have the above completed, you are ready for building your custom report. The use case is to create a report for an entity that tracks orders that have been shipped in the last x months, and greater than X dollars. We want to group it by Account, and by revenue.
Here are the steps:
Before you start, you need to have BIDS installed. BIDS is available as part of SQL Server Install, and is not available free.
Secondly, install Microsoft Dynamics CRM 2011 Report Authoring Extension.
Once you have the above completed, you are ready for building your custom report. The use case is to create a report for an entity that tracks orders that have been shipped in the last x months, and greater than X dollars. We want to group it by Account, and by revenue.
Here are the steps:
Subscribe to:
Posts (Atom)
