Logic Composer
The declarative programming layer for Dynamics 365 CE.
Build complex business logic without writing a single line of code.
The Problem
Every Dynamics 365 implementation hits the same wall.
The moment business logic gets complex - pricing rules, approval conditions, validation constraints, multi-step automations - the answer is always the same: "We need a developer for that."
- Business rules live inside C# plugins and compiled .NET assemblies
- Functional consultants write requirements, developers interpret and implement them - intent gets lost
- Every change, no matter how small, goes through an IT backlog
- Logic is invisible to the business - buried in code no one can read
- When the developer leaves, the knowledge leaves with them
The platform promised no-code. The reality is 60–70% of projects still require custom development.
What Logic Composer Does
Logic Composer puts logic implementation directly in the hands of functional consultants.
You describe what the logic should do. The Flowon runtime handles how it executes - natively inside Dataverse, with no plugins, no compilation, no deployments per change.
Logic is expressed as structured, versioned artifacts in Flowon Language (FoL) - readable by humans, executable by the runtime, and always in sync with your requirements.
Two Fundamental Constructs
Everything in Logic Composer is either a Logic Block or a Logic Flow.
| Logic Block | Logic Flow | |
|---|---|---|
| Purpose | Calculate values, make decisions | Execute actions, change state |
| Side effects | None - read only | Creates, updates, deletes records |
| Analogy | A function | A program |
| Examples | Pricing formula, discount rule, validation | Onboarding workflow, approval process, sync |
Key Capabilities
Formula
Single-output calculations using 80+ built-in functions. Math, currency, string, date, conditional logic. Evaluated in real time - no code, no compilation.
Decision Table
Multi-condition rules in a tabular format. Business stakeholders can read, review, and validate the logic themselves. DMN-standard hit policies: First, Any, Collect, Rule Order.
Decision Tree
Hierarchical branching logic. Drag-and-drop tree editor. Intuitive for complex sequential decisions where each answer leads to the next question.
Validation & Validation Sets
Field-level business rule enforcement with localized error messages. Group related rules into Validation Sets - reusable across multiple entities and contexts.
Logic Flows
Multi-step orchestration: save entities, delete records, call external APIs, send emails, publish events, loop, branch, handle errors. The full power of a workflow engine - without writing code.
Logic Recipes
Bind any Logic Block or Flow to Dataverse entity events - Create, Update, Delete. Runs at Pre-Validation, Pre-Operation, or Post-Operation phases. Replaces C# plugins entirely for event-driven logic.
Schedules
Time-based execution of Logic Flows. Configure frequency (minute, hour, day, week, month). Auto-tracked run history, backed by native Dataverse jobs.
Service Connections
Connect to any external REST API - once. Configure endpoint, OpenAPI spec, and authentication (API Key, OAuth, Basic Auth) centrally. Call from any Logic Flow without repeating credentials.
Events
Publish-subscribe pattern for decoupled architectures. Define business events, publish from Flows, handle with Event Handlers. Build scalable, loosely coupled systems - no code.
Localized Resources
Centralized multi-language strings resolved dynamically by user language. Validation messages, email content, status labels - maintained in one place, never hardcoded.
Configuration Variables
Global variables shared across all Blocks and Flows. Centralized thresholds, defaults, feature flags. Change once - updates everywhere. Environment-aware with built-in caching.
Before & After
| Before Flowon | With Logic Composer | |
|---|---|---|
| Business rules | C# plugins, Visual Studio, developer required | Functional consultants build directly - no code |
| Every change | IT backlog, days to deploy | Update logic, active immediately |
| Logic location | Compiled .NET assemblies, invisible to business | Versioned in Git, readable by anyone |
| Traceability | No link between requirements and code | Requirements are the executable system |
| Event-driven logic | Custom plugins per entity event | Logic Recipes - bound visually, no compilation |
| External APIs | Custom code per integration | Service Connections - configure once, reuse everywhere |
| Scheduled jobs | Custom plugins or Azure Functions | Built-in Schedules with run history |
| Multi-language | Hardcoded strings per language | Localized Resources - centralized, auto-resolved |
| Testing | Written manually, disconnected from rules | Derived automatically from Logic Block definitions |
| Knowledge retention | Leaves with the developer | Captured in versioned, readable artifacts |
Who Uses It
Functional Consultants - implement business logic directly, without developer involvement.
Solution Architects - design clean, maintainable logic structures with full traceability.
Business Analysts - review and validate Decision Tables and Trees without reading code.
System Administrators - manage configuration variables and service connections centrally.
Ready to Go Deeper?
- Overview & Concepts - understand the fundamentals before building
- Logic Blocks - Formula, Decision Table, Tree, Validation
- Logic Flows - orchestration, data operations, integration
- Automation & Events - Recipes, Schedules, Events
- Expression Language - built-in functions and operators