Skip to main content

Installation and Setup

Prerequisites

  • .NET 9.0 SDK or later
  • Access to Dynamics 365 environment
  • Appropriate security roles for export/import operations

Installation

Install the FlowOn.Xrm.Tools package from NuGet:

# Install as a global .NET tool
dotnet tool install --global FlowOn.Xrm.Tools

# Or install a specific version
dotnet tool install --global FlowOn.Xrm.Tools --version 1.0.224

# Verify installation
flowon --version

NuGet Package: FlowOn.Xrm.Tools

Update to Latest Version

dotnet tool update --global FlowOn.Xrm.Tools

Project-Level Installation

For project-specific installation (useful in CI/CD pipelines):

# Create tool manifest (one-time)
dotnet new tool-manifest

# Install as local tool
dotnet tool install FlowOn.Xrm.Tools

# Run using dotnet tool run
dotnet tool run flowon --version

Configuration

Create a connection configuration file flowon.config.json:

{
"connectionString": "AuthType=ClientSecret;Url=https://org.crm.dynamics.com;ClientId=xxx;ClientSecret=xxx",
"projectName": "CustomerPortal",
"outputDirectory": "./artifacts",
"mappingsDirectory": "./mappings"
}

Environment Variables

VariableDescription
FLOWON_CONNECTION_STRINGDynamics 365 connection string
FLOWON_PROJECT_NAMEDefault FlowOn project name
FLOWON_OUTPUT_DIRDefault output directory

Architecture Overview

┌─────────────────────────────────────────────────────────────────────┐
│ FLOWON CI/CD ARCHITECTURE │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ DEVELOPMENT VERSION CONTROL │
│ ┌─────────────┐ ┌─────────────────┐ │
│ │ Dynamics │ │ │ │
│ │ 365 Dev │──── Export ───│ Git Repo │ │
│ │ Environment│ │ │ │
│ └─────────────┘ │ • Solutions │ │
│ │ • .flop files │ │
│ ┌─────────────┐ │ • Data maps │ │
│ │ FlowOn │──── Export ───│ • Config maps │ │
│ │ Designer │ │ • Data specs │ │
│ └─────────────┘ └────────┬────────┘ │
│ │ │
│ │ CI Pipeline │
│ ▼ │
│ ┌───────────────────────────┐ │
│ │ BUILD ARTIFACTS │ │
│ │ │ │
│ │ • Managed Solutions │ │
│ │ • FlowOn Packages │ │
│ │ • Transformed Data │ │
│ └─────────────┬─────────────┘ │
│ │ │
│ ┌─────────────────┼─────────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ UAT │ │ Staging │ │Production │ │
│ │Environment│ │Environment│ │Environment│ │
│ └───────────┘ └───────────┘ └───────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘

Key Differentiators

1. Unified Package Format (.flop)

The FlowOn Package (.flop) consolidates all FlowOn artifacts into a single, versioned package:

  • Logic Blocks and Flows
  • BPM Process definitions
  • API configurations
  • Event definitions and handlers
  • Service connections
  • Schedules and recipes
  • Localized resources

2. Intelligent Data Mapping

Environment-specific transformations happen automatically using Source/Target mapping files that handle:

  • Configuration values (URLs, feature flags)
  • Entity record IDs (GUIDs that differ per environment)
  • Service connection credentials
  • Localized resources