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

API Builder 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 API Builder services
builder.Services.AddFlowonApi(options =>
{
options.ConnectionString = builder.Configuration["Dataverse:ConnectionString"];
});

var app = builder.Build();

// Map API Builder 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"
}
}