Forums Feature Requests Thread

[New Feature] Automation and workflow engine

Patrick Bass · May 24 · 32 · 1 Locked
[Deployed to Production]
🚀 OP May 24, 2026 7:52pm

Type: New Feature

Priority: P1

What: Event-driven automation: when X happens, do Y. Examples: "when a new member joins, send a welcome DM." "When a post gets 10 upvotes, move it to the featured forum." "When a member reaches trust level 3, assign the badge." Admin-configured trigger-action rules.

Who benefits: Creators (reduce manual work), members (better experience).

Why: Circle's workflows are a major differentiator. Manual community management does not scale.

Complexity: Large


Patrick Bass
@mobieus

🚀 May 29, 2026 2:27pm

Shipped. Commit dd7a16fc deployed to dev / support / fort-smith-live.

What landed:

  • AutomationDispatcher — third EventBus listener after PublicEventEmitter and WebhookDispatcher. Subscribes to user.registered, forum.thread.created, forum.reply.posted, marketplace.listing.created, report.created, moderation.action.taken.
  • Conditions — 13 ops (equals/not_equals/gt/lt/gte/lte/in/not_in/contains/starts_with/ends_with/is_set/is_empty), dotted-path field lookup, AND across rows.
  • Actions (v1) — send_dm, add_badge, award_credits, move_thread. Cheap ones run inline on the request, slow ones queue to automation_runs for the per-minute worker. Template-interpolated params ({{data.author.id}}).
  • Admin UI at /admin/automation with CRUD, toggle, and run history (super-admin only).
  • Schemaautomation_rules + automation_runs per-tenant (FOR UPDATE SKIP LOCKED queue claim).
  • Cron 31bin/process-automation-queue.php wired via scripts/cron.d/mobieus-platform-admin-automation-queue (fan-out across active tenants).

Smoke test: worker runs cleanly on all 3 tenants with 0 rules (exit 0, “claimed 0”). Action handlers are recursion-safe — they never emit EventBus events.

Now you can build “welcome DM on join” / “feature thread on report” / “badge on first post” from the admin without code changes.


Patrick Bass
@mobieus

Log in or register to reply to this thread.