Adicionar automaticamente usuários a grupos com base no valor do campo personalizado

Ao criar um grupo, temos a configuração de associação automática baseada no domínio de e-mail do usuário. Gostaria de ter essa funcionalidade baseada no valor de um campo personalizado.

Caso de Uso Exemplo

Tenho uma comunidade de condomínios com um campo personalizado de lista suspensa que indica o status de propriedade (Proprietário, Inquilino). Quero que todos os proprietários sejam automaticamente adicionados a um grupo de proprietários e que seja possível enviar mensagens apenas para todos os proprietários em certas ocasiões.

Observações

Isso parece direto para campos personalizados do tipo lista suspensa e confirmação, mas imagino que possa ficar complicado para campos de texto. Seria aceitável habilitar essa funcionalidade apenas para listas suspensas e confirmações; caso contrário, uma correspondência exata de texto para campos de texto seria suficiente.

9 curtidas

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 curtidas

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 curtida

Para qualquer pessoa que encontrar isso no futuro: eu tinha um caso de uso semelhante (duas populações distintas de usuários — pessoas oferecendo serviços vs. pessoas buscando serviços) e acabei implementando via webhooks e a API do Discourse.

Mais especificamente, eu…

  • criei um webhook acionado em eventos de usuário
  • implementei um servidor Express.js básico para receber o payload
  • configurei uma rota POST para eventos user_created que verifica o valor de um campo personalizado do usuário e, em seguida, usa a API do Discourse para definir o grupo do usuário de acordo

Isso parece meio estranho de fazer, pois estou saindo do Discourse para modificar algo dentro dele, mas procurei exaustivamente no fórum por respostas para isso e não encontrei nada, então fiz o meu melhor! Espero que isso ajude alguém no futuro e, se alguém encontrar uma maneira melhor de fazer isso, adoraria saber.

3 curtidas

Estou procurando fazer algo muito semelhante a isso para segmentar automaticamente usuários em grupos com base em um campo de seleção personalizado de Usuário. Você acabou de abrir o código-fonte disso?

Meu caso de uso é mais ou menos o mesmo, eu perguntei sobre isso aqui

3 curtidas

@li-zi, sei que você já resolveu isso em certo grau para o seu caso, mas parece-me que outra solução potencial seria usar o plugin Custom Wizard.
Eu uso isso para solicitar que novos usuários preencham o assistente após se registrarem.
O assistente possui alguns campos que oferecem opções de seleção suspensa.
Em seguida, configurei duas ações separadas para serem concluídas após o envio do assistente:

  • uma para atualizar os campos personalizados do perfil do usuário com o campo do assistente selecionado no menu suspenso
  • outra ação para adicionar o usuário a um grupo específico com base na seleção feita no campo do assistente
3 curtidas

Para finalizar este assunto - isso agora é possível usando o script de automação ‘Adicionar usuário a um grupo através de campo personalizado’. :partying_face:

Você pode ler mais sobre como fazer isso aqui:

1 curtida