Skip to content

01 Getting Started

RemyDuijkeren edited this page Jun 15, 2026 · 19 revisions

Getting Started

Flowline runs on Windows, Mac, and Linux. Mac and Linux support is expected to work but not yet officially tested — if you hit a platform-specific issue, please open an issue.

Prerequisites

  • .NET SDK 8 or later
  • Git
  • PAC CLI: dotnet tool install --global Microsoft.PowerApps.CLI.Tool

On Windows, winget is also available for PAC CLI: winget install Microsoft.PowerAppsCLI

If .NET 10 is installed, Flowline invokes PAC via dnx — no separate PAC CLI install needed.

Install Flowline

dotnet tool install --global Flowline

Authenticate

Authenticate PAC CLI against your Dataverse environment before using Flowline:

pac auth create --environment https://your-org.crm4.dynamics.com

Flowline reuses the PAC CLI token cache — no separate auth step needed. See 10-Authentication for multi-environment setup and CI/CD service principal auth.


Existing solution workflow

Use this when a solution already exists in Dataverse and you want to bring it under source control.

# Create a Git repo
mkdir contoso-flowline
cd contoso-flowline
git init

# One-time: bootstrap the solution into the repo
flowline clone ContosoSales --prod https://contoso.crm4.dynamics.com

# Daily dev loop
flowline push          # push code assets to DEV
flowline sync          # pull Dataverse changes back to source
git commit -m "feat: add validation"

# Promote
flowline deploy test
flowline deploy prod

clone creates the full project structure, unpacks the solution XML per component, and scaffolds the Plugins and WebResources projects.

Greenfield workflow (not yet supported)

Use this when starting a new solution from scratch.

# Create a Git repo
mkdir contoso-flowline
cd contoso-flowline
git init

# Create publisher and solution in Dataverse, scaffold local structure
flowline init ContosoSales --prod https://contoso.crm4.dynamics.com

# Then follow the same daily loop as above
flowline push
flowline sync

Project structure

.flowline                                 # environment URLs and solution config
└── solutions/
    └── ContosoSales/
        ├── ContosoSales.sln
        ├── Package/                      # PAC-managed — do not edit manually
        │   ├── Package.cdsproj
        │   └── src/                      # unpacked solution XML
        ├── Plugins/                      # plugin assembly project
        │   ├── Plugins.csproj
        │   └── Models/                   # early-bound C# types (flowline generate)
        ├── WebResources/                 # web resource files
        │   └── dist/                     # synced to Dataverse by push
        └── artifacts/                    # deployment zips (generated by deploy)

Files under WebResources/dist/ are synced to Dataverse by flowline push.


Provisioning a DEV or TEST environment

Use provision once when setting up a new environment from PROD:

flowline provision dev --prod https://contoso.crm4.dynamics.com
flowline provision test --prod https://contoso.crm4.dynamics.com

Clone this wiki locally