In Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online, queues are instrumental in organizing, prioritizing, and monitoring the progress of your work. As a central location for work management, queues assist you in processing sales orders, responding to service calls, or sending out product information to prospective customers. Programmatically, a queue is a collection of queue items. A queue item serves as a container for an entity record, such as a task, an email, or an invoice that needs processing.
The following information pertains to queues:
All customizable entities, business or custom, can be enabled for queues.
A default queue is automatically created for each new user or team.
A queue can contain multiple entity types, such as tasks, emails, or cases.
A queue is user-owned or team-owned. This provides a high level of security by allowing data access to specified users and teams instead of to the whole organization.
A queue contains information about the user who is working on a particular queue item. This helps you manage your resources more efficiently and helps to prevent duplication of work.
You can assign and share queues with other users and teams to improve collaboration efforts.
Queues can be enabled for workflows and audit. This helps improve productivity and track the entity and attribute data changes for future analysis and reporting.
In This Topic
Enabling Entities for Queues
To enable a customizable entity, business or custom, for queues, use the UpdateEntityRequest message to set the IsValidForQueue attribute to true. For a list of customizable entities, see Which Entities Are Customizable?. The queue entity and the queue item entity are customizable entities, but they cannot be enabled for queues.
The following list contains default queue-enabled entities in Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online:
Inheriting Privileges and Providing Limited Access to a Queue
A queue and a queue item have a parental relationship in which all operations on the parent queue record are propagated to the child queue item records. For more information about parental relationships and cascading rules, see Entity Relationship Behavior. The privileges on a queue item are inherited from the privileges on a queue.
If you have prvReadQueue privilege, you also have read privilege on a queue item entity.
If you have prvAppendToQueue privilege, you also have create, update, and delete privileges on a queue item entity.
Often, you must limit access to the queue when permitting access to the queue items. As a queue owner with full access to the queue, you might want to share a queue with a team that will have only limited access to the queue. For example, if the support team is given read and append to privileges on a queue, team members cannot make any changes to the queue, such as changing queue name or queue owner. However, they can create, retrieve, update, and delete queue items.
For more information, see Queue Entity Privileges.
Actions on Queues and Queue Items
You can perform a variety of actions on queues and queue items, if you have appropriate privileges on the queue entity and the queue item entity.
Actions on Queues
Perform the following actions on the queues:
Customize queues and queue items by adding custom attributes.
Add an entity record to a queue.
Note An entity record cannot be added in multiple queues. An exception is an email entity record with the status “Received”.
Add entity records of different entity types in the same queue.
Change an ownership of a queue by assigning it to another user or team.
Limit access to a queue. You can collaborate with other users and teams on specific projects by sharing a queue with them. For example, they will be able to create, retrieve, update, and delete queue items, but will not be able to modify the queue itself, such as changing a queue name.
Clean up the history for a queue by deleting inactive queue items in the queue, such as completed or canceled phone calls.
Delete a queue. When you delete a queue, all associated queue items are also deleted.
Make a queue your default queue by setting the SystemUser.QueueId attribute to the ID of the queue. The same queue can be specified as a default queue for different users.
Create a workflow that operates on all default queues. For example, whenever a user creates a task, the workflow adds the task to the default queue of the user. You can also create a workflow that operates only on a particular queue.
Configure an email for incoming messages, if you want incoming email messages to be delivered to a queue.
Actions on Queue Items
Perform the following actions on the queue items:
Specify a user who will work on a queue item by setting the QueueItem.WorkerId attribute to the ID of the user. To specify when the WorkerId attribute was set, use the QueueItem. WorkerIdModifiedOn attribute. You can set the WorkerId attribute to yourself or another user who has access to the queue. If you are no longer working on a queue item, you can set the WorkerId attribute to someone else or release it back into the queue. To work on queue items, you must have the prvAppendToQueue privilege.
Move a queue item from a source queue to a destination queue by using the AddToQueueRequest message. A queue item can be moved from one queue to another until it is deactivated by using the SetStateRequest message.
Note A queue item is automatically deactivated if the state of the record in the queue item changed from Active to Inactive. This applies to queue-enabled entities that have Active and Inactive states. To determine if an entity is queue-enabled, see the “XXX Entity Metadata” topic for the entity. To see if an entity record can be in an Active or Inactive state, see the “XXX Entity OptionSet Attribute Metadata” topic for the entity.
You can release a queue item back into the queue by setting the WorkerId attribute to To set null.
Delete a queue item from a queue by using the DeleteRequest message. When you delete a queue item, a referenced entity record is not deleted. However, when you delete an entity record, all queue items that reference this entity record are deleted.
ConceptsConfigure Email for Incoming Messages
Queue Entity Messages and Methods
Queue Entity Metadata
Queue Entity OptionSet Attribute Metadata
QueueItem Entity Messages and Methods
QueueItem Entity Metadata
QueueItem Entity OptionSet Attribute Metadata
Queue Entity Privileges
Other ResourcesSample Code for Queue Entities
Business Management Entities
Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online
Send comments about this topic to Microsoft.
© 2012 Microsoft Corporation. All rights reserved.