Как попросить пользователя создать пароль для созданного для него аккаунта?

На нашем сайте есть форма обратной связи, которая в основном используется для вопросов поддержки. Я хочу, чтобы вопросы, отправленные через неё, становились новыми темами на нашем форуме, работающем на базе Discourse.

Я пытаюсь реализовать следующую последовательность действий:

  1. Создать нового пользователя через API на основе имени и адреса электронной почты, указанных в форме.
  2. Создать новую тему от имени этого пользователя.
  3. Отправить этому пользователю электронное письмо со ссылкой на эту тему, а также запросом на создание пароля.

Теперь я нашёл четыре шаблона писем в Discourse, которые могли бы быть использованы на шаге 3: «Аккаунт создан», «Вход по ссылке», «Забыли пароль» и «Установить пароль». В документации по API я нашёл только вызов для отправки сообщения «Забыли пароль», но это, кажется, не лучший вариант для моего случая.

Мои вопросы:
a) При каких обстоятельствах отправляются остальные три сообщения («Аккаунт создан», «Вход по ссылке» и «Установить пароль»)?
b) Как можно отправить их через API?

«account_created» используется при вызове API-эндпоинта «invite admin» и при создании администратора с помощью задачи admin:invite.

«login via link» (внутренне называется email_login) отправляется, когда кто-то использует ссылку «Вход по электронной почте».

«set password» аналогично «Забыли пароль»: это происходит, когда у пользователя в базе данных ещё нет пароля.

Я считаю, что лучший подход — создавать новых пользователей в статусе «staged», а затем отправлять им приглашение на тему. Это приглашение автоматически авторизует их в их временном аккаунте и перенаправит к теме. Им не будет предложено создать пароль, но они смогут сделать это вручную или просто использовать вариант входа по электронной почте.

Спасибо, Дэвид!

Какой API-вызов используется для создания «промежуточных» пользователей? Я думал, что их можно создавать только через электронную почту.