My partner is trialling hosted pro version and she will want to invite members from her community. On sign up she wants them to fill out a form, presumably with custom fields and later will want to be able to contact them based on what they said on sign up.
Is there a way to DM all users with custom field = x, so that each of them receives 1 on 1 DM. Failing that, can she find those users so that she can DM them one by one.
Note, she does not want the custom fields to be visible to other members, which might preclude her from allowing those fields to be added to the user directory.
In summary my partner wants to split new users into groups based on questions answered during sign up. Answers to questions must remain private and visible only to user and admin. Finally, she wants to be able to communite with these users en masse by sending out 1 to 1 DMs or emails, or failing that she’s happy to contact them one by one as long as she can filter by custom field.
Any help would be gratefully received, many thanks,
to give an example using the automation plugin - i would configure an automation to add the users to a group based on the user field then you would always have them grouped accordingly. for example you might have 3 groups based on a custom field with 3 options, then you could use a data explorer query (automated or manual) to extract the email addresses of those group members into separate lists (or use the automation to send DM to group members).
data explorer query to get email addresses of group members
-- [params]
-- string :group_name
SELECT
u.username,
ue.email
FROM users u
JOIN group_users gu ON gu.user_id = u.id
JOIN groups g ON g.id = gu.group_id
JOIN user_emails ue ON ue.user_id = u.id
WHERE g.name = :group_name
AND ue.primary = true
ORDER BY u.username
yea your use-case of utilizing custom fields for internal admin processes is likely going to be difficult with the pro plan i’m afraid. you could do some CSS to hide that column for everyone except admin or staff, but smart users could override that if they know how in the browser dev console.
edit: oh i think you may be able to use API to do this (thanks for reminding me Moin):