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
| Solution | Description | Dependency |
|---|---|---|
| Flowon Base | Core platform components shared across all Flowon products | None (install first) |
| API Builder | The API runtime engine that dynamically generates REST endpoints | Flowon Base |
| API Builder Studio | The visual designer for configuring API endpoints | Flowon Base, API Builder |
Import Order
| Step | Solution | Required |
|---|---|---|
| 1 | Flowon Base | Yes |
| 2 | API Builder | Yes |
| 3 | API Builder Studio | Design environments only |
Environment Recommendations
| Environment | Flowon Base | API Builder | API 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
| Requirement | Details |
|---|---|
| Runtime | .NET 9 |
| Package | Flowon.Xrm.Api.AspNetCore.Rest |
| Source | nuget.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) │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────┘
| Platform | Notes |
|---|---|
| Azure App Service | Native .NET 9 support, easy scaling |
| Azure Container Apps | Container-based deployment with auto-scaling |
| AWS Elastic Beanstalk | Managed .NET hosting |
| AWS ECS/Fargate | Container orchestration |
| Docker | Containerized deployment anywhere |
| Kubernetes | Enterprise 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"
}
}