Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NEW] Add impersonate option for livechat triggers #9107

Merged
merged 4 commits into from
Dec 27, 2017

Conversation

sampaiodiego
Copy link
Member

@RocketChat/core

Closes #8941

This adds a new option for a trigger action, you could choose between Impersonate next agent from queue and the old one was moved to Custom agent:
image

Selecting Custom agent you can provide him a name, and that name will be used to send a message when it triggers:
image

Selecting Impersonate next agent from queue a real agent will be used for sending the message. This option cannot be used if Guest Pool routing method is selected.
image

The first time the trigger fires the next agent from queue will be fetched and then cached on client for 1 hour, this will prevent the multiple agents being showed in multiple windows.

@engelgabriel engelgabriel temporarily deployed to rocket-chat-pr-9107 December 13, 2017 15:59 Inactive
resolve({
username: params.name
});
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤔 it will never resolve if(params.sender !== 'custom')

@@ -33,7 +33,24 @@ RocketChat.Livechat = {
return RocketChat.models.Users.findOnlineAgents();
}
},
getRoom(guest, message, roomInfo) {
getRequiredDepartment(onlineRequired = true) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤔 something like:

const departments = RocketChat.models.LivechatDepartment.findEnabledWithAgents();
 return departments.fetch().find(dept => {
 	if (!dept.showOnRegistration) { return false; }
 	if (!onlineRequired) { return true; }
 	const onlineAgents = RocketChat.models.LivechatDepartmentAgents.getOnlineForDepartment(dept._id);
 	return onlineAgents.count() > 0
 });

@sampaiodiego sampaiodiego temporarily deployed to rocket-chat-pr-9107 December 21, 2017 18:39 Inactive
@sampaiodiego
Copy link
Member Author

@ggazzo changes made, can you review it again pls? thx

@sampaiodiego sampaiodiego force-pushed the livechat-add-impersonate-option-to-triggers branch from dd3816d to 507cfa4 Compare December 21, 2017 18:44
@sampaiodiego sampaiodiego temporarily deployed to rocket-chat-pr-9107 December 21, 2017 18:44 Inactive
@sampaiodiego sampaiodiego merged commit 3a0fe1f into develop Dec 27, 2017
@sampaiodiego sampaiodiego deleted the livechat-add-impersonate-option-to-triggers branch December 27, 2017 22:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow livechat trigger to use agent from queue
3 participants