dps-workflows
n8n automation glue for DPS. Lives at apps/dps/dps-templates/dps-workflows (sibling to the templates).
- Repo: duabalabs/dps-workflows
- Stack: n8n self-hosted (Docker), with optional Postgres + Redis
- Deploy: SSH-based Docker compose with Nginx + SSL via Certbot
What it automates
n8n is used for the glue between DPS and external services where a workflow editor is more pragmatic than a hand-coded cloud function:
- Lead capture → CRM / email
- Donation receipts and post-payment notifications
- Sellub onboarding emails (
apps/automation/sellub-onboarding.json) - Sellub post-approval flows (
apps/automation/sellub-post-approval.json) - Duabanti event reminders (
apps/automation/duabanti-event-reminders.json) - Duaba-leads pipeline (
apps/automation/duaba-leads.json)
The exported workflow JSON lives under apps/automation/ and is imported into n8n.
n8n as a DPS app type
n8n is also a first-class DPS app type — customers can provision their own n8n instance via the platform dashboard. The server-side cloud functions are 90% complete:
- Create / start / stop / restart / list / details
- Tier-based pricing (free / starter / professional / enterprise)
- Docker compose with
env_file(n8n + optional postgres + optional redis)
Critical gaps (~40% overall — see Supported App Types):
- No rendering path in
dps-dashboard/page.tsx - No
n8nSectionMap - No tab headers in
getTabsForApp() - Not in
AppTypeunion (sections/types.ts) N8nInstanceManager.tsx(1033 lines) is never imported
Operator notes
- Public n8n instance for Duabalabs internal automations runs alongside dps-server.
- Workflows are version-controlled via the JSON exports in
apps/automation/. - See
apps/automation/SETUP.mdfor import/export procedure.