Thursday, July 17, 2008

Plugin Parameters

Posted by David Jennaway at 16:30
Although the CRM 4.0 SDK is generally pretty comprehensive, I find it doesn't contain as much information as I'd like about the information passed to plugins for each of the messages.

The following table lists the main parameters passed to plugins on the most common messages. If the message you want isn't listed here, post a comment and I'll update the table.


Message Parameter Direction Type Comments
Assign Assignee Input SecurityPrincipal
Assign Target Input Moniker
Close *ActivityClose Input DynamicEntity
Close Status Input Int32
Create id Output Guid Only available on the Post Stage
Create Target Input DynamicEntity
Delete Target Input Moniker
Execute FetchXml Input String
Execute FetchXmlResult Output String
Lose *ActivityClose Input DynamicEntity
Lose Status Input Int32
Retrieve BusinessEntity Output DynamicEntity
Retrieve ColumnSet Input ColumnSetBase
Retrieve Target Input Moniker
RetrieveExchangeRate ExchangeRate Output Decimal
RetrieveExchangeRate TransactionCurrencyId Input Guid
RetrieveMultiple BusinessEntityCollection Output BusinessEntityCollection
RetrieveMultiple Query Input QueryExpression
RetrieveMultiple ReturnDynamicEntities Input Boolean
RetrievePrincipalAccess AccessRights Output AccessRights
RetrievePrincipalAccess Principal Input SecurityPrincipal
RetrievePrincipalAccess Target Input Moniker
Route EndpointId Input Guid
Route RouteType Input RouteType
Route SourceQueueId Input Guid
Route Target Input Moniker
Send EmailId Input Guid
Send IssueSend Input Boolean
Send Subject Output String This is the subject after the tracking token has been added
Send TrackingToken Input String
SetStateDynamicEntity EntityMoniker Input Moniker
SetStateDynamicEntity State Input String
SetStateDynamicEntity Status Input Int32
Update Target Input DynamicEntity To get the Primary Key, find the KeyProperty within the DynamicEntity
Win *ActivityClose Input DynamicEntity
Win QuoteClose Input DynamicEntity
Win Status Input Int32


Notes:
*ActivityClose. For the Win, Lose and Close messages, one of the parameters is an activity type whose name depends on the primary entity - e.g. the Win message could have a QuoteClose or OpportunityClose entity passed to it

To gather this information I used the plugin tools described on the MSCRM Team blog. The source code for these tools can be found here:
Bulk Registration Tool
Plugin Logger

Other Links:
Plugin Development
Plugin Messages

No comments: