Activities are the heart and soul of any CRM system, including Microsoft CRM. The main purpose of any CRM system is to effectively track and manage all of the sales, service, and marketing data related to your customers, and Microsoft CRM stores the vast majority of this data (also known as touch points) as Activities. As with the Lead, Account, Contact, and Opportunity entities, you can perform many of the customizations we've discussed so far on Activities, such as adding attributes, customizing views, and renaming entities.
Important | Microsoft CRM uses an entity named Activity (schema name of activitypointer) to act as the parent to multiple other entities such as Task, Fax, Phone Call, E-mail, and so on. Microsoft CRM also refers to these sub-entities as Activities because they're children entities of the parent Activity entity. |
However, because Activities are so important to Microsoft CRM, we want to explicitly cover some Activity-specific customizations. The default Microsoft CRM installation contains approximately fifteen different types of Activities (child entities of the Activity entity):
Task
Fax
Phone Call
Letter
Appointment
Service Activity
Campaign Response
Campaign Activity
Bulk Import
Order Close
Quote Close
Opportunity Close
Quick Campaign
Case Resolution
Microsoft CRM predefines all of the system relationships between the Activity and these related children entities. Since the Activity entities manage many of the software's inner workings, Microsoft CRM restricts your ability to customize itsome of these entities. Consequently, you cannot add any custom attributes to the Activity entity or modify any of the relationships between the Activity entity and its related activity entities. As a matter of fact, the Activity entity doesn't even have a form for you to customize.
Tip | Microsoft CRM automatically creates some activities, such as Order Close and Opportunity Close, when users close those records. You can reference these auto-created Activities for reporting purposes and viewing a record's history. |
Figure 5-31 summarizes the differences between the Activity entity and its children entities.
Figure 5-31: Differences between the Activity entity and its related entities
However, just because Microsoft CRM restricts customization of the parent Activity entity, don't make the mistake of thinking that Activities cannot be customized. So even though you cannot add attributes to the Activity entity, you can add attributes to the children Activity entities, such as Task, Phone Call, and Letter.
Important | You add custom Activity attributes on the different Activity entities, such as Task, Phone Call, Appointment, and so on, but you cannot add attributes to the Activity entity. Although you cannot add attributes to the Activity entity, you can customize the Activity entity views. In addition, you can not create new types of activity entities. However it is possible to re-purpose an unused activity entity by renaming it and adding new attributes. |
You use the same process to customize the views of Activities that you use for the other customizable entities, but there a few view customization nuances that we want to highlight.
When users first log on to Microsoft CRM, the default start page is the Activities page in the Workplace.
Tip | Each user can specify a different start page by clicking the Tools menu, and then clicking Options. |
From the Activities page, users can quickly and easily filter through all of their Activity records. In addition to the View Filter and the Quick Find features that appear on the other pages, the Activities page also allows users to filter the records by using the Type and Date criteria, as shown in Figure 5-32.
Figure 5-32: The Activities page, showing Type and Date filters
The Type and Date activity filters are hard-coded into Microsoft CRM, so you cannot add your own custom values into these filter picklists. However, you can modify the data columns that Microsoft CRM searches when users use the Quick Find feature. In addition, you can create new views that appear in the View Filter. However, the View Filter behaves differently on the Activities page than it does on other pages in the system: Changing the Activity Type filter changes the list of view names that users can select in the View Filter. Everywhere else in Microsoft CRM, the View Filter list always contains the same list of views, and it does not update dynamically. Table 5-2 summarizes the default views available for each activity type.
Activity type | Views |
---|---|
All | All Activities Closed Activities My Activities My Closed Activities Open Activities Scheduled Activities |
Task | All Tasks My Tasks |
Fax | All Faxes My Faxes |
Phone Call | All Phone Calls My Completed Phone Calls My Phone Calls |
| All E-mails My Draft E-mails My Received E-mails My Sent E-mails |
Letter | All Letters My Letters |
Appointment | All Appointments My Appointments My Completed Appointments |
Service Activity | All Service Activities My Service Activities |
Campaign Response | All Campaign Responses My Campaign Responses Open Campaign Responses |
Campaign Activity | All Campaign Activities In-Progress Campaign Activities My Campaign Activities |
Bulk Import | All Bulk Imports Completed Bulk Imports In-Progress Bulk Imports My In-Progress Bulk Imports |
From the Activities page, users can immediately access over 30 different activity views. As you can imagine, this page will be heavily used.
When you want to customize the default Activity views or start creating new views, you need to know that the Activity entity controls the views for the All filter, but all of the other Activity views are contained within their individual entity record. This is important to consider, because the Activity entity only contains attributes that are common to all of the entities. So you could not add a child entity-specific attribute such as Phone Call Phone Number to any of the views that appear in the All filter. The same constraint applies to the Quick Find feature on the Activities page. You can include Find Columns only from an Activity entity that includes common Activity attributes but does not include any of the attributes unique to the individual Activity types.
In addition to the Workplace Activity views, two additional Activity views that contain special features are the Activities and History views that appear for the following entities: Lead, Contact, Account, Opportunity, Quote, Order, Invoice, Case, and Contract. Figure 5-33 shows the Activities views on the Account entity.
Figure 5-33: Activities views on an Account record
Even though both of these views display Activities related to the entity, clicking History in the navigation pane will show only closed Activities. Clicking Activities in the navigation pane will display only open activities. To customize the columns that appear when users click Activities in the navigation pane, you must edit the Open Activity Associated View of the Activity entity.
To customize the view that appears when users click History in the navigation pane, you must edit the Closed Activity Associated View view of the Activity entity. Again, because these views display different types of Activities entities (Phone Call, Task, Fax, and so on), you can display only the columns from the Activity entity.
As we just explained, some of the Activity views behave a little differently than the non-Activity views in Microsoft CRM. Likewise, customizing the Activity attributes and forms involves a few additional wrinkles that you should be aware of. You can, of course, customize the form for most of the children Activity entities. However, Microsoft CRM uses several special system fields that appear on most of the Activity forms (such as Duration and Due Date Time) that behave differently than regular attributes and forms. The following are some of the Activity attribute and form restrictions:
Some of the Activity entities use a special Duration field that appears on their form. This Duration field displays over 20 picklist values such as 1 minute, 5 minutes, and 1 hour. If you wanted to add a new value of 2 minutes, you might expect that you could simply add a new picklist value for the Duration attribute. However, if you browse to the attributes of the Phone Call entity, you will notice that both the Scheduled Duration and Actual Duration attributes are read-only integers, not a picklist data type, so you cannot add a new value. If this was a standard picklist attribute, you could simply edit the picklist values from this screen, which you obviously can't do here.
Even though you can't add new picklist values to the Duration attribute, users can simply type a new value in the field when they are entering Activity data. To do so, they would simply select a value in picklist, and then click in the Duration field to enter a new value, such as 2 minutes. This data will be saved correctly in the database as 2 minutes. The database stores the duration in whole minutes, so you can enter 2.25 hours (135 minutes), but you cannot enter 15.25 minutes; Microsoft CRM will automatically convert 15.25 minutes to 15 minutes.
The default picklist values are every 30 minutes for the Due Date Time field, and you cannot add new interval values. However, as with the Duration field, users can simply type their own values (such as 12:15 P.M.) in the Due Date Time field.
The default data type for the Category and Sub-Category data fields is nvarchar, so users can enter any text value in these fields. This free-form text option can make it difficult for companies to track and filter Activities by category, because users might type different values to mean the same thing. For example, one person might type "Sales," and another user might type "Sales Calls." You could enforce a more standardized approach by creating some custom code using the client side SDK (see examples in Chapter 10, "Microsoft CRM Client-Side SDK"). In addition, the Category and Sub-Category fields in Microsoft CRM do not correlate to or link with the Category field for tasks that the Microsoft CRM client for Outlook synchronizes to your Outlook tasks.