Search This Blog

Saturday, October 8, 2022

Custom Workflows & Actions in Dynamics 365 Customer Engagement: Key Takeaways

Dynamics 365 workflows involve a series of steps and rules that automate a business process or task.

Actions in Dynamics 365 are a type of process. Actions open a range of possibilities for composing business logic. Before Actions, the primary way to implement business processes was limited to plug-ins or custom workflow activities.

Let’s look at some frequently asked questions about Custom Workflows and Actions in Dynamics 365:

Custom Workflows

What is Custom Workflow Activity?

  • A custom workflow activity allows you to add complex processing steps to your configurable workflows.
  • Custom Workflows can be run on demand as well as after triggering an event. Workflows can be configured by power users using a point and click user interface.
  • One of the great features of a custom workflow activity is that it can take input parameters and generate output parameters.

What are the important facts regarding the Custom Workflow Activities?

  • Custom workflows cannot be run independently as these are treated as a process step inside a CRM workflow or Dialog.
  • Every Custom workflow supports Input Parameters and Output parameters.
  • In workflows there is no guarantee of controlling when and in which order each custom workflow activity runs but Plugins have the execution order to set.

When should you use Custom Workflows over Plugins?

  • When speed of execution, security of process, and validity of data are integral, I choose Plugins.
  • When flexibility, functionality reuse, and optional user involvement are integral, I choose Workflows.
  • Workflows can be turned off (by unpublishing) but Plugins are always on.
  • When we are using Plugin, we have a number of triggers available (called as Steps/Message) to trigger the plugin execution.
  • Where Custom workflows are triggered by standard workflows available in CRM, that make the custom workflow triggers limited (Create, Update, Status Change, Delete and On assign, On Demand, as a child Workflow).

What is the scope of Custom Workflow/Standard Workflow?

  • Workflows can be limited to automatically execute within specific organizational scopes (i.e. Org, BU, Parent and Child BUs, or for the Owner only).

Why does someone want to read about custom workflows?

  • A custom workflow activity is a step created and used within the workflow engine.
  • If you want to achieve a business task within a CRM workflow or dialog then custom workflow is an option.
  • When a user want to provide an input parameter and get results as output parameter then custom workflow is the option

What is the business need for Custom Workflow/Standard Workflow?

  • A business use case scenario will be when a user deactivate any entity record I want to deactivate any child entities. This can be achieved via custom workflow. Reason for choosing custom workflow over a plugin is its reusability. Via custom workflow I can make it generic and make it configurable.
  • Another example is user enters a date of birth and you want the system to calculate age and display in the form then you can trigger a custom workflow to do achieve this.

Who uses Custom Workflow Activity?

  • A custom workflow activity that will be used within a workflow has to be created by a developer.

Actions

What are Actions in Dynamics 365?

  • By the help of actions, we can extend the functionality of Dynamics 365 Customer Engagement by creating custom messages known as actions.
  • Out-of-the-box CRM provides a set of pre-defined messages for each entity (like create, update, delete and others), but there can be cases when you want a custom action.

For example: approve, reject, delegate or any other action that fits your business needs. Through actions, we can create our own messages for any entity type.

What are the Actions considerations?

  • Always runs under the security context of the calling user.
  • Supports input and output arguments.
  • Doesn’t support a scope where the execution is restricted to a user, business unit, or organization. Actions always execute in organization scope.
  • Supports auditing of data changes.

What are the ways to invoke Custom Actions?

Actions can be invoked by the following ways:

  • Plugin
  • JavaScript
  • Workflow
  • Web API
  • Console Applications

 Why use Actions?

  • Actions provide the ability to define a single verb (or message) that matches an operation you need to perform for your business.
  • These new messages are driven by a process or behavior rather than what can be done with an entity.
  • These messages can correspond to verbs like Escalate, Convert, Schedule, Route, or Approve whatever you need.
  • The addition of these verbs helps provide a richer vocabulary for you to fluently define your business processes.
  • This also makes it easier because you can manage and log the success or failure of the entire action as a single unit.

Why does someone want to read about Actions?

  • By the help of actions, someone can extend the functionality of Dynamics 365 Customer Engagement (on-premises) by creating custom messages known as actions.
  • These actions will have associated request/response classes and a Web API action will be generated.
  • Actions are typically used to add new domain specific functionality to the organization web service or to combine multiple organization web service message requests into a single request. For example, in a support call center, you may want to combine the Create, Assign, and Setstate messages into a single new Escalate message.

What is the business need for Actions?

  • The main advantage of actions is to provide the ability to modify the logic easily whenever a business process is changed.
  • Actions can be run by a plugin, a custom workflow, or while doing integration with another system, a custom client application, or JavaScript.
  • Actions open a range of possibilities for composing business logic. Before Actions, the primary way to implement business processes was limited to plug-ins or custom workflow activities for which you need a developer.
  • With Actions, you can perform operations, such as Create, Update, Delete, Assign, or Perform Action. Internally, an action creates a custom message.

Who uses Actions?

  • A business user can modify this without the help of a developer.

What is the scope of Actions?

  • Actions can be associated with a single entity or be global (not associated with any particular entity).

No comments:

Post a Comment