Posts Tagged ‘CRM 2011’

Using Formulae in Dialogs: Example Lead Scoring

February 7, 2011 Leave a comment

When using Microsoft Dynamics CRM have you ever wondered how to create and use formulae in Dialogs? Yes this is possible using two features supported in Dialog Processes: Variables and Assign Value step. If you look at the Dialog designer page, you will see a section for creating Variables as shown in figure below.


You can add Variables with default values using this step. The Variables can be later used to create formulae in your Dialog. Three types of Variables are supported by Dialog: Single Line of Text, Whole Numbers and Floating point Numbers. Once you click on Add you will get a Dialog for defining the variable as shown in below figure.


Once the Variable is defined it appears as below figure on the designer.


You can Edit or Delete the Variables after it is defined. You can modify the name and default value of the Variables. However you cannot modify the data type of the Variables once defined. This limitation is to avoid data type mismatch errors. Suppose if some variable is defined as floating point number and used to create formulae in Dialog Process and later the variable’s data type is changed to Text then the steps using the Variables for multiplication or addition would become invalid.

Now once your Variables are defined, you can use them to create a formula using Assign Value step which is available in Add Step menu on designer.


Once you click the menu option you will see Assign Value step on the designer where you can fill the name of this step. You can use Set Properties button to create the formula. The step looks like below figure on designer.


Once you click the Set Properties button a formula definition Dialog will appear. The Variables defined in the Dialog will automatically appear in the Name dropdown.


Assign Value step supports different kind of Operators for all data types supported. For example; following table illustrate the operators supported for different data types.

Data Type Operators
Single Line of Text Set to, Append with and Clear
Whole Number Set to, Increment by, Decrement by, Multiply by and Clear
Floating point Number Set to, Increment by, Decrement by, Multiply by and Clear

Let us now develop a Dialog for Lead Qualification. Suppose your company is running some marketing campaign through phone call. Assumption is that the phone call records already exist with Regarding field as Lead and Recipient also as Lead to whom call has to be made. The marketing executive is running Dialog to achieve the objective. For this we need to author a Dialog. We will create a Dialog for Phone Call entity so that while making an outbound call, the Marketing executive directly launch the Dialog from Phone call page and start the Dialog for conversing at phone with the probable Opportunity. In order to simplify the example we will assume that the customer will be asked 2-3 questions in order to qualify the lead as Opportunity or lost Lead. First we have to plan the Dialog. For simplicity, we have very limited set of questions to qualify the Lead as shown in below flowchart.


Step 1 of this flowchart can be implemented with Assign Value step where the name variable is Set To regarding Lead’s First name data slug which is illustrated in one of the above figures. The variable initialized with First Name can be used in a Prompt greeting customer as shown below.


Now you have to check if the customer is further interested in continuing the talk. If yes then we will increment the value of current_score by 5 as per flow chart shown above and continue with other steps as per flow chart in the if-then block. To increment the value of current_score by 5 we would do following.

First select the variable ‘current_score’ from name dropdown, ‘Operator’ as ‘Increment By’ , then type ’5.0’ in the ‘Default value’ text box and finally click Ok on the Form Assistant.


In case user is not interested then we would deduct the 10 points from the current score as shown below.


Now you get how to create formulae in your Dialog. The final Dialog will look something like shown in below figure.


In above Dialog, you will notice that you can change the status of Regarding(Lead) to Qualified however the Process (Dialog or Workflow both) does not provide option to convert this Lead to Opportunity or Account. That can be achieved by placing two Create Record steps, one to create Account with the Lead’s company’s name and other to create an Opportunity with the same topic as that of the Lead as shown in following figures.


Create Account step would be configured as shown in below figure and the same account can be used as potential customer for the Opportunity created due to Lead qualification.


Obviously the Created Opportunity should have same topic and customer created in previous steps which is simple as shown in next figure which you get on clicking Set Properties button of Create Record step.


Finally test the Dialog after activating it to verify that if the Lead is qualified the corresponding Account and Opportunity are created.


Ramesh Pandey


Microsoft Dynamics CRM 2011 Fiscal Settings and Goal Management

January 19, 2011 Leave a comment

Microsoft Dynamics CRM 4.0 had the capability of defining the fiscal setting for an organization but there was a limitation that this could only be defined once and cannot be modified thereafter. Primarily the fiscal settings were used in CRM 4.0 to set salesperson quotas. In Microsoft Dynamics CRM 2011 the fiscal settings feature is revamped and it now provides user the capability of modifying fiscal settings multiple times. With deprecation of the Quotas in CRM 2011 Goal Management is one of the primary consumers for fiscal settings. This blog post explains how the fiscal periods for the organization can be set and how it interacts with the goal management.

How to configure the fiscal settings for organization

Fiscal settings can be configured by navigating to Settings-> Business Management -> Fiscal Year Settings. The following dialogue provides the options for setting values for fiscal start date, fiscal period type and various display formats. Note that as opposed to CRM 4.0 where the fiscal settings were absent in an organization until set, CRM 2011 defaults fiscal period to quarterly starting January 1. Also the various input options for the fiscal settings are now context dependent which prevents user from entering conflicting values.


Fig: CRM 2011 Fiscal setting dialogue with defaulted values 

Following are the various fields required for organization fiscal settings:

  • Start Date: When the fiscal year is going to start from. This date typically would mark the start of the financial year in sales organization. 
  • Fiscal Period Template: What is the fiscal period type? Possible options are Annually, Semiannually, Quarterly, Monthly, 4- Week period. Once the start date and period type is defined the system can calculate the start and end dates of fiscal periods for various fiscal years.

Fiscal Display options help user to define the display format for various fiscal settings. For example consider the following monthly fiscal settings with Start Date as April 10. Note that we have selected the “Name Based on” value to “End Date” and “Fiscal Period” drop down has the options specific toMonthly fiscal period template.


Fig: Fiscal dialogue having Monthly fiscal period starting 10th April.

Goals and Fiscal settings

Fiscal periods are tied closely to goal management. Sales people usually have the quarterly sales targets, Customer service representatives need to achieve their goals for the case resolutions and so on. When the new Goal form is launched, Goal is defaulted to the current fiscal period automatically. Because for current fiscal period there are fixed start and end dates, the goal start and end dates are also displayed in read only mode.

For example if we have the monthly fiscal settings are per the fig above and user clicks new goal form, following fiscal values are defaulted on goal form (on 31 Dec 2010)


Fig: New goal form defaulting dates to current fiscal period.

FiscalPeriod: December (Based on fiscal period display value “Month Name”)

FiscalYear: FY2011(Based on Prefix:FY, YearFormat:YYYY, NameBasedOn:EndDate(on 31 Dec 2010))

From (Goal Start Date): 12/10/2010 (Based on 4/10/2010 fiscal start date)

To (Goal End Date): 1/9/2010 (Based on Goal Start Date above and monthly fiscal period type)

Updating Fiscal settings for organization

Fiscal settings in MSCRM 2011 can be updated multiple times by using the same fiscal dialogue shown above and hence provides the supports for scenarios arising from mergers/acquisitions , partnership changes, financial restructuring etc. There can be goals existing in the CRM system which are already using the old fiscal settings. To better handle situations arising from fiscal changes which can lead to data inconsistency, MSCRM goal management offers the notification and realignment mechanism. For following examples consider the goal created with fiscal settings for the current (default) fiscal period. FiscalPeriod: December, FiscalYear: FY2011, From (Goal Start Date): 12/10/2010, To (Goal End Date): 1/9/2010.

Case 1: Fiscal period template remains same but the start dates changes:

CRM system administrator moves the fiscal start date ahead by 5 days i.e. from 4/10/2010 to 4/15/2010. In this case the fiscal period template remains the same but the start date has changed. Data in the goal record still retains the old values for all fiscal and date fields. When this goal record is opened the following warning message is displayed on the goal form to notify the fiscal settings change and provides user the option to realign.

Message: “The fiscal settings of your organization have changed since the time this goal was changed. You might want to realign to the new fiscal settings. ”


Fig: Fiscal change warning when the fiscal start date is changed.

Note that the “Align with Fiscal Period” ribbon button is now enabled for this goal record. Clicking this updates the new start and end dates for the goal which is now according to the current (new) fiscal settings. Realignment is optional for the goal manager based on the business need. Note that even after realignment goal fiscal period and year still remain same as there is only the change in the date. Also the warning message is now gone.


Fig: Goal form after the realigning the fiscal period.

Case 2: Fiscal period template changes:

CRM system administrator changes the fiscal period type from monthly to quarterly (3 months). In this case also the existing data is retained as is and there is a warning message on the goal.

Message: “The fiscal settings of your organization have changed since the time this goal was changed. You might want to realign to the new fiscal settings. ”


The goal manager on seeing this warning can either choose to switch to the new quarterly fiscal settings by changing the fiscal period to quarterly as shown in the above figure. Else he can convert this goal into the custom period goal by clicking on the “Goal Period Type” radio button and can retain the goal start and end date and also get rid of the fiscal change warning.

Fiscal settings upgrade

If the fiscal settings are configured for an organization in CRM 4.0 these are retained in CRM 2011 as is, otherwise the fiscal settings are defaulted to quarterly with January 1 as the start date. Additionally the existing CRM 4.0 quotas are also upgraded to CRM 2011 but the new quotas cannot be created as these are deprecated in favor of goal management.


Hemant Gaur

Accessibility in CRM 2011 lists

January 11, 2011 Leave a comment

Accessibility-compliance is one of the key new features of Microsoft Dynamics CRM 2011. We on the CRM team believe that no person should be denied from using the product even if one is visually challenged. Accessibility in CRM is useful not only to the visually challenged users but also to the user who prefers keyboard to mouse.

You can do almost everything in CRM 2011 lists quickly and easily using just a keyboard. For the visually challenged, using CRM 2011 lists with Job Access with Speech (JAWS) is a breeze. Also for them, we have also made enhancements to ensure that CRM lists display well in the high-contrast mode.


Sample Accounts list in CRM 2011

Compatible Screenreaders

Accessibility features in CRM 2011 work well in tandem with JAWS 11, the most widely-used screenreader in the world. We have also tested it on Window-Eyes, another popular screenreader.

Let us see how we can perform some of the common list operations in CRM 2011 using JAWS and keyboard.


Sorting is one of the most commonly used functions in a list of records. Just follow the 2 simple steps below to sort on your favourite column using JAWS

1. Perform one of these actions:

    a. Press Ctrl+Insert+T to list all the tables in the current page. Scroll through the list and choose the table with the following title: From each column header, you can sort and filter the records.


    b. Press Tab repeatedly until you get to the list header. When you reach the “Select/Clear All” checkbox, you are inside the list header.

2. Press Tab repeatedly until you reach the desired column in the header table. E.g. – To sort on Address 1: City (the 3rd column in the list), press TAB thrice. You will then hear “Table Nesting Level1 Column1 Row1 Address1: City link”.

3. Now press Enter to alphabetically sort the list based on Address 1: City. Press Enter again to sort it in reverse alphabetical order.

Similarly you can sort a list on any sortable column in the current view in increasing/decreasing order using JAWS. Simple, isn’t it?


If sorting does not solve it for you and you need more advanced ways to filter your records, the Column Level Filtering feature in CRM is the way to go.

1. Tab to the link which reads “Filter button” Press Enter to enable filters on the list.

2. Now reach the list header using action 1 given in the sorting section given above.

3. To reach the desired column, use action 2 from the sorting section.

4. Press TAB again to go to the filter link. JAWS should read “Table Nesting Level 2 Column1 Row1 – ‘No filter applied’ link”

5. Once on the link, press Enter to open the filter menu. The filter menu has some common filters and a custom filter option as well.

6. Goto the desired filter option and press Enter to apply it on the list.

7. If you select Custom Filter, then the Custom Filters menu will open up which can be used to apply more powerful filters.

Opening primary/related records from the list

In CRM 2011 lists, all the primary field and lookup columns are hyperlinks which enables a JAWS user them to be able to open them.

1. Press Ctrl+Insert+T to list all tables in the current page.

2. Scroll through the list and select the table which reads “This list contains x Account records” where x is the number of records in the list. The focus moves to the table which contains the list of records.

3. Press TAB repeatedly until you get to the desired record. E.g. If you want to open the account with the name “Advanced Components”, press TAB until JAWS reads “Advanced Components Link

4. Press Enter to open the “Advanced Components” form.

Reading the contents of the list

Reading the contents of the list using JAWS is easier than ever before since the row/column headings are now read along with the value of a cell.

1. Goto the table which contains the list using the steps 2&3 described in the above section.

2. Use Ctrl+Alt+Arrow keys to navigate around the list.

3. Move horizontally to read the different fields of a record. When moving horizontally, the field name (column title) is read before the actual value of the cell.

4. Move vertically to read the same field from the previous/next record in the grid. When moving vertically, the record name (row title) is read before the actual value of the cell.

Selecting one or more records in the list

Selecting non-contiguous records in made easy in CRM 2011 lists with the introduction of row checkboxes.

1. Goto the table which contains the list using the steps 2&3 described two sections above.

2. To select the “Advanced Components” record, go to the checkbox corresponding to this record.

    a. Press Tab repeatedly until JAWS reads “Advanced Components, Checkbox unchecked”

    b. Press Space to check the checkbox thus selecting the record

3. Repeat the above step to select as many records as you want.

4. Once you have selected the desired record(s), you can perform edit, delete, share, assign and other record actions.

5. If you have selected multiple records, you can perform bulk operations on them like bulk delete, share, etc.

6. You can use the step 2 also to unselect a selected record.

Bye-bye Ctrl-Click!

We hope that this blog helps a bit in fulfilling our commitment to make CRM available everyone!


Aditya Agrawal

Introduction to Queues in Microsoft Dynamics CRM 2011

December 22, 2010 Leave a comment

Microsoft Dynamics CRM 2011 Release Candidate (RC) Announcement

December 16, 2010 Leave a comment

The Microsoft Dynamics CRM 2011 Release Candidate (RC) is now available for download in the Microsoft Download Center.  As with the Microsoft Dynamics CRM 2011 Beta, the Release Candidate is available for anyone to download, and will be available until the RTM release scheduled for Q1, 2011.   This release represents the combined efforts and feedback from customers and partners working on the Microsoft Dynamics CRM 2011 Beta so thank you for all of you involved in this process.

imageUpgrades:  On-premises Beta databases can be upgraded to this new RC release which can then be upgraded to the upcoming RTM release.  CRM Online Beta customers will continue to have access to their CRM Online Beta instance until the CRM Online RTW launch in January, at which time they can choose to opt-in to upgrade their Beta instance to a production subscription.

Release Candidate is the last external milestone before the CRM Online Release to Web (RTW) launch in January 2011, and the on-premises Release to Manufacturing (RTM) in Q1, 2011, so please continue testing and validating this new pre-release version as well as continue building your deployments and solutions to be ready for the RTW and RTM releases.

Thank you,

The Microsoft Dynamics CRM 2011 Team   

Microsoft Dynamics CRM 2011 Server Release Candidate

Available in English only 

Microsoft Dynamics CRM 2011 for Microsoft Office Outlook

Available in 25 languages

Microsoft Dynamics CRM 2011 Language Pack

Available in 41 languages

Microsoft Dynamics CRM 2011 E-mail Router

Available in 25 languages

Microsoft Dynamics CRM 2011 Report Authoring Extension

Available in 25 languages

Microsoft Dynamics CRM 2011 List Component for Microsoft SharePoint Server 2010

Available in 41 languages


Bryan Nielson

Demystifying the Recurring Appointment series expansion in Microsoft Dynamics CRM 2011

December 9, 2010 Leave a comment

Microsoft Dynamics CRM 2011 Beta is out and so is the support for creating and managing recurring appointments within Microsoft CRM.

Now we can create and manage recurring appointment within Microsoft Dynamics CRM 2011 using its familiar Web client user interface and it also allows you to perform full bi-directional synchronization with Microsoft Dynamics CRM Client 2011 for Outlook.

Recurring appointments look and feel is almost similar to Outlook’s Recurring appointments, this was done to ensure that users get familiar interface of Outlook’s recurring appointment but there are two important differentiators as well that I want to highlight here.

1. Outlook Recurring Appointments follow Rule based OnDemand expansion model while in CRM occurrences get created and persisted in Database as individual Appointment records. This expansion based model allows other components of CRM to work independently on individual appointments records.

2. Unlike Outlook, CRM allows us to update recurrence rule of recurring series and still maintain past history of recurring series. On every update of recurrence information, past appointment instances of recurring series are preserved and they can be viewed from a common grouping link in recurring series records.

In this blog post I wanted to share more detail on recurring appointment series expansion logic, as it has some settings that you can configure as per your organization’s business requirements.

Expansion based model works best for business system like CRM very well but it has its own set of challenges, like high storage cost and initial processing cost in series expansion. Series maintenance cost(like update and delete cost) is also high when series definition changes. To address some of these concerns partial expansion based model is followed in CRM, which mitigates performance issues as well as allows an organization to define its own expansion rule as per business needs for long running recurring appointments.

This is how we define partial expansion model –

I. Initial expansion window configurable by business policy.

II. Future expansions done by background expansion service for a configurable time window on incremental basis.

Now let’s take one concrete example to explain how partial expansion based approach works. Assume you have a never ending recurring series definition; in this case partial expansion of a recurring series will work in this way.

I. On recurring appointment series creation, immediately 15 appointment instances would be created (controlled by RecurrenceExpansionSynchCreateMax setting).

II. An Asynchronous “OnDemand” expansion job would be created, which will expand the series for next 12 months time window (controlled by FutureExpansionWindow).

III. There is a weekly “Recurring” series expansion job pre configured into CRM system which will take care of expanding any series for next 7 days into system. This job will keep expanding series regularly and it will ensure that you have access to next 12 month’s worth of instances for any series.

There are a number of organization settings that you can tweak to adjust recurring series expansions as per your organizations need.

a. RecurrenceExpansionSynchCreateMax – Specifies the maximum number of instances to be created synchronously after creating a recurring appointment. CRM default is 15 instances. This setting allows us to control synchronous creation of series instances. Default value 15 allows us to work immediately on created series instances, having a larger value will keep user waiting for series creation operation to complete.

b. FutureExpansionWindow – Specifies the maximum number of months in future for which the recurring activities can be expanded. CRM default is 12 months. After this period series instances will keep on expanding on Weekly basis (like a sliding time window) until series expansion is fully complete as per series end date definition. This setting ensures that at any day you will be able to see instances in CRM calendar for future time window controlled by FutureExpansionWindow.

c. PastExpansionWindow – Specifies the maximum number of months in past for which the recurring activities can be created. CRM default is 3 months. On web client this setting prevents user to specify recurring series start date more than three months in past. Further, this setting allows us to control how many past instances of series we want to synchronize from Outlook side. Generally, most of the time we are interested in present information instead of past information so it will prevent the synchronization of very large number of past instances from Outlook side.

d. RecurrenceExpansionJobBatchSize – Specifies the value for number of instances created in on demand job in one shot. There is no CRM default value for this setting, which means this setting is ignored unless set to some positive integer value. This performance tuning setting allows to tune Asynchronous expansion of recurring series, if there are too many instances that needs to be created because “FutureExpansionWindow” is very large, in such cases this setting will allow automatic pausing of recurring series expansion job to give other Asynchronous jobs an opportunity to complete their work.

e. RecurrenceExpansionJobBatchInterval – Specifies the interval (in seconds) for pausing expansion job. CRM default is zero seconds. If pausing happens because of “RecurrenceExpansionJobBatchSize” setting, then paused series expansion job will sleep for the specific seconds as per this setting. This setting should not be changed unless you want to do expansion related performance tuning yourself.

These settings are not available in System Settings page in CRM, so you’ll want to write a simple SDK program to change them if you want to tap into them.

You can find more detail in SDK documentation on how to work with recurring appointments and it’s interaction with other sub systems in CRM.


Prabhat Pandey

Bulk Activity Management

December 9, 2010 Leave a comment

Activities form a major part of Microsoft Dynamics CRM. Sometimes it becomes necessary to perform operations on many of these activities at once. Microsoft Dynamics CRM 2011 provide ways to manage multiple activities at once. With the new grid view of Dynamics CRM 2011 you just have to select the multiple activities you want to manage together using the checkboxes. You do not have to hold down the control key like in CRM 4.0 for multiple selections. The only bulk operations supported by Microsoft Dynamics CRM 4.0 was Assign to operation.

Bulk Activity Editing

Microsoft Dynamics CRM 4.0 provided Bulk Editing capabilities for various records. Bulk edit was not supported for Activities. With the new Dynamics CRM 2011 bulk edit support has been provided for most activities. Activities that do not allow bulk editing include Recurring Appointments. You cannot bulk edit components of different activity types. This is because each Activity will have its own unique bulk edit form. Also some fields also might be disabled if incompatible for bulk editing.

Let us assume that we want to send letters to 3 personalized emails to 3 different Contacts informing them about the new Dynamics CRM 2011. First we create 3 Emails each of them having different recipients.


Select the three different emails and click on Edit.


An “Edit Multiple Record” form appears. We can now place in the text about how much we like CRM and how awesome it is in the fields we want.


All entries that are left blank indicate that you do not want to update the original entry in the Email. So now if you actually check the individual mails, you can find a personalized mail for each user.


Note that there is no way to blank off any entry using the bulk edit feature.

Other Bulk Management Operations

Bulk operations such as Mark Complete and Cancel require that the activities be of the same type. When either of them is selected there is a pop up window where you can select the status of the activities. So if I have to set the status of three Letters as Sent


Operations such as Set Regarding, Add Note and Add to Queue support activities of different types. Lets assume that we want to perform Set Regarding operation on the three emails and maybe a couple of corresponding appointments to a particular campaign. We can use advanced find to actually find the records we want to perform the bulk operation. Select all of them.


Then select Set Regarding. A lookup dialog box pops up where we can select the appropriate campaign we want.


Note that some of these operations that are not supported for certain activities. So these operations will not act upon these activities in bulk also. For example, Email activity does not support Mark Complete operation.


Girish Rao