Skip to content

feat: WhatsApp groups management with auto-discovery and per-group agent routing#781

Open
reski-rukmantiyo wants to merge 1 commit intonextlevelbuilder:devfrom
reski-rukmantiyo:dev-origin-whatsapp-lagi
Open

feat: WhatsApp groups management with auto-discovery and per-group agent routing#781
reski-rukmantiyo wants to merge 1 commit intonextlevelbuilder:devfrom
reski-rukmantiyo:dev-origin-whatsapp-lagi

Conversation

@reski-rukmantiyo
Copy link
Copy Markdown
Contributor

Add WhatsApp groups tab to channel detail page with auto-discovery of joined groups, per-group agent assignment, display name, and enable/disable controls. Support on-demand cache refresh via API and JoinedGroup event auto-sync.

Closes #775

Summary

Adds WhatsApp group auto-discovery (cached on connect, refreshed on JoinedGroup events) and per-group configuration in the channel detail UI. Each group can be assigned a specific agent, renamed with a display name, and enabled/disabled independently. Also introduces a text-based command system (#menu, #stop, #stopall, #reset) since WhatsApp linked devices cannot send interactive list messages.

Type

  • Feature
  • Bug fix
  • Hotfix (targeting main)
  • Refactor
  • Docs
  • CI/CD

Target Branch

dev

Checklist

  • go build ./... passes
  • go build -tags sqliteonly ./... passes
  • go vet ./... passes
  • Tests pass: go test -race ./...
  • Web UI builds: cd ui/web && pnpm build
  • No hardcoded secrets or credentials
  • SQL queries use parameterized $1, $2 (no string concat)
  • New user-facing strings added to all 3 locales (en/vi/zh)
  • Migration version bumped in internal/upgrade/version.go (if new migration) — N/A

Test Plan

  • Connect WhatsApp, verify groups auto-cached on connect and listed in Groups tab
  • Assign agent / set display name / disable a group → save → verify persisted
  • Message in group with agent override → correct agent responds
  • Message in disabled group → rejected silently
  • ?refresh=true on groups API triggers cache refresh
  • Manual JID addition works for undiscovered groups
  • #menu / #reset commands work in WhatsApp chat
  • i18n strings render in en/vi/zh

…ent routing

Add WhatsApp groups tab to channel detail page with auto-discovery of joined
groups, per-group agent assignment, display name, and enable/disable controls.
Support on-demand cache refresh via API and JoinedGroup event auto-sync.

Closes nextlevelbuilder#775

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@reski-rukmantiyo
Copy link
Copy Markdown
Contributor Author

Related with #775

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: WhatsApp groups management with auto-discovery and per-group agent routing

1 participant