Creating a New Option Set

First you will need to add a new field to the entity. You can do so by navigating to Settings -> Customizations -> Customize the System. You can also open a record for the entity you wish to modify and then choose Customize -> Customize Entity from the ribbon at the top of the form. Next expand Entities and then expand the entity you wish to work with. From your entity select Fields from the left navigation and then New from the top of the grid containing the existing fields. In the Display Name field enter the name of the field as you would like the end user to see it on the form. For the Type field, choose Option Set. Selecting Yes to Use Existing Option Set will allow you select a previous created Global Option Set and chose the default value you wish to have loaded. Selecting No will allow you to create a new Option Set that will only be used for the current entity.

To add new options, select the add button and then change the Label field to the text you would like displayed. The Value field will automatically be assigned a number that is unique to the combination of entity and field by the system. If you have the requirement to synchronize the value field to other existing, non-related option set you can change the Value field as long as the value is unique for the entity/field combination. An optional Description can be populated to add any notes as to why the value was added. Repeat the process for all entries you would like in the list.

As items are added you will be able to select one to be the Default Value and have it selected automatically when a new entity record is created. Once items have been added you will also be able to edit them by selecting the item and changing the values or you can delete an item by using the delete button. Deleting an item from an Option Set that is currently assigned to a record(s) will result in an empty value assigned to the field in the record. Prior to deleting, it would be beneficial to do an Advanced Find for that value and change it another so that the empty value is avoided. Additional options to reorder and sort the items are also available.

Once completed be sure and Save, add the field to a form, and Publish the changes.

Global Option Sets

A Global Option Set can be used to provide then same Option Set list across multiple entities without the need to administrate list items from each entity. The interface can be accessed by navigating to Settings -> Customizations -> Customize the System and then Options Sets from the left navigation. Use the New button at the top of the grid to add additional Option Sets. Creating, editing, and deleting items works the same as a standard Option Set.

Importing Option Set Values

There are often times when an Option Set will require a great deal of values. This can be cumbersome given the fact that, from the edit field window, items can only be added manually one by one. The easiest way to perform a bulk update of Option Set values is through the Data Import Wizard. This way is supported and does not involve changing the XML of a Solution. This functionality is only available in the 2011 version.

Step 1: Create the Option Set field for the entity.
No items need to be added for this step, however it is fine to do so.

Step 2:  Create a dummy record for this entity in Excel.
Start a new Excel Spread Sheet and type the name of the Option Set field into the first cell. Directly underneath the field name, enter each item name separated by pressing the Enter key.
There should now be one value per row, and all contained within a single column.

Step 3: Save the file as a .csv
Each of the rows will be separated by a newline character.

Step 4: Import the file into the CRM using the Data Import Wizard
Select the correct data delimeters and Default (Automatic Mapping) for the Data Map type. Next choose the record type.

In the data mapping, match up the Option Set field name to the column heading used in the .csv file. If an item entered in for the data import is not exactly the same as one of the Option Set's current items, the CRM will default to create it. This is the feature that allows for quick bulk import of Option Set values. Select Next and Finish to complete the wizard.

Step 5: After the import has completed, check that the Option Set items have been added to the field as expected.

Step 6: Delete any records which were created.
Navigate to Imports in Workplace, and there will be the import job. It will either be named after the file imported, or the name of the data map created if you selected this option.

Select this data import, then click on the Delete drop down menu. Choose the "Delete Imported Records" option. This will run a bulk delete job on the records (if any) created during this import.

For Option Sets with a great amount of items required, this can definitely save on time and protect against data entry errors.

Free Tools for Managing Option Sets

CrmXpress OptionSet Manager For Microsoft Dynamics CRM 2011 (download from CodePlex)

The OptionSet Manager is a tool to manage all your Option Sets in your CRM 2011 system. It lets you create new Option Sets, update Options in existing Option Sets and delete Options. It supports both Local and Global types of Option Sets and also gives you the facility to import csv/excel file to bulk import options at once.

CRM Option Set Utility (download from crmoptionset.com)
  • Create a Global Option Set or Single Option Set associated with one or more entities or create for later use.
  • Set all the parameters from the Utility that you would normally set within the customizations interface.
  • Set the Options index format starting value, use the solution prefix or use the index stored in the second column of the source file.
  • Support for the organization based language code is provided.
  • Source files can be in Excel, CSV or Text format.
  • Create connections to multiple CRM organizations from within the one instance of the application