Automations Marketplace
The Automations Marketplace (and the Automation Studio that wraps it) is the “buy & run” surface for pre-built, parameterized n8n workflows. Browse a catalog, deploy a workflow with one click, fill in its parameters, run it on demand or on a schedule, and read its outputs back inside Connect.
The workflows themselves come from the monorepo’s shared automation layer (/ai-automations).
How it works
Browse catalog → (buy: subscription or one-time via Sellub) → Deploy (parameterize)
→ workflow installed into the shared n8n instance → Run → output ingested via webhook → View output- Browse the catalog. Each entry maps a
workflowKeyto the n8nWorkflowTemplateit deploys, plus pricing and the parameters you’ll fill in at deploy time. - Buy. A workflow is either a subscription (always-on) or a one-time (run-once) purchase, billed through Sellub. See Billing & Plans.
- Deploy. You provide values for the workflow’s parameters; Connect installs a client-tagged, parameterized copy into one Duaba-owned shared n8n instance.
- Run. Trigger a run on demand (or wire it to a schedule inside the workflow).
- View output. The workflow POSTs its results back to Connect via a webhook; the Studio shows the latest items, KPIs, and a run history.
The catalog
Each catalog entry exposes:
| Field | Meaning |
|---|---|
workflowKey | Stable id for the workflow (e.g. viral-trend-detection) |
name, description, category | Display metadata |
pricingModel | subscription or oneoff |
priceGhs | Price in GHS |
subscriptionInterval | Billing interval for subscriptions (e.g. monthly) |
sellubPlanCode | The Sellub plan code that bills a subscription workflow (when linked) |
parameters | Fields you fill in at deploy time |
Each parameter has a key, label, a type (text, number, boolean, select, secret), an optional list of options, placeholder, help, and a required flag. The Studio renders these into an auto-generated deploy form.
An example shipped catalog workflow is Viral trend detection — “spots rising trends in your niche daily and delivers ready-to-post angles”, parameterized by NICHE, REGION, and KEYWORDS. It’s a social-media category workflow seeded from seed-data/viral-trend-detection.json.
Subscription vs one-time billing
| Subscription | One-time | |
|---|---|---|
pricingModel | subscription | oneoff |
| Entitlement | Each Sellub charge extends entitlement one interval (+ a grace window) | Never expires once paid |
| Cancellation | subscription.cancelled webhook revokes it immediately | n/a |
Entitlement is an active Order for the workflow (matched by metadata.workflowId). The CONNECT_REQUIRE_SUBSCRIPTION flag gates whether deploys are blocked when there’s no active entitlement — when enforcement is on and you haven’t paid, a deploy returns needs_subscription.
Deploy & parameterization
At deploy time Connect:
- looks up the catalog
templateIdfor yourworkflowKey; - merges your parameter values with two injected values — a per-deploy
INGEST_TOKENand theINGEST_URL— so the workflow can POST its results back; - installs a client-tagged copy into the shared n8n instance and records a
ClientWorkflowrow.
If the shared instance isn’t configured yet, the deploy is recorded as pending with a friendly “being set up by our team” message rather than failing.
Run history & outputs
Every run creates a WorkflowRun (statuses: pending, queued, running, success, error). When the workflow finishes it POSTs its items, kpis, and status to the ingest webhook; Connect stores a WorkflowOutput and marks the run done. The Studio’s output view shows the latest items, KPIs, and the last 10 runs.
Embedding the marketplace in another app
Other apps embed this exact flow for their clients via the SDK’s automations namespace — listCatalog, getEntitlement, deploy, listInstances, run, getOutput. See @duabalabs/connect-client.
Status: catalog, entitlement, deploy (shared-n8n install), run, and webhook output ingest are working. The full Automation Studio UI is in progress.