Below is a summary of the areas you can extend of Dynamics 365 and Power Apps.
|Processes||General term for allowing an organization to create processes specific to their business. These are created through the Dynamics 365 user interface, and include: Actions, Business Process Flows, Dialogs and Workflows. More details on each type below.||Access under Settings->Processes|
|Workflows||A type of process created through the Dynamics 365 user interface.|
|Choose the Entity (cannot be None Global), how it starts (record created, status changed, assigned, fields change, deleted). Run in background, on-demand, or child process.|
Has stages, steps, check conditions, perform actions, create/update/assign records, change status, start child workflow.
The scope of a workflow is User, Business Unit, Parent: Child Business Unit and Organization.
An example here is sending an email if a case status has changed.
|Custom Workflow Activities||Links:||Custom Workflow Activities, or Workflow Extensions, are custom code written in Visual Studio that we can call from Workflows. They are added as a step to Workflows in the Process designer.|
|Actions||Links:||Actions can apply to a specific entity or to None (global)|
Example: Define an “Escalate” verb that creates, updates and assigns an entity in one step
|Business Process Flows||Help records through a particular business process, and also help users in creating and updating these records.||This is the bar at the top of a record with different stages.|
These can be restricted by Security Roles.
They can call workflows.
|Dialogs||Guides users through a set of questions and performs actions based on their answers||Runs on demand from the entity record. Can call child dialogs, create records, create/update/assign records, send emails, check conditions.|
|Plugins||Created by developers in Visual Studio|
|Uses SDK assemblies and are registered using the plugin registration tool. Can be registered on events such as CRUD, assign, retrievemultiple etc.|
Can be registered for pre-validation, pre-operation and post-operation. Can be synchronous and asynchronous.
Several helper functions available to interact with Dynamics 365 forms and controls.
|Business Rules||Conditional logic on forms that runs when fields change||Used to set field values (to another field or set value), clear fields, set field level requirements, show/hide/enable/disable field, validate data and show error messages, and make recommendations.|
They run when the form loads or fields change.
|Calculated Fields||Sets field values based on conditions and formulas based on other fields||Implemented as a field type. Logic runs based on field logic.|
Used to add fields together, etc.
|Views||A way to see information regarding an entity||Can share personal views with Users and Teams. Privileges include read, write (edit the view), delete (the view), append, assign (ownership to someone else), share (with someone else). Once shared they will see it under My Views|
|Filtered Views||SQL views||These are SQL views for on-premise Dynamics 365. Can be slow to run as they include heavy business logic such as user permissions|
|Report Wizard||Build quick reports in Dynamics 365 interface||For a record type, add columns, groupings, specify chart or table, or link to web page.|
|SSRS Reports||Build reports using Visual Studio||Using Report Authoring Extensions, create FetchXML based reports. Or, connect to SQL Server and use FilteredViews to retrieve the data for SQL based reports that are uploaded to Dynamics 365|