Packs
Bundle artifacts, modules, workflow templates, and connector configs into distributable packs — install from the marketplace or publish your own.
A pack is a versioned bundle of related SDK artifacts, modules, workflow templates, and connector configuration that solves a complete use case. You can install packs from the FlowOS Marketplace (Plugin Management) or create custom internal packs for your organization.
What a Pack Can Include
- •Artifacts — custom nodes, scripts, webhook handlers, scheduled jobs, transforms
- •Modules — shared TypeScript libraries
- •Workflow Templates — pre-built workflows that users can deploy with one click
- •Connector Definitions — credential schema for connectors the pack communicates with
- •Notification Templates — email/Slack/Teams message templates
- •Catalog Item Templates — service catalog items pre-filled for common requests
- •SLA Policy Templates — default SLA configurations
pack.json
Every pack has a pack.json manifest at its root:
{
"id": "com.acme.github-itsm",
"name": "GitHub → ITSM Integration",
"version": "2.1.0",
"minFlowOsVersion": "4.0.0",
"description": "Automatically create incidents from GitHub Actions failures and link PRs to change requests.",
"author": { "name": "Acme IT", "email": "platform@acme.com" },
"license": "MIT",
"tags": ["github", "itsm", "incident", "change"],
"icon": "Github",
"artifacts": [
{ "key": "github-push-handler", "file": "artifacts/push-handler.ts" },
{ "key": "github-action-failed", "file": "artifacts/action-failed.ts" },
{ "key": "link-pr-to-change", "file": "artifacts/link-pr-change.ts" }
],
"modules": [
{ "key": "github-helpers", "file": "modules/helpers.ts" }
],
"workflows": [
{ "name": "GitHub Actions Failure → Incident", "file": "workflows/action-failure-incident.yaml" }
],
"connectors": [
{ "key": "github", "authType": "oauth2", "configSchema": "connectors/github.json" }
],
"notificationTemplates": [
{ "slug": "github-incident-created", "file": "templates/incident-created.hbs" }
],
"requiredSecrets": ["GITHUB_WEBHOOK_SECRET"],
"requiredConnectors": ["github"],
"configSchema": {
"type": "object",
"properties": {
"targetTeam": { "type": "string", "description": "Team slug to assign GitHub-sourced incidents to." },
"defaultSeverity": { "type": "string", "enum": ["P1","P2","P3","P4"], "default": "P2" }
},
"required": ["targetTeam"]
}
}Installing a Pack
From the Marketplace (UI)
Navigate to Plugins → Marketplace, find the pack, click Install. You'll be prompted to fill in configSchema values and provide required secrets and connector credentials before installation completes.
From a File or Registry (CLI)
# Install from npm-style registry
flowos pack install com.acme.github-itsm@2.1.0
# Install from a local .flowpack file
flowos pack install ./github-itsm-2.1.0.flowpack
# Install with config values
flowos pack install com.acme.github-itsm --config targetTeam=platform-engCreating a Pack
Scaffolding a new pack with the CLI:
flowos pack new my-pack --template blank
# or use a starter:
flowos pack new my-pack --template itsm-integrationThis creates the following structure:
my-pack/
pack.json
artifacts/
example-node.ts
modules/
helpers.ts
workflows/
example-workflow.yaml
tests/
example-node.test.ts
README.mdBuilding & Publishing
# Validate pack.json and TypeScript
flowos pack validate
# Build a distributable .flowpack bundle
flowos pack build
# Publish to your workspace registry (internal packs only)
flowos pack publish --registry workspace
# Publish to FlowOS Marketplace (requires developer account)
flowos pack publish --registry marketplacePack Versioning
Packs use semantic versioning (MAJOR.MINOR.PATCH). FlowOS enforces the following:
- •PATCH — Bug fixes. Auto-applied when workspace has auto-update enabled.
- •MINOR — New artifacts or templates added. Backward compatible. Prompted in UI.
- •MAJOR — Breaking changes (removed artifacts, changed schemas). Requires manual review and re-configuration.
Post-Install Configuration
After install, pack configuration can be updated at SDK → Packs → [pack name] → Configuration without reinstalling. Changes take effect on the next execution.
com.acme.github-itsm with slug link-pr-to-change is addressable as com.acme.github-itsm/link-pr-to-change in the workflow node palette.