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 | |
CancelSalesOrder | OrderClose | Input | DynamicEntity | |
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 | |
GrantAccess | PrincipalAccess | Input | PrincipalAccess | |
GrantAccess | Target | Input | Moniker | |
Handle | SourceQueueId | Input | Guid | |
Handle | Target | Input | DynamicEntity | |
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 | |
RevokeAccess | Revokee | Input | PrincipalAccess | |
RevokeAccess | 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
You may include "handle" message.
ReplyDeleteIt is used for "Accept" a queue item.
Andrew, thanks for the suggestion. I've added the Handle message, along with the GrantAccess and RevokeAccess messages for sharing entities
ReplyDeletehttp://code.msdn.microsoft.com/crmplugin
ReplyDeletefrom this site, you can find a file called Enity-Message_Mapping.xls, which probably covers all messages.
Hi,
ReplyDeletemy name is Hadi Teo. I have posted a question in the CRM 4.0 Plugin Registration Tool code msdn.
My question is :
Using the Plugin Registration Tool 2.1, i can configure the "Execution order" attribute to some integer value. May i know how to configure the "Execution order" in the XML attribute for your plugin, especially in registration.xml ?
Thanks for your help.
Hadi Teo.
Hadi
ReplyDeleteI've replied to your comment on the MSDN code gallery. Unfortunatley this is not as easy as is should be, due to the classes used in the PlugInDeveloper tool
Hi David,
ReplyDeleteGood post. I've benefited much from your expertise for several years, whether on the forums or your blog.
I'm working with the "book" message for an appointment - the "create" message doesn't seem to do anything for appointment. I'm having a tough time finding the id of the appointment from the input parameters (or output parameters, for that matter) for the book message.
On a more general note - is there documentation somewhere to help one get a better idea of what's in the input and output parameters? Using the assembly reference for plugins, you have to use the property name to reference it, rather than an index, which seems to make it impossible to get any idea of what properties are available in the input or output parameters.
Thanks David!