diff --git src/includes/extend/buddypress/activity.php src/includes/extend/buddypress/activity.php
index 8097692..0cb2ffd 100644
--- src/includes/extend/buddypress/activity.php
+++ src/includes/extend/buddypress/activity.php
@@ -103,7 +103,8 @@ class BBP_BuddyPress_Activity {
 	private function setup_globals() {
 
 		// The name of the BuddyPress component, used in activity streams
-		$this->component    = 'bbpress';
+		$this->component        = 'bbpress';
+		$this->groups_component = buddypress()->groups->id;
 
 		// Forums
 		$this->forum_create = 'bbp_forum_create';
@@ -192,8 +193,42 @@ class BBP_BuddyPress_Activity {
 	public function register_activity_actions() {
 
 		// Sitewide activity stream items
-		bp_activity_set_action( $this->component, $this->topic_create, esc_html__( 'New forum topic', 'bbpress' ) );
-		bp_activity_set_action( $this->component, $this->reply_create, esc_html__( 'New forum reply', 'bbpress' ) );
+		bp_activity_set_action(
+			$this->component,
+			$this->topic_create,
+			esc_html__( 'New forum topic', 'bbpress' ),
+			'bbp_bp_format_activity_action_new_topic',
+			__( 'Topics', 'bbpress' ),
+			array( 'activity', 'member', 'member_groups', 'group' )
+		);
+
+		bp_activity_set_action(
+			$this->component,
+			$this->reply_create,
+			esc_html__( 'New forum reply', 'bbpress' ),
+			'bbp_bp_format_activity_action_new_reply',
+			__( 'Replies', 'bbpress' ),
+			array( 'activity', 'member', 'member_groups', 'group' )
+		);
+
+		// Group forum activity stream items
+		bp_activity_set_action(
+			$this->groups_component,
+			$this->topic_create,
+			esc_html__( 'New forum topic', 'bbpress' ),
+			'bbp_bp_format_activity_action_new_topic',
+			__( 'Topics', 'bbpress' ),
+			array( 'activity', 'member', 'member_groups', 'group' )
+		);
+
+		bp_activity_set_action(
+			$this->groups_component,
+			$this->reply_create,
+			esc_html__( 'New forum reply', 'bbpress' ),
+			'bbp_bp_format_activity_action_new_reply',
+			__( 'Replies', 'bbpress' ),
+			array( 'activity', 'member', 'member_groups', 'group' )
+		);
 	}
 
 	/**
@@ -275,8 +310,8 @@ class BBP_BuddyPress_Activity {
 		}
 
 		// Get the activity stream item, bail if it doesn't exist
-		$existing = bp_activity_get_specific( array( 'activity_ids' => $activity_id, 'show_hidden' => true, 'spam' => 'all', ) );
-		if ( empty( $existing['total'] ) || ( 1 !== (int) $existing['total'] ) ) {
+		$existing = new BP_Activity_Activity( $activity_id );
+		if ( empty( $existing->component ) ) {
 			return null;
 		}
 
diff --git src/includes/extend/buddypress/functions.php src/includes/extend/buddypress/functions.php
index 254266a..f25fad9 100644
--- src/includes/extend/buddypress/functions.php
+++ src/includes/extend/buddypress/functions.php
@@ -537,7 +537,7 @@ function bbp_remove_forum_id_from_all_groups( $forum_id = 0 ) {
  * @param int $forum_id
  * @uses bbp_get_forum_id() To get the forum id
  * @uses bbp_get_forum_group_ids() To get the forum's group ids
- * @uses apply_filters() Calls 'bbp_forum_is_group_forum' with the forum id 
+ * @uses apply_filters() Calls 'bbp_forum_is_group_forum' with the forum id
  * @return bool True if it is a group forum, false if not
  */
 function bbp_is_forum_group_forum( $forum_id = 0 ) {
@@ -710,3 +710,51 @@ function bbp_group_is_creator() {
 	// Return the value
 	return (bool) $bbp->current_user->is_group_creator;
 }
+
+/** BuddyPress Activity Action Callbacks **************************************/
+
+function bbp_bp_format_activity_action_new_topic( $action, $activity ) {
+
+	// User link for topic author
+	$user_link = bbp_get_user_profile_link( $activity->user_id );
+
+	// Topic
+	$topic_id        = bbp_get_topic_id( $activity->item_id );
+	$topic_permalink = bbp_get_topic_permalink( $topic_id );
+	$topic_title     = get_post_field( 'post_title', $topic_id, 'raw' );
+	$topic_link      = '<a href="' . $topic_permalink . '">' . $topic_title . '</a>';
+
+	// Forum
+	$forum_id        = bbp_get_forum_id( $activity->secondary_item_id );
+	$forum_permalink = bbp_get_forum_permalink( $forum_id );
+	$forum_title     = get_post_field( 'post_title', $forum_id, 'raw' );
+	$forum_link      = '<a href="' . $forum_permalink . '">' . $forum_title . '</a>';
+
+	// Activity action
+	$action = sprintf( esc_html__( '%1$s started the topic %2$s in the forum %3$s', 'bbpress' ), $user_link, $topic_link, $forum_link );
+
+	return apply_filters( 'bbp_bp_format_activity_action_new_topic', $action, $activity );
+}
+
+function bbp_bp_format_activity_action_new_reply( $action, $activity ) {
+
+	// User link for topic author
+	$user_link = bbp_get_user_profile_link( $activity->user_id );
+
+	// Topic
+	$topic_id        = bbp_get_topic_id( $activity->secondary_item_id );
+	$topic_permalink = bbp_get_topic_permalink( $topic_id );
+	$topic_title     = get_post_field( 'post_title', $topic_id, 'raw' );
+	$topic_link      = '<a href="' . $topic_permalink . '">' . $topic_title . '</a>';
+
+	// Forum
+	$forum_id        = bbp_get_topic_forum_id( $topic_id );
+	$forum_permalink = bbp_get_forum_permalink( $forum_id );
+	$forum_title     = get_post_field( 'post_title', $forum_id, 'raw' );
+	$forum_link      = '<a href="' . $forum_permalink . '">' . $forum_title . '</a>';
+
+	// Activity action
+	$action = sprintf( esc_html__( '%1$s replied to the topic %2$s in the forum %3$s', 'bbpress' ), $user_link, $topic_link, $forum_link );
+
+	return apply_filters( 'bbp_bp_format_activity_action_new_topic', $action, $activity );
+}
