public async Task <int> StartConversationWithOthersAsync(List <int> withUserIds, int userId, int workspaceId)
        {
            if (withUserIds == null || withUserIds.Count < 1)
            {
                throw new ArgumentException("Invalid users");
            }

            if (withUserIds.Count == 1 && withUserIds.Single() == userId)
            {
                return(await StartSelfConversationAsync(userId, workspaceId));
            }

            var userIds = withUserIds;

            userIds.Add(userId);

            var conversationId = await StartConversationForUsersAsync(userIds, userId, workspaceId);

            await _cacheService.AddRecentConversationForUserAsync(conversationId, userId, workspaceId);

            return(conversationId);
        }