Workflows in MS CRM
Workflows automate business processes within Dynamics 365 CRM.
Trigger Points:
- Create
- Update
- Delete
Execute As:
-
User or Workflow Owner
Scope:
- Organization (Org) – triggers for all records (commonly used in projects)
- User – triggers only if the record is owned by the user performing the action
- Business Unit (BU) – triggers if the record’s owning BU matches the user’s BU
- Parent-Child BU – triggers if the record’s owning BU falls under the user’s BU hierarchy
Types:
- Synchronous (Real-time): Executes immediately; can throw error messages on the UI.
- Asynchronous (Background): Runs in the background without blocking the user interface.
On-Demand Workflow:
-
If enabled, the user can manually trigger the workflow for a specific record.
Common Use Cases:
- Create or update records based on certain conditions
- Send emails
- Call custom APIs
- Throw error messages based on conditions
Limitations:
- Cannot handle looping scenarios (e.g., retrieving multiple records and performing actions on them)
- Cannot be scheduled to run at a specific time
- Cannot use external connectors like SharePoint or Outlook
Asynchronous / Background Workflow -
Feature | Power Automate | Workflow (Classic CRM) | Custom Workflow Activity |
---|---|---|---|
Execution | Cloud-based, can connect to external apps | Runs inside Dynamics CRM | Runs inside Dynamics CRM with custom code logic |
Triggers | Wide variety: record events, schedule, manual, external connectors | Only Create, Update, Delete | Same as Workflow, but logic is custom-coded |
Actions | Can perform actions across Dynamics 365 and external services (SharePoint, Teams, Outlook, etc.) | Limited to CRM actions | Limited to CRM actions, but allows complex operations via code |
Real-Time vs Background | Can choose either real-time or scheduled/cloud flows | Synchronous (Real-time) or Asynchronous (background) | Depends on implementation; can be triggered in workflows or plugins |
Scheduling | Supports scheduling and recurring flows | Not supported | Not supported natively |
Complex Logic | Supports loops, conditions, switch, error handling, scopes | Limited; cannot handle loops or complex branching | Full flexibility via C# code |
Use Cases | Cross-system automation, modern integrations, complex business processes | Simple CRM automation: notifications, field updates, basic record operations | Custom business logic not achievable with standard workflows |
Published on:
Learn more