Activity Management

CRM 1.0

Activities are tasks a user performs when contacting customers, for example, sending letters or making telephone calls. Users can create activities for themselves to do, can assign them to someone else to complete, or can share them with others. The Microsoft CRM SDK provides security settings that can be used to determine the access rights for activities.

Activity relationships

Definition of Terms

Activity: A task performed (or to be performed) by any system user. An activity can be thought of as any action for which an entry can be made on a calendar. An activity has time dimensions (start time, stop time, due date, duration) that help identify when the action occurred or is to occur. Activities also carry some basic properties that help identify what action the activity represents (title, description). Activities can be pending, in progress, canceled, and completed. The completed status of an activity will carry several sub-statuses to further clarify the way that the activity was completed.

Activities involve one or more participants. For a meeting activity, the participants are those contacts or users attending the meeting. For a phone call or fax activity, the parties are the caller and person who is called.


The following table describes the classes of the activity management objects.

Class Description
CRMActivity Methods to manage activities
CRMActivityAttachment Methods to manage e-mail attachments


All activities a salesperson or customer service representative can perform can be captured in the Activity object. An activity can be one of the following:

  • Task
  • Fax
  • Phone call
  • E-mail
  • Letter
  • Appointment

Each type of activity supports the ability to store relevant information about the activity.

There are two types of association for activities. The first is an implicit association where the contact, account, or lead is a party to the activity, for example, an entry on an e-mail “To:” line. All activities also have an owner, which is usually the person who created the activity. An activity that is assigned to someone else is a delegated activity.

Activities can be created in three ways. A user can create a new activity (either as something to do in the future or as a record of something just done). A user can create a new activity and assign it to someone else (for instance, to another team member). Or, the workflow engine can create an activity and assign it to a user based on a predefined process that the system administrator or channel partner has created.

Activities exist in three states in Microsoft CRM: Open, Closed, and Canceled (or Skipped).

The type of access a user has to activities created by others, and others have to activities created by a user, are determined by assigned security privileges.

The following table lists the rules for activities.

The owner of an activity has full access to the activity.
The owner can share the activity with other users and can assign it to another user.
The user who is sharing the activity sets the type of access (read-only or read/write) that other users will have.

Actions that can be performed on activities include: Cancel, Close, Handle, Open, Route, UnHandle, Share, Create, Delete, Retrieve and Update. For more general information, see Actions on Objects.

Activity Types

The following table describes the types of activities in Microsoft CRM.

Activity Description
Basic activity This is the basic activity type. All other activity types are derived from this type and share its attributes.
E-mail An e-mail is an activity that is delivered using e-mail protocols. An e-mail tracks additional information about the activity, including a MIME type, message ID, and message header (or envelope).
Phone call A phone call is an activity that tracks the call outcome (hung up, no answer, left voice mail, wrong number, and so on).
Fax A fax is an activity that tracks call outcome and number of pages. The activity can optionally store the electronic copy of the actual document.
Incident resolution Incident resolution is recorded when a user is in an incident (case) and wants to close it.
Letter A letter is a simple activity that tracks the delivery of a postal message. The activity can optionally store the electronic copy of the actual letter.
Incident Entry Incident entry is to track non-standard activities that require time tracking.
Opportunity closed Opportunity closed is recorded when user is in an opportunity and wants to close the opportunity.


How to Change the Owner of an Activity

To programmatically change the owner of an activity, use either CRMActivity.Route or CRMActivity.Handle. Using the CRMActivity.Route method, the EndPointId can either be a user or queue, or can be ignored. This is controlled by the ROUTE_TYPE_CODE. If using queues, you can route to an individual user's Assigned (private) queue.

You cannot use Route to send the activity to a user’s In Progress queue (WIP bin). To do this, you must use CRMActivity.Handle. This method moves the activity to the caller's In Progress queue.

Note   The owner of an Appointment activity cannot be changed programmatically.

Using Dates in Activities

The date format used by Microsoft CRM is a Universal Sortable Format. For example, one possible date format is "yyyy-MM-dd HH:mm:ss". Note that date fields in Microsoft CRM display only the date.

How to Change the Regarding Field of an Existing Activity

To programmatically change the Regarding field of an Activity, you must use the method CRMActivity.Update. In the ActivityXml parameter, set the ObjectID and ObjectType code to the new Regarding object. Do not set anything in the ActivityPartyXml. When the update is performed the ActivityPartyXml is automatically updated with the new object's information.

© 2005 Microsoft Corporation. All rights reserved.