For anybody coming across this in the future: I had a similar use case (two distinct user populations – people offering services vs. people seeking services) and ended up implementing it via webhooks and the Discourse API.
More specifically, I…
- created a webhook triggered on user events
- implemented a barebones Express.js server to receive the payload
- set up a POST route for
user_created
events that checks the value of a custom user field, and then uses the Discourse API to set the user’s group accordingly
This seems like kind of a goofy way to do it because I’m going outside Discourse to modify something within Discourse, but I scoured the forum for answers to this and came up with nothing, so I did my best! Hope this helps someone in the future, and if anyone comes up with a better way of doing it, I’d love to know.