Studio reminds people in three ways:
| Reminder | Setup needed | Used for |
|---|---|---|
| In-app reminders | None | The inbox, the count on My issues, the sound reminder, and desktop notifications |
| An email channel | Invitations and password resets | |
| Push notifications | HTTPS and a push key | Reminders on a phone or computer even when Studio isn't open |
For how members turn on the sound reminder and desktop notifications and subscribe to push on their phones, see Inbox and reminders.
Add an email channel named system-email under notification.channels in config.yml. With SMTP:
notification:
channels:
inbox:
type: in-app
system-email:
type: smtp
host: smtp.example.com
port: 587
auth:
user: notifications@example.com
pass: <SMTP password>
from: notifications@example.comYou can also use Resend: type: resend with apiKey and from. To keep the password out of the file, provide it through an environment variable such as SMTP_PASSWORD.
Restart Studio once it's set up:
- Invitations now send emails. Without email, the invitation result shows Email not sent, and you can copy the invitation link and send it yourself.
- Password resets: make sure
auth.passwordResetis on inconfig.ymlwithemailChannelpointing atsystem-email, so Forgot password? works on the sign-in page.
Push notifications
Push notifications need:
- Studio served over HTTPS, with
APP_PUBLIC_ORIGINset to the public address. Anhttp://address on your local network won't work. - A push private key that stays the same for good: a 32-byte P-256 private key in base64url or as 64 hex characters, in
push.privateKeyinconfig.ymlor in theWEB_PUSH_PRIVATE_KEYenvironment variable. Put a contact address inpush.contact, such asmailto:admin@example.com.
Without the private key, members can't subscribe to push.
If you change the push private key, every subscribed device has to subscribe again. Store it somewhere safe together with SECRETS_KEYS, back them up together, and never commit it to a repository.
Other channels
notification.channels also supports channels such as Feishu and DingTalk group bots (feishu-webhook and dingtalk-webhook). Studio's reminders currently use only in-app, email, and push.
