Workflow
Set up, configure, and run the Reloop workflow microservice locally.
Complete Base Setup First
Ensure you've finished the Setup — before proceeding.
Service Overview
Marketing automation — drip campaigns, delays, and multi-step journeys via BullMQ.
| Property | Value |
|---|---|
| Directory | apps/backend/workflow |
| Port | 8017 |
| Local URL | https://local.reloop.sh/api/workflow |
| Swagger UI | https://local.reloop.sh/api/workflow/openapi |
| Bull Board | https://local.reloop.sh/api/workflow/bull-board |
| Stack | ElysiaJS PostgreSQL Redis NATS BullMQ |
Quick Start
Run from the monorepo root:
bun be:workflow:dev
The service starts with hot reloading on port 8017.
Environment Configuration
Variables live in apps/backend/workflow/.env. Running bun env:setup from the root auto-populates this file.
PG_URL=postgresql://reloop:reloop123@localhost:5432/reloop
REDIS_URL=redis://:reloop123@localhost:6379
PORT=8017
BASE_URL="https://local.reloop.sh"
NATS_URL=nats://localhost:4222
NODE_ENV=development
Reference Table
| Variable | Required | Default |
|---|---|---|
PG_URL | YES | postgresql://... |
REDIS_URL | YES | redis://... |
PORT | YES | 8017 |
BASE_URL | YES | https://local.reloop.sh |
NATS_URL | YES | nats://localhost:4222 |
Development Commands
| Command | Description |
|---|---|
bun be:workflow:dev | Start dev server with hot reloading |
bun run --filter=workflow build | Compile production bundle |
bun run --filter=workflow start | Run compiled production build |
bun run --filter=workflow check-types | TypeScript type-check |
Architecture
| Layer | Detail |
|---|---|
| Triggers | NATS events (e.g. contacts.created) start automation journeys. |
| Execution | BullMQ workflow-queue handles delayed steps and transitions. |
| Integrations | Reads contacts/templates and triggers sends via mail. |
| Monitoring | Bull Board UI at /api/workflow/bull-board. |
Was this page helpful?