Reminders

Reminders allow you to notify users about messages they did not read. Reminders can be used to trigger an email, push notification or SMS to the user.

When enabled, Stream Chat will send a reminder event to your web-hook or SQS queue every time a user has an unread message in a channel with 10 members or less for longer than five minutes.

By default, a reminder will be sent if the user did not read the message within 5 minutes. This interval can be changed for your application. Any interval in seconds between 60 and 86,400 seconds (24 hours) is allowed. If there are more messages sent after a reminder was sent, we will send another reminder for the new messages.

Reminders are configurable as channel type features, by default this feature is disabled. Make sure to enable it for your channel types. This can be done using the API or from the Dashboard.

// enable reminders for the channel type `messaging`
await client.updateChannelType("messaging", {
  reminders: true,
});

// change reminders interval to 1 hour
await client.updateAppSettings({ reminders_interval: 3600 });

Reminders are sent only if all conditions are met:

  • The channel has 10 members or less

  • The channel type has the reminders feature enabled

  • The channel has at least one unread message

  • The channel has the read_events feature enabled

  • The unread message(s) type is regular or system

  • The unread message is not deleted

  • The channel is not deleted

The channel member limit (default 10) can be adjusted by contacting support

Reminder Event

Reminder events contain all the information needed to send a notification to the user without additional API calls. This makes it easy to pipe email/push/sms services.

FieldValue
typeThe type of the event, reminders have type user.unread_message_reminder
userThe target user for this the reminder. This is the user that did not mark the channel as read
channelsThe object containing all channels with at least one unread message for this user
created_atThe time the event was sent

The channels object contains up to 10 objects and have this structure

FieldValue
channelThe channel object, this includes the list of members.
messagesThe last five messages in the channel (in descending order)
© Getstream.io, Inc. All Rights Reserved.