Supported types, triggers, entities, and actions for processes

This topic provides information about the supported types and entities for processes in Dynamics 365 Customer Engagement (on-premises), supported triggers for workflows, entities that are supported for the CreateEntity activity, and supported actions for workflows.

Supported triggers for workflows

The following actions can be used to trigger a workflow automatically.

Request Message Trigger
AssignRequest Assign Record is assigned.
BookRequest Book Record is created.
CancelContractRequest

CancelSalesOrderRequest
Cancel Record status changes.
CloneContractRequest Clone Record is created.
CloseIncidentRequest

CloseQuoteRequest
Close Record status changes.
CompoundCreateRequest CompoundCreate Record is created.
CompoundUpdateRequest CompoundUpdate Record is updated.
ConvertKitToProductRequest ConvertKitToProduct Record is updated.
ConvertQuoteToSalesOrderRequest ConvertProductToKit Record is updated.
ConvertQuoteToSalesOrderRequest ConvertQuoteToSalesOrder Record is created.
ConvertSalesOrderToInvoiceRequest ConvertSalesOrderToInvoice Record is created.
CopyCampaignRequest

CopyMembersListRequest
Copy Record is created.
CreateRequest Create Record is created.
DeleteRequest Delete Record is deleted.
DeliverIncomingEmailRequest DeliverIncoming Record is created.
DeliverPromoteEmailRequest DeliverPromote Record is created.
FulfillSalesOrderRequest Fulfill Record status changes.
GenerateInvoiceFromOpportunityRequest GenerateInvoiceFromOpportunity Record is created.
GenerateQuoteFromOpportunityRequest GenerateQuoteFromOpportunity Record is created.
GenerateSalesOrderFromOpportunityRequest GenerateSalesOrderFromOpportunity Record is created.
GetInvoiceProductsFromOpportunityRequest GetInvoiceProductsFromOpportunity Record is created.
GetQuoteProductsFromOpportunityRequest GetQuoteProductsFromOpportunity Record is created.
GetSalesOrderProductsFromOpportunityRequest GetSalesOrderProductsFromOpportunity Record is created.
LockInvoicePricingRequest LockInvoicePricing Record is updated.
LockSalesOrderPricingRequest LockSalesOrderPricing Record is updated.
LoseOpportunityRequest Lose Record status changes.
MakeAvailableToOrganizationReportRequest

MakeAvailableToOrganizationTemplateRequest
MakeAvailableToOrganization Record is updated.
MakeUnavailableToOrganizationReportRequest

MakeUnavailableToOrganizationTemplateRequest
MakeUnavailableToOrganization Record is updated.
MergeRequest Merge Record is updated.
RemoveParentRequest RemoveParent Record is updated.
RenewContractRequest Renew Record is created.
RescheduleRequest Reschedule Record is updated.
ReviseQuoteRequest Revise Record is created.
SendBulkMailRequest SendBulkMail Record status changes.
SendEmailFromTemplateRequest SendEmailFromTemplate Record is created.
SendFaxRequest SendFax Record status changes.
SetBusinessEquipmentRequest

SetBusinessSystemUserRequest
SetBusiness Record is updated.
SetParentBusinessUnitRequest

SetParentSystemUserRequest

SetParentTeamRequest
SetParent Record is updated.
SetStateRequest SetState Record status changes.
UnlockInvoicePricingRequest UnlockInvoicePricing Record is updated.
UnlockSalesOrderPricingRequest UnlockSalesOrderPricing Record is updated.
UpdateRequest Update Record is updated.
WinOpportunityRequest

WinQuoteRequest
Win Record status changes.

Supported types for processes

This topic provides the supported types that you can use in your code for processes inDynamics 365 for Customer Engagement.

Microsoft .NET Framework 4.6.2

Namespace Type name
System.Activities.Statements AddToCollection<T>
System.Activities.Statements Assign
System.Activities.Statements Catch<TException>
System.Activities.Statements ClearCollection<T>
System.Activities.Statements DoWhile
System.Activities.Statements ExistsInCollection<T>
System.Activities.Statements ForEach<T>
System.Activities.Statements If
System.Activities.Statements Interop
System.Activities.Statements InvokeMethod
System.Activities.Statements Persist
System.Activities.Statements RemoveFromCollection<T>
System.Activities.Statements Rethrow
System.Activities.Statements Sequence
System.Activities.Statements Switch<T>
System.Activities.Statements TerminateWorkflow
System.Activities.Statements Throw
System.Activities.Statements TryCatch
System.Activities.Statements While
System.Activities.Statements Receive
System.Activities.Statements Send
System.ServiceModel.Activities.Presentation.Factories SendAndReceiveReplyFactory

For information about each type, see the following documentation for the respective namespaces:

Dynamics 365 Customer Engagement (on-premises)

Namespace Type name
Microsoft.Xrm.Sdk All types
Microsoft.Xrm.Sdk.Workflow All types
Microsoft.Xrm.Sdk.Workflow.Activities All types
Microsoft.Crm.Sdk All types

Supported entities for processes

The following table lists the entities that can be used to trigger process execution or to create a record within a process by using the CreateEntity class. This list is determined by the CanTriggerWorkflow property for each entity.

Entity name Trigger a process Used for CreateEntity
Account Yes Yes
Annotation Yes Yes
Appointment Yes Yes
BusinessUnit Yes No
BusinessUnitNewsArticle Yes No
Campaign Yes Yes
CampaignActivity Yes Yes
CampaignResponse Yes Yes
Competitor Yes Yes
Connection Yes Yes
ConnectionRole Yes No
ConstraintbasedGroup Yes No
Contact Yes Yes
Contract Yes Yes
ContractDetail Yes No
ContractTemplate Yes No
CustomerAddress Yes No
CustomerOpportunityRole Yes No
CustomerRelationship Yes No
Discount Yes No
DiscountType Yes No
Email Yes Yes
Equipment Yes No
Fax Yes Yes
Goal Yes Yes
Incident Yes Yes
Invoice Yes Yes
InvoiceDetail Yes No
KbArticle Yes No
KbArticleComment Yes No
KbArticleTemplate Yes No
Lead Yes Yes
Letter Yes Yes
List Yes Yes
Metric No Yes
MailMergeTemplate Yes No
Opportunity Yes Yes
OpportunityProduct Yes No
PhoneCall Yes Yes
PriceLevel Yes Yes
ProcessSession Yes No
Product Yes No
ProductPriceLevel Yes No
Queue Yes Yes
QueueItem No Yes
Quote Yes Yes
QuoteDetail Yes No
RecurringAppointmentMaster Yes Yes
RollupField No Yes
RelationshipRole Yes No
Report Yes No
SalesLiterature Yes Yes
SalesLiteratureItem Yes No
SalesOrder Yes Yes
SalesOrderDetail Yes No
Service Yes No
ServiceAppointment Yes Yes
SharePointDocumentLocation Yes Yes
SharePointSite Yes Yes
Site Yes Yes
Subject Yes No
SystemUser Yes Yes
Task Yes Yes
Team Yes No
Template Yes No
Territory Yes Yes
TransactionCurrency Yes No

Supported actions for processes

You can choose to perform following actions using workflows in Dynamics 365. Use the sdkmessage.workflowsdkstepenabled attribute to find the list of supported actions available under a workflow step. You can use the following Web API query to retrieve the list of supported actions:

[Organization URI]/api/data/v9.1/sdkmessages?$select=name&$filter=workflowsdkstepenabled%20eq%20true  
Action Description
AddToQueue AddToQueueRequest
AddUserToRecordTeam AddUserToRecordTeamRequest
ApplyRoutingRule ApplyRoutingRuleRequest
CalculateActualValue CalculateActualValueOpportunityRequest
CloseOpportunity WinOpportunityRequest
GetQuoteProductsFromOpportunity GetQuoteProductsFromOpportunityRequest
GetSalesOrderProductsFromOpportunity GetSalesOrderProductsFromOpportunityRequest
LockInvoicePricing LockInvoicePricingRequest
LockSalesOrderPricing LockSalesOrderPricingRequest
QualifyLead QualifyLeadRequest
RemoveUserFromRecordTeam RemoveUserFromRecordTeamRequest
ResolveIncident CloseIncidentRequest
ResolveQuote CloseQuoteRequest
ReviseQuote ReviseQuoteRequest
SetProcess SetProcessRequest
SetWordTemplate Custom action to create a word template. More information: Using Word templates in Dynamics 365 Customer Engagement
UnlockInvoicePricing UnlockInvoicePricingRequest
UnlockSalesOrderPricing UnlockSalesOrderPricingRequest

See also

Create your own actions
Processes in Dynamics 365 Customer Engagement (on-premises)(formerly Workflows)
Custom workflow activities (workflow assemblies)
CreateEntity