Route Message

banner art

Moves an entity instance from one queue to another.

The relevant classes are specified in the following table.

Type Class
Request RouteRequest
Response RouteResponse
Target TargetQueued
Entity See below

The following table shows the entities and target classes for this message.

Entity Target Class
appointment TargetQueuedAppointment
campaignactivity TargetQueuedCampaignActivity
campaignresponse TargetQueuedCampaignResponse
email TargetQueuedEmail
fax TargetQueuedFax
incident TargetQueuedIncident
letter TargetQueuedLetter
phonecall TargetQueuedPhoneCall
serviceappointment TargetQueuedServiceAppointment
task TargetQueuedTask

Remarks

There are three different types of routing behavior as shown in the following table:

Route type Description
User Used to route the entity instance to the queue belonging to a user. The field EndpointId must be the ID of a user.
Queue Used to route the entity instance to a specific queue. The field EndpointId must be the ID of a queue.
Auto Used to perform automatic routing using workflow. The field EndpointId is ignored. The field SourceQueueId specifies the ID of the queue that contains the entity instance specified in the Target field.

To perform this action, the caller must have access rights on the entity instance specified in the request class. For a list of required privileges, see Route Privileges.

Example

The following code example shows how to use the Route message.

[C#]
// Standard CRM Service Setup
CrmService service = new CrmService();
service.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Create the target object for the request.
TargetQueuedAppointment target = new TargetQueuedAppointment();
// EntityId is the Guid of the appointment being routed
target.EntityId = new Guid("7E91958D-C8A1-404C-AC2C-9C474FB2427B");

// Create the request object.
RouteRequest route = new RouteRequest();

// Set the properties of the request object.
route.Target = target;

// EndpointId is the GUID of the queue or user the appointment is being routed to.
// The queue cannot be an In Progress queue.
route.EndpointId = new Guid("44E05740-607B-47AA-ABD6-13A007E2DD85");

// RouteType indicates the entity type of the endpoint.
route.RouteType = RouteType.Queue;

// SourceQueueId is the GUID of the queue the appointment is coming from.
route.SourceQueueId = new Guid("BD0C1BDD-3310-4ECA-B2B1-131C2F5ED1B2");

// Execute the request.
RouteResponse routed = (RouteResponse)service.Execute(route);

[Visual Basic .NET]
' Standard CRM Service Setup
Dim service As New CrmService()
service.Credentials = System.Net.CredentialCache.DefaultCredentials

' Create the target object for the request.
Dim target As New TargetQueuedAppointment()
' EntityId is the GUID of the appointment being routed.
target.EntityId = new Guid("7E91958D-C8A1-404C-AC2C-9C474FB2427B");

' Create the request object.
Dim route As New RouteRequest()

' Set the properties of the request object.
route.Target = target

' EndpointId is the GUID of the queue or user the appointment is being routed to.
' The queue cannot be an In Progress queue
route.EndpointId = new Guid("44E05740-607B-47AA-ABD6-13A007E2DD85");

' RouteType indicates the entity type of the endpoint.
route.RouteType = RouteType.Queue

' SourceQueueId is the GUID of the queue the appointment is coming from.
route.SourceQueueId = new Guid("BD0C1BDD-3310-4ECA-B2B1-131C2F5ED1B2");
'((queue)retrieved.BusinessEntityCollection.BusinessEntities[0]).queueid.Value;
' Execute the Request
Dim routed As RouteResponse = CType(service.Execute(route), RouteResponse)

Related Topics

CrmService Messages

© 2007 Microsoft Corporation. All rights reserved.