Skip to main content

Setup and Installation

Solution Components

API Builder 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 │ │ API Builder │ │ Process Orchestrator │ │
│ │ (Optional) │ │ (Runtime) │ │ (Optional) │ │
│ └─────────────────┘ └────────┬────────┘ └─────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ API Builder │ │
│ │ Studio │ │
│ │ (Designer) │ │
│ └─────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘

Solution Details

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

Import Order

StepSolutionRequired
1Flowon BaseYes
2API BuilderYes
3API Builder StudioDesign environments only

Environment Recommendations

EnvironmentFlowon BaseAPI BuilderAPI Builder Studio
Development✅ Required✅ Required✅ Required
Test/UAT✅ Required✅ Required⚠️ Optional
Production✅ Required✅ Required❌ Not Required

Security Configuration

API Builder Customizer Security Role

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

Deployment

API Builder 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 API Builder 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

API Builder 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 API Builder 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=..."
}
}