Flow bundles: portable export/import of automation

Flow bundles: portable export/import of automation

A real Foldr workflow is rarely just one piece of configuration. A typical “invoice processing” setup might involve a dedicated SMB share, a clutch of custom fields (vendor, total, due date, status), a Captur template that extracts values from your supplier’s invoice layout, a saved search (“everything overdue”), and a mashlet that emails finance when a new invoice lands.

Migrating that across instances by hand (appliance-to-appliance, demo-to-prod, or one customer to another) is painful and error-prone. Flow bundles package the whole thing as a portable archive: build it once, export it, import it elsewhere, and Foldr re-creates every related object with the relationships intact.

What goes into a bundle

Asset typeCarries
SharesThe share configuration (storage address, permissions, sharing flags, search/captur settings). The actual storage backend is not migrated; bundle imports point at a path on the destination and the admin supplies the credentials to access it.
Custom fieldsField name, type, allowed values, permissions, source script (if any).
Saved searchesThe query, the column set, the per-tenant scope.
Captur templatesZone definitions, anchor matching rules, target field mappings.
Mashlets (and event mashlets, schedules, hooks)The script body, configuration, trigger bindings, file_source for scheduled mashlets.

Cross-references between assets are preserved. A mashlet that targets a specific share, or a saved search that references a custom field, will still resolve correctly after import.

Where it lives

Foldr Settings > Flows. The page lists every asset that can be bundled, lets you select what to include, and shows you the cross-references between selected items so you don’t accidentally export a mashlet whose target share you didn’t pick.

Exporting a bundle

  1. Open Foldr Settings > Flows and click + New bundle.
  2. Pick the assets to include from the Inventory list. Each section (Shares, Mashlets, Captur Templates, Saved Searches, Custom Fields) is selectable independently.
  3. Foldr highlights cross-references. If you’ve picked a mashlet that targets a share you haven’t selected, you’ll see a warning. Either include the share too, or accept that the mashlet’s share binding will need to be resolved at import time.
  4. Click Export. Foldr writes a versioned bundle archive (a manifest plus per-entity JSON files) and downloads it.

The bundle is a plain archive. No encryption, no provider-specific binary blobs. You can inspect it, version-control it, or drop it into a deployment system.

Importing a bundle (plan and apply)

Imports go through a two-step plan-and-apply flow rather than blindly merging. The admin sees what would happen before anything writes.

  1. Upload the bundle. Foldr Settings > Flows > Import → drop the archive in.

  2. Plan. Foldr reads the bundle’s manifest, compares each entity against what already exists on the destination tenant, and produces a plan:

    • Create for entities that don’t exist locally. Straightforward additive.
    • Conflict for entities whose name or UUID matches an existing local entity. The admin resolves each conflict: skip (leave local intact), overwrite (replace local with bundle’s version), or rename (import as a new entity with a different name).
    • Merge for shares, where you can attach bundle-defined permissions and settings to an existing share rather than create a new one.
  3. Apply. Once you’ve worked through the conflicts, click Apply. Foldr executes the plan transactionally. Either every selected change lands, or none do.

The apply step returns an outcome summary: which entities were created, merged, skipped, or failed. Failures are atomic. A partial apply doesn’t leave half-imported state.

Use cases

  • Demo-to-prod handoff. Configure a workflow on a sandbox tenant, prove it out, then bundle and import on the customer’s production tenancy.
  • Replicating between environments. Keep dev / staging / prod aligned by versioning bundles in git and applying them through a CI step.
  • Distributing reusable workflows. Build an “invoice intake” or “expense receipts” bundle once, share it across customers, each adapts the share path and credentials at import time.
  • Backing up automation config. A periodic export captures the current automation state in a form that’s diffable, restoreable, and decoupled from database backups.

Tier and licence requirements

The Flows surface itself ships with the platform; what’s bundleable depends on what the destination tenancy is licensed for. A bundle that contains Captur templates can only be applied on a tenant with a Captur licence; a bundle with mashlets only applies on a tenant with a MaSH licence. The plan step surfaces missing-licence conflicts before apply.

Schema versioning

Each bundle carries a schema_version in its manifest. Import will refuse a bundle whose schema version is newer than the destination Foldr knows about (newer-source-than-destination). The schema is forward-compatible within a major Foldr version. Bundles produced on minor-version upgrades stay importable on the same major.

See also

← All articles