InstallHub Documentation

Get packages moving in minutes.

Getting Started with InstallHub

InstallHub is the enterprise package management system built into the BizFirstAi platform. It lets you export data from any source into versioned packages, import those packages into any target system with automatic conflict resolution, and publish packages to a governed marketplace for your organisation.

Platform requirement: InstallHub is part of BizFirstAi. You will need a BizFirstAi account to use the SDK and hosted runtime. Sign up free here.

Installation

Add the InstallHub NuGet package to your .NET project:

Shell
dotnet add package BizFirstAi.InstallHub

Basic Usage

The following example creates an InstallHub client, defines an export package, and publishes the first version.

C#
using BizFirstAi.InstallHub;
using BizFirstAi.InstallHub.Export;

// 1. Create the InstallHub client
var client = new InstallHubClient(new InstallHubOptions
{
    ApiKey    = Environment.GetEnvironmentVariable("BIZFIRSTAI_API_KEY"),
    Workspace = "my-workspace"
});

// 2. Create an export package
var package = await client.Packages.CreateAsync(new CreateExportPackageRequest
{
    Name        = "customer-config",
    Description = "Customer configuration and onboarding data",
    SourceType  = ExportSourceType.Database,
    TenantId    = "tenant-001"
});

// 3. Configure the export items
await client.Packages.AddItemAsync(package.Id, new ExportPackageItemRequest
{
    EntityName  = "CustomerSettings",
    FieldMap    = new[] { "Id", "Name", "Config", "CreatedAt" },
    IncludeAll  = false
});

// 4. Publish version 1.0.0
var version = await client.Packages.PublishVersionAsync(package.Id, new PublishVersionRequest
{
    Version      = "1.0.0",
    ReleaseNotes = "Initial release of customer configuration package."
});

Console.WriteLine($"Package published: {version.PackageId} v{version.Version}");
Console.WriteLine($"Download URL expires: {version.SignedUrlExpiresAt}");

Export Packages

Export Wizard (4 Steps)

The Creator App guides operators through four steps to create an export package:

Source Types

InstallHub supports three source types for export:

Semantic Versioning

Every package in InstallHub is versioned using semantic versioning. Versions move through a defined lifecycle:

Import Packages

Import Wizard (4 Steps)

The import wizard walks operators through validation, mapping, and conflict resolution before any data is modified:

Import Handlers

InstallHub ships 20 specialized import handlers, each responsible for a specific entity type. Handlers are selected automatically based on the package manifest:

Import Status States

Every import moves through the following states:

Conflict Resolution

When an imported record conflicts with an existing record in the target system, InstallHub applies one of three strategies. The strategy can be set globally or per entity type.

Strategy Behaviour Best for
Merge Recursive intelligent merge of the incoming record into the existing record. Fields present in the incoming record overwrite the corresponding existing field. Fields absent in the incoming record are preserved as-is. Partial updates where existing data should be preserved for fields not included in the package.
Overwrite The existing record is replaced entirely by the incoming record. No fields from the existing record are retained. Full replacements where the package is the authoritative source of truth for the entity.
Skip The existing record is kept unchanged. The incoming record is discarded. No error is raised — the conflict is logged and processing continues. Additive imports where you only want to create new records, never modify existing ones.

Rollback

BackupRestoreService creates a pre-import database snapshot automatically before every import. If the import fails, InstallHub rolls back to the snapshot atomically — the system is restored to its exact pre-import state with no manual steps.

Marketplace — Publishing

Published packages are submitted from the Creator App and go through an admin approval workflow before appearing in the marketplace:

Marketplace — Discovery

The Marketplace App provides full-text search and filter capabilities for discovering packages:

API Reference

InstallHub exposes 50+ API endpoints across three applications. Core endpoint groups:

OpenAPI spec: The full OpenAPI specification is available in your BizFirstAi workspace under Settings → API → InstallHub. Authentication uses your workspace API key via the Authorization: Bearer header.

Next Steps

Ready to go further? Explore these resources: