Skip to main content

Setup and Installation

Solution Components

Logic API is delivered as Dataverse managed solutions. It depends on Flowon Base and can optionally integrate with Logic Composer.

Solution Dependencies

┌─────────────────────────────────────────────────────────────────────────────────────┐
│ SOLUTION DEPENDENCIES │
├─────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────┐ │
│ │ Flowon Base │ │
│ │ (Foundation) │ │
│ └──────────┬──────────┘ │
│ │ │
│ ┌──────────────────┼──────────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Logic Composer │ │ Logic API │ │ Logic Process Orchestrator │ │
│ │ (Optional) │ │ (Runtime) │ │ (Optional) │ │
│ └─────────────────┘ └────────┬────────┘ └─────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ Logic API │ │
│ │ Studio │ │
│ │ (Designer) │ │
│ └─────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────────┘

Solution Details

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

Import Order

StepSolutionRequired
1Flowon BaseYes
2Logic APIYes
3Logic API StudioDesign environments only

Environment Recommendations

EnvironmentFlowon BaseLogic APILogic API Studio
Development✅ Required✅ Required✅ Required
Test/UAT✅ Required✅ Required⚠️ Optional
Production✅ Required✅ Required❌ Not Required

Security Configuration

Logic API Customizer Security Role

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

Deployment

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

Prerequisites

RequirementDetails
Runtime.NET 10
PackageFlowon.Xrm.Api.AspNetCore.Rest
Sourcenuget.org/profiles/Flowon

Installation

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

<PackageReference Include="Flowon.Xrm.Api.AspNetCore.Rest" Version="1.1.1" />

Or via .NET CLI:

dotnet add package Flowon.Xrm.Api.AspNetCore.Rest --version 1.1.1

Deployment Options

Logic API can be hosted on any platform supporting .NET 10:

┌──────────────────────────────────────────────────────────────────────┐
│ DEPLOYMENT OPTIONS │
├──────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Azure │ │ AWS │ │ On-Premise │ │
│ │ App Service │ │ Lambda/ECS │ │ IIS │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Docker │ │ Kubernetes │ │ Linux Service │ │
│ │ Container │ │ Cluster │ │ (systemd) │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────┘
PlatformNotes
Azure App ServiceNative .NET 10 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 Microsoft.PowerPlatform.Dataverse.Client;

var builder = WebApplication.CreateBuilder(args);

var connectionString = builder.Configuration["Dataverse:ConnectionString"];

// Register Logic API services and the REST server
builder.Services
.AddFlowOnApi(
projectName: "CustomerPortal",
apiName: "CustomerPortalAPI",
sp => new ServiceClient(connectionString))
.AddRestServer();

var app = builder.Build();

app.UseRouting()
.UseAuthentication()
.UseAuthorization()
.UseEndpoints(endpoints => endpoints.UseRestServer());

app.Run();

The project name and API name identify which published API configuration to load from Dataverse. See Runtime for the full hosting model, versioning strategies, user resolution, and Swagger/OpenAPI wiring.

Configuration

Provide the Dataverse connection string via appsettings.json:

{
"Dataverse": {
"ConnectionString": "AuthType=ClientSecret;Url=https://org.crm.dynamics.com;ClientId=...;ClientSecret=..."
}
}