// Update notification feed group to only send push for follows await client.feeds.updateFeedGroup({ id: "notification", push_notification: { enable_push: true, push_types: ["follow"], // Only follows will trigger push notifications }, }); // Disable all push notifications for a feed group await client.feeds.updateFeedGroup({ id: "user", push_notification: { enable_push: false, }, });Feed Group Push Configuration
Activity Feeds supports push notifications at the feed group level, allowing you to configure which activity types trigger push notifications. You can use built-in defaults, override built-in feed groups, or create entirely custom feed groups with push configuration.
Built-in Feed Groups Default Configuration
Stream provides several built-in feed groups with different default push notification configurations:
| Feed Group | Push Enabled | Default Push Types |
|---|---|---|
notification | ✅ Yes | follow, comment, reaction, comment_reaction, mention |
user | ✅ Yes | follow, comment, reaction, comment_reaction, mention, post |
timeline | ❌ No | None |
foryou | ❌ No | None |
How Push Notifications Work
When you set create_notification_activity: true, you can choose how to send the notification:
Send via notification feed (skip_push: true)
- The notification goes through the user’s notification feed
- Triggers push via
feeds.notification_feed.updatedevent - Good for apps that want all notifications in one place
Send directly (skip_push: false)
- The notification is sent right away via direct event (e.g.,
feeds.activity.comment.added,feeds.activity.reaction.added) - The activity is still saved to the notification feed for history
Note: Stream automatically prevents duplicate push notifications. You’ll only get one push notification per action, regardless of your combination of skip_push and create_notification_activity flags.
Updating Feed Group Push Configuration
You can update existing feed groups to modify their push notification behavior:
// Update notification feed group to only send push for follows _, err = client.Feeds().UpdateFeedGroup(ctx, "notification", &getstream.UpdateFeedGroupRequest{ PushNotification: &getstream.PushNotificationConfig{ Enabled: getstream.PtrTo(true), ActivityTypes: []string{"follow"}, // Only follows will trigger push notifications }, }) if err != nil { log.Fatal("Error updating notification feed group:", err) } // Disable all push notifications for a feed group _, err = client.Feeds().UpdateFeedGroup(ctx, "user", &getstream.UpdateFeedGroupRequest{ PushNotification: &getstream.PushNotificationConfig{ Enabled: getstream.PtrTo(false), }, }) if err != nil { log.Fatal("Error updating user feed group:", err) }use GetStream\GeneratedModels; // Update notification feed group to only send push for follows $response = $feedsClient->updateFeedGroup("notification", new GeneratedModels\UpdateFeedGroupRequest( pushNotification: new GeneratedModels\PushNotificationConfig( enablePush: true, pushTypes: ["follow"] // Only follows will trigger push notifications ) )); // Disable all push notifications for a feed group $response = $feedsClient->updateFeedGroup("user", new GeneratedModels\UpdateFeedGroupRequest( pushNotification: new GeneratedModels\PushNotificationConfig( enablePush: false ) ));Configuration Options
| Field | Type | Description |
|---|---|---|
enable_push | boolean | Whether push notifications are enabled for this feed group |
push_types | string[] | Array of activity types that will trigger push notifications |
Supported Activity Types:
- Built-in:
follow,comment,reaction,comment_reaction,mention - Custom: Any
activity.typevalue you define (e.g.,post,achievement,system_alert)
Best Practices
- Be selective with
push_types- Choose specific activity types to avoid overwhelming users - Use aggregation - Group similar activities in the feed for better organization, though each activity in
push_typeswill still trigger individual push notifications