Portal Community

Full manifest.json Example

{
  "manifestVersion": "1.0",
  "packageId":       "pkg-a3f9c821-4b2e-49d1-bc44-f7e2a1c09d33",
  "name":            "Employee Onboarding Suite",
  "packageType":     "workflow-package",
  "version":         "2.1.0",
  "description":     "Complete onboarding with multi-step approval, forms, and notifications",
  "author":          "HR Automation Team",
  "authorEmail":     "hr-automation@acme.com",
  "organization":    "Acme Corp",
  "license":         "Proprietary",
  "homepage":        "https://wiki.acme.com/packages/onboarding",
  "tags":            ["hr", "onboarding", "approval"],
  "exportedAt":      "2026-05-25T09:00:00Z",
  "exportedBy":      "engineer@acme.com",
  "tenantId":        "tenant-7f3a9b12-...",
  "platformVersion": "4.2.0",
  "checksum":        "sha256:3a9f1c4e8d2b7f6a1e5c9d3b0a4f8e2c7d1a6b9e3f5c8d2a0b7e4f1c9d3a6b0",
  "artifacts": [
    {
      "type":    "ProcessDefinition",
      "id":      "proc-1001",
      "name":    "EmployeeOnboarding",
      "version": "2.1.0",
      "file":    "artifacts/workflows/proc-1001.json",
      "hash":    "sha256:abc123def456..."
    }
  ],
  "dependencies": [
    {
      "type":    "ProcessDefinition",
      "id":      "proc-1001",
      "name":    "EmployeeOnboarding",
      "version": "2.1.0",
      "hash":    "sha256:abc123def456..."
    }
  ],
  "packageDependencies": [
    {
      "packageName": "BizFirstGO.HRBase",
      "minVersion":  "1.0.0",
      "maxVersion":  "2.0.0"
    }
  ],
  "installOrder": ["ent-44", "rule-305", "form-2005", "thread-2002", "proc-1001"]
}

Root Fields

FieldTypeRequiredConstraints
manifestVersionstringYesMust be "1.0"
packageIdstring (UUID format)YesGlobally unique — generated by the exporter
namestringYes1–100 characters
packageTypestring enumYesworkflow-package | form-package | app-package | agent-package | config-package
versionstringYesSemVer: major.minor.patch
descriptionstringNoMax 500 characters
authorstringNoMax 100 characters
authorEmailstring (email)NoValid email format if provided
organizationstringNoMax 100 characters
licensestringNoSPDX identifier or "Proprietary"
homepagestring (URL)NoValid HTTPS URL if provided
tagsstring[]NoMax 10 tags, each 1–30 characters, lowercase alphanumeric with hyphens
exportedAtISO 8601 datetimeYesUTC timezone (Z suffix)
exportedBystringYesUser identity — email or service account ID
tenantIdstringYesSource tenant identifier
platformVersionstringYesBizFirstGO SemVer at export time
checksumstringYesFormat: sha256:{hex64}
artifactsArtifactEntry[]YesMin 1 item
dependenciesDependencyEntry[]YesSame items as artifacts — for import engine validation
packageDependenciesPackageDependency[]YesCan be empty array []
installOrderstring[]YesTopologically sorted artifact IDs — must contain all artifact IDs

ArtifactEntry Schema

{
  "type":    "ProcessDefinition",        // required — artifact type identifier
  "id":      "proc-1001",               // required — artifact ID in source tenant
  "name":    "EmployeeOnboarding",      // required — human-readable name
  "version": "2.1.0",                   // required — artifact's own SemVer
  "file":    "artifacts/workflows/proc-1001.json",  // required — path inside ZIP
  "hash":    "sha256:abc123def456..."   // required — SHA-256 of this file's bytes
}

DependencyEntry Schema

Same structure as ArtifactEntry, but without the file field. Used by the import engine's validation layer to cross-reference the manifest against the actual ZIP contents.

{
  "type":    "ProcessDefinition",
  "id":      "proc-1001",
  "name":    "EmployeeOnboarding",
  "version": "2.1.0",
  "hash":    "sha256:abc123def456..."
}

PackageDependency Schema

{
  "packageName": "BizFirstGO.HRBase",  // required — exact package name
  "minVersion":  "1.0.0",              // required — minimum version (inclusive)
  "maxVersion":  "2.0.0"              // optional — maximum version (exclusive)
}

JSON Formatting Rules

The manifest JSON must follow these formatting rules for deterministic parsing: