Skip to main content

Integration models

Qefro supports two ways to run the same SDK application contract.

Model A — External SDK Connection

Customer Infrastructure


SDK Application

/qefro


Qefro Connector Manager / ACS


Qefro Runtime / AI / Workflows
AspectBehavior
Runtime ownerDeveloper / customer
RegistrationOrg SDK Connection (webhook_url, signing secret)
MarketplaceNot required
Installation bindingNo
Typical dataExternal ERP/CRM/DB (app-owned)
ctx.storageOnly when invoke includes install/solution scope

Choose when: existing systems of record, on-prem, customer-controlled ops, ERP adapters (e.g. ABM).

Tutorial: external-sdk-connection.md.

Model B — Managed Marketplace App

Qefro Marketplace


Solution Package


Solution Installation


Qefro Managed Runtime

/qefro


Connector Manager


Qefro Runtime
AspectBehavior
Runtime ownerQefro
RegistrationPublish solution → install into workspace
MarketplaceRequired for catalog distribution
Installation bindingYes (/v1/tenant/solutions/{solution}/connector)
Typical dataManaged storage via ctx.storage
Packagingmanifest.yaml + Dockerfile + src/

Choose when: Qefro-native SaaS apps for many tenants (Restaurant Pro, Clinic Pro).

Tutorial: managed-marketplace-app.md.

Shared vs different

Shared: /qefro protocol, HMAC scheme, tool definitions, SDK APIs, Customer Hub / Marketing / Organization contracts.

Different: who runs the process, how the endpoint is registered, upgrades, secrets placement, whether install scope exists for managed storage.

CLI also supports qefro create-app … --hosting managed|externalexternal hosting is for packaging an app that still points at a developer-operated endpoint (qefro register --endpoint URL). Confirm current hosting behavior in your platform version before relying on hybrid modes.

Decision tree

Do you need to run the application yourself?
YES → External SDK Connection
NO → Want Qefro to host/manage? YES → Managed Marketplace App

Full comparison table: application-integration-guide.md.