제 파트너가 호스팅 프로 버전을 시험 사용 중이며, 커뮤니티 멤버들을 초대할 예정입니다. 가입 시 사용자들로 하여금 양식을 작성하도록 하고자 하는데, 아마도 사용자 정의 필드가 포함될 것입니다. 이후에는 가입 시 작성한 내용을 기반으로 해당 사용자에게 연락을 보내고 싶어 합니다.
사용자 정의 필드가 x인 모든 사용자에게 1:1 DM을 보내는 방법이 있을까요? 즉, 각 사용자가 개별적으로 1:1 DM을 받는 형태입니다. 만약 그것이 불가능하다면, 해당 사용자를 찾아서 하나씩 DM을 보낼 수 있는지 궁금합니다.
참고로, 파트너는 사용자 정의 필드가 다른 멤버들에게 노출되는 것을 원하지 않습니다. 이로 인해 해당 필드를 사용자 디렉토리에 추가하는 것을 허용할 수 없을 수도 있습니다.
요약하자면, 제 파트너는 가입 시 답변한 질문을 기준으로 신규 사용자를 그룹으로 나누고 싶어 합니다. 질문의 답변은 사용자 본인과 관리자만 볼 수 있도록 비공개로 유지되어야 합니다. 마지막으로, 1:1 DM이나 이메일을 통해 해당 사용자에게 일괄적으로 연락을 보내고 싶어 합니다. 만약 그것이 불가능하다면, 사용자 정의 필드로 필터링할 수만 있다면 하나씩 연락하는 방식도 괜찮다고 합니다.
자동화 플러그인을 사용하여 예를 들어 보겠습니다. 사용자 필드를 기준으로 사용자를 그룹에 추가하도록 자동화를 구성하면, 항상 해당 그룹에 맞게 정리되어 있습니다. 예를 들어 3개의 옵션이 있는 사용자 정의 필드에 기반한 3개의 그룹을 만들 수 있으며, 이 경우 데이터 탐색기 쿼리(자동 또는 수동)를 사용하여 해당 그룹 멤버의 이메일 주소를 별도의 목록으로 추출하거나(또는 자동화를 사용하여 그룹 멤버에게 DM을 전송) 사용할 수 있습니다.
그룹 멤버의 이메일 주소를 가져오는 데이터 탐색기 쿼리
-- [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
네, 프로 플랜에서 내부 관리자 프로세스에 사용자 정의 필드를 활용하려는 사용 사례는 어려울 것 같습니다. 관리자나 스태프를 제외한 모든 사용자에게 해당 열을 숨기기 위해 CSS를 사용할 수는 있지만, 브라우저 개발자 콘솔에 대해 아는 스마트한 사용자는 이를 우회할 수 있습니다.
수정: API를 사용해 이 작업을 수행할 수 있을 것 같습니다 (Moin님, 떠올리게 해 주셔서 감사합니다):