diff --git src/bp-core/admin/bp-core-admin-tools.php src/bp-core/admin/bp-core-admin-tools.php
index 0ad810e0d..3af5b1616 100644
--- src/bp-core/admin/bp-core-admin-tools.php
+++ src/bp-core/admin/bp-core-admin-tools.php
@@ -147,6 +147,14 @@ function bp_admin_repair_list() {
 		'bp_admin_reinstall_emails',
 	);
 
+	// Invitations
+	// - maybe create the database table
+	$repair_list[110] = array(
+		'bp-invitations-table',
+		__( 'Create the database table for Invitations and migrate existing group invitations if needed.', 'buddypress' ),
+		'bp_admin_invitations_table',
+	);
+
 	ksort( $repair_list );
 
 	/**
@@ -325,6 +333,58 @@ function bp_admin_repair_last_activity() {
 	return array( 0, sprintf( $statement, __( 'Complete!', 'buddypress' ) ) );
 }
 
+/**
+ * Create the invitations database table if it does not exist.
+ * Migrate outstanding group invitations if needed.
+ *
+ * @since 6.0.0
+ *
+ * @return array
+ */
+function bp_admin_invitations_table() {
+	global $wpdb;
+
+	require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
+	require_once( buddypress()->plugin_dir . '/bp-core/admin/bp-core-admin-schema.php' );
+
+	$statement = __( 'Creating the Invitations database table if it does not exist&hellip; %s', 'buddypress' );
+	$result    = __( 'Failed to create table!', 'buddypress' );
+
+	bp_core_install_invitations();
+
+	// Check for existence of invitations table.
+	$bp_prefix  = bp_core_get_table_prefix();
+	$table_name = "{$bp_prefix}bp_invitations";
+	$query = $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->esc_like( $table_name ) );
+	if ( ! $wpdb->get_var( $query ) == $table_name ) {
+		// Early return a "create-only" failure message.
+		return array( 2, sprintf( $statement, $result ) );
+	} else {
+		$result = __( 'Created invitations table!', 'buddypress' );
+	}
+
+	// Migrate group invitations if needed.
+	if ( bp_is_active( 'groups' ) ) {
+		$bp                = buddypress();
+		$migrate_statement = __( 'Migrating group invitations&hellip; %s', 'buddypress' );
+		$migrate_result    = __( 'Failed to migrate invitations!', 'buddypress' );
+
+		bp_groups_migrate_invitations();
+
+		// Check that there are no outstanding group invites in the group_members table.
+		$records = $wpdb->get_results( "SELECT id, group_id, user_id, inviter_id, date_modified, comments, invite_sent FROM {$bp->groups->table_name_members} WHERE is_confirmed = 0 AND is_banned = 0" );
+		if ( empty( $records ) ) {
+			$migrate_result = __( 'Migrated invitations!', 'buddypress' );
+			return array( 0, sprintf( $statement . ' ' . $migrate_statement , $result, $migrate_result ) );
+		} else {
+			return array( 2, sprintf( $statement . ' ' . $migrate_statement , $result, $migrate_result ) );
+		}
+	}
+
+	// Return a "create-only" success message.
+	return array( 0, sprintf( $statement, $result ) );
+}
+
 /**
  * Assemble admin notices relating success/failure of repair processes.
  *
