Agregar usuarios automáticamente a grupos según el valor del campo personalizado

Al crear un grupo, tenemos la configuración de membresía automática basada en el nombre de dominio del correo electrónico del usuario. Me gustaría tener esta funcionalidad basada en el valor de un campo personalizado.

Caso de uso de ejemplo

Tengo una comunidad de condominios con un campo personalizado de lista desplegable que indica el estado de propiedad (Propietario, Inquilino). Quiero que todos los propietarios estén automáticamente en un grupo de propietarios y poder enviar mensajes solo a todos los propietarios para ciertos mensajes.

Consideraciones

Esto parece sencillo para los campos personalizados de lista desplegable y confirmación, pero podría complicarse para los campos de texto. Estaría bien habilitarlo solo para listas desplegables y confirmaciones; de lo contrario, la coincidencia exacta de texto es suficiente para los campos de texto.

9 Me gusta

Since these are user settable custom fields, you can just make the groups open membership and tell people to add / remove themselves via the /groups page.

2 Me gusta

Not realistic for my use case. Hard to get a bunch of random homeowners, some very old, to bother going around tinkering with their settings. It was hard enough getting them to just register once to get the emails, and it’s hard to even get them to pay attention and do stuff even when there are financial penalties.

1 me gusta

Para cualquiera que encuentre esto en el futuro: tuve un caso de uso similar (dos poblaciones de usuarios distintas: personas que ofrecen servicios y personas que buscan servicios) y terminé implementándolo mediante webhooks y la API de Discourse.

Más específicamente, yo…

  • creé un webhook activado por eventos de usuario
  • implementé un servidor básico de Express.js para recibir la carga útil
  • configuré una ruta POST para los eventos user_created que verifica el valor de un campo personalizado de usuario y luego usa la API de Discourse para asignar al usuario al grupo correspondiente

Esto parece una forma un poco extraña de hacerlo porque estoy yendo fuera de Discourse para modificar algo dentro de Discourse, pero revisé el foro en busca de respuestas a esto y no encontré nada, así que hice lo mejor que pude. Espero que esto ayude a alguien en el futuro, y si alguien encuentra una mejor manera de hacerlo, me encantaría saberlo.

3 Me gusta

Estoy buscando hacer algo muy similar a esto para segmentar automáticamente a los usuarios en grupos basándome en un menú desplegable de un campo personalizado de usuario. ¿Acaso publicaste esto como código abierto?

Mi caso de uso es más o menos el mismo, lo pregunté aquí

3 Me gusta

@li-zi sé que ya resolviste esto en cierto modo para tu caso, pero me parece que otra solución potencial sería usar el plugin de Asistente Personalizado.
Lo utilizo para solicitar a los nuevos usuarios que completen el asistente después de registrarse.
El asistente tiene algunos campos que ofrecen opciones de menú desplegable.
Luego configuré dos acciones separadas para ejecutar después de enviar el asistente:

  • una para actualizar los campos personalizados del perfil del usuario con el campo del asistente seleccionado en el menú desplegable
  • otra acción para agregar el usuario a un grupo específico según la selección del campo del asistente
3 Me gusta

Para concluir este tema, esto ahora es posible usando el script de automatización ‘Agregar usuario a grupo a través de campo personalizado’. :partying_face:

Puede leer más sobre cómo hacerlo aquí:

1 me gusta