diff --git a/packages/rocketchat-api/server/v1/channels.js b/packages/rocketchat-api/server/v1/channels.js
index 4e7ae8cca47ced1bc6ba47458e410fd31ce6f1ea..e145a84f0e1499cafd3da47ffaf589e867d87e61 100644
--- a/packages/rocketchat-api/server/v1/channels.js
+++ b/packages/rocketchat-api/server/v1/channels.js
@@ -22,7 +22,7 @@ RocketChat.API.v1.addRoute('channels.addAll', { authRequired: true }, {
 		const findResult = findChannelById({ roomId: this.bodyParams.roomId });
 
 		Meteor.runAsUser(this.userId, () => {
-			Meteor.call('addAllUserToRoom', findResult._id);
+			Meteor.call('addAllUserToRoom', findResult._id, this.bodyParams.activeUsersOnly);
 		});
 
 		return RocketChat.API.v1.success({
diff --git a/packages/rocketchat-api/server/v1/groups.js b/packages/rocketchat-api/server/v1/groups.js
index 0e12ecdd19eb5e7aa06cba4aed5ed546fb8fcfe8..f05538c4d6d93ab4cf61f38587b270570dbc0733 100644
--- a/packages/rocketchat-api/server/v1/groups.js
+++ b/packages/rocketchat-api/server/v1/groups.js
@@ -22,6 +22,20 @@ function findPrivateGroupByIdOrName({ roomId, roomName, userId, checkedArchived
 	return roomSub;
 }
 
+RocketChat.API.v1.addRoute('groups.addAll', { authRequired: true }, {
+	post() {
+		const findResult = findPrivateGroupByIdOrName({ roomId: this.bodyParams.roomId, userId: this.userId });
+
+		Meteor.runAsUser(this.userId, () => {
+			Meteor.call('addAllUserToRoom', findResult.rid, this.bodyParams.activeUsersOnly);
+		});
+
+		return RocketChat.API.v1.success({
+			group: RocketChat.models.Rooms.findOneById(findResult.rid, { fields: RocketChat.API.v1.defaultFieldsToExclude })
+		});
+	}
+});
+
 RocketChat.API.v1.addRoute('groups.addModerator', { authRequired: true }, {
 	post() {
 		const findResult = findPrivateGroupByIdOrName({ roomId: this.bodyParams.roomId, userId: this.userId });
diff --git a/server/methods/addAllUserToRoom.js b/server/methods/addAllUserToRoom.js
index c52a76268f14ac42dffdfe48d8693210d72394d4..5f122121f3bd3b054a3cd3c1c8ce8c3c12cb4c89 100644
--- a/server/methods/addAllUserToRoom.js
+++ b/server/methods/addAllUserToRoom.js
@@ -1,7 +1,8 @@
 Meteor.methods({
-	addAllUserToRoom(rid) {
+	addAllUserToRoom(rid, activeUsersOnly) {
 
 		check (rid, String);
+		check (activeUsersOnly, Match.Maybe(Boolean));
 
 		if (RocketChat.authz.hasRole(this.userId, 'admin') === true) {
 			const userCount = RocketChat.models.Users.find().count();
@@ -18,7 +19,12 @@ Meteor.methods({
 				});
 			}
 
-			const users = RocketChat.models.Users.find().fetch();
+			const userFilter = {};
+			if (activeUsersOnly === true) {
+				userFilter.active = true;
+			}
+
+			const users = RocketChat.models.Users.find(userFilter).fetch();
 			const now = new Date();
 			users.forEach(function(user) {
 				const subscription = RocketChat.models.Subscriptions.findOneByRoomIdAndUserId(rid, user._id);