Skip to main content

Setup and Installation

Solution Components

FlowOn API is delivered as Dynamics 365 managed solutions. It depends on FlowOn Base and can optionally integrate with FlowOn Logic.

Solution Dependencies

┌─────────────────────────────────────────────────────────────────────┐
│ SOLUTION DEPENDENCIES │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────┐ │
│ │ FlowOn Base │ │
│ │ (Foundation) │ │
│ └──────────┬──────────┘ │
│ │ │
│ ┌──────────────────┼──────────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ FlowOn Logic │ │ FlowOn API │ │ FlowOn BPM │ │
│ │ (Optional) │ │ (Runtime) │ │ (Optional) │ │
│ └─────────────────┘ └────────┬────────┘ └─────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ FlowOn API │ │
│ │ Studio │ │
│ │ (Designer) │ │
│ └─────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘

Solution Details

SolutionDescriptionDependency
FlowOn BaseCore platform components shared across all FlowOn productsNone (install first)
FlowOn APIThe API runtime engine that dynamically generates REST endpointsFlowOn Base
FlowOn API StudioThe visual designer for configuring API endpointsFlowOn Base, FlowOn API

Import Order

StepSolutionRequired
1FlowOn BaseYes
2FlowOn APIYes
3FlowOn API StudioDesign environments only

Environment Recommendations

EnvironmentFlowOn BaseFlowOn APIFlowOn API Studio
Development✅ Required✅ Required✅ Required
Test/UAT✅ Required✅ Required⚠️ Optional
Production✅ Required✅ Required❌ Not Required

Security Configuration

FlowOn API Customizer Security Role

When you import the FlowOn API solutions, a security role called FlowOn API Customizer is automatically created. This role grants permissions to design and manage API configurations.

Deployment

FlowOn API can be deployed to any environment that supports .NET 9 runtime. The API runtime is distributed as a NuGet package.

Prerequisites

RequirementDetails
Runtime.NET 9
PackageFlowOn.Xrm.Api.AspNetCore.Rest
Sourcenuget.org/profiles/FlowOn

Installation

Add the FlowOn API package to your ASP.NET Core project:

<PackageReference Include="FlowOn.Xrm.Api.AspNetCore.Rest" Version="1.0.218" />

Or via .NET CLI:

dotnet add package FlowOn.Xrm.Api.AspNetCore.Rest --version 1.0.218

Deployment Options

FlowOn API can be hosted on any platform supporting .NET 9:

┌─────────────────────────────────────────────────────────────────────┐
│ DEPLOYMENT OPTIONS │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Azure │ │ AWS │ │ On-Premise │ │
│ │ App Service │ │ Lambda/ECS │ │ IIS │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Docker │ │ Kubernetes │ │ Linux Service │ │
│ │ Container │ │ Cluster │ │ (systemd) │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
PlatformNotes
Azure App ServiceNative .NET 9 support, easy scaling
Azure Container AppsContainer-based deployment with auto-scaling
AWS Elastic BeanstalkManaged .NET hosting
AWS ECS/FargateContainer orchestration
DockerContainerized deployment anywhere
KubernetesEnterprise container orchestration
IIS (Windows)Traditional Windows hosting
Linux (systemd)Direct Linux service hosting

Minimal Deployment Example

// Program.cs
using FlowOn.Xrm.Api.AspNetCore.Rest;

var builder = WebApplication.CreateBuilder(args);

// Add FlowOn API services
builder.Services.AddFlowOnApi(options =>
{
options.ConnectionString = builder.Configuration["Dataverse:ConnectionString"];
});

var app = builder.Build();

// Map FlowOn API endpoints
app.MapFlowOnApi();

app.Run();

Configuration

Configure the API runtime via appsettings.json:

{
"Dataverse": {
"ConnectionString": "AuthType=ClientSecret;Url=https://org.crm.dynamics.com;ClientId=...;ClientSecret=..."
},
"FlowOnApi": {
"ApiName": "CustomerPortalAPI",
"Version": "1.0"
}
}