-
Notifications
You must be signed in to change notification settings - Fork 118
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
Missing Omnichannel features / bridges for GSoC-2020 projects #234
Comments
The only feature that needs further discussion here is user creation; that's a rather sensitive subject for us because it could be easily abused, and we're not really sure how to prevent it. For instance, in the cloud environment, the total count of active users impacts how much the workspace is going to be charged. For Apps subscriptions, the total count of active users will determine whether an app will be blocked for the workspace or not. So enabling apps to add users to a workspace can have a pretty bad impact in some aspects. Some consideration has been giving towards:
@rodrigok @sampaiodiego @graywolf336 @geekgonecrazy would like your inputs on this one |
Giving apps administrator capabilities (like managing users and omnichannel agents) is something that we should look very carefully as it opens a breach for evil or hacked apps to take control of rocket.chat instances. can you look into this requirement with a different perspective? there are two alternatives that come into my mind:
|
Thanks @sampaiodiego for the feedback. Thanks. |
We are about to start the GSoC season(2020) and this year we have at least 3 projects that aim to implement new Omnichannel Apps:
Even though we already have a few Omnichannel Apps implemented and working very well, we'll need to add/extend a set of new features/bridges in order to develop the 3 news Apps mentioned before.
The discussions about the spec of each project have already started, the students are getting familiar with the
Apps-Engine
as well as our partners that will be the mentors of some sponsored projects.Therefore, I'm going to describe what features are still missing on the current version of the
Apps-Engine
and will be necessary for the execution of the projects:- Ability to create new users and make them Omnichannel agents:
We'll integrate Rocket.Chat with an external system that will be responsible for determining which agent will serve a given omnichannel room that will be identified by some information stored in its custom fields. Initially, the users may not exist in Rocket.Chat, so the App will need to create it as well as to set the new user as an Omnichannel Agent. Also, the
Apps-Engine
will need to allow the storage of User's custom fields, in addition to finding a specific User based on a custom field value.We will need to be able to find users by custom fields because we'll need to store the external application unique ID, this is the information that will identify the Rocket.Chat User/Agent which will serve Omnichannel conversations. the following Rocket.Chat features need to be available to the Apps through the
Apps-Engine
:bot
role since the agent's won't be online in Rocket.Chat and the Omnichannel routing system allows offline agents since they have thebot
role- Add
assignAgent
andunassignAgent
event handlersThe Apps will need to be notified when an agent is assigned or unassigned from an Omnichannel room. To achieve this the
Apps-Engine
will need to support event handlers on the following Rocket.Chat methods:In both event handlers, the Apps will need to get the
room
andagent
information.- Ability to listen when a new Omnichannel conversation starts
An App may need to be notified when a new Omnichannel conversation starts in order to execute specific tasks. Currently, we already support the
LivechatRoomClosedHandler
, now we need to extend something likeLivechatRoomStartedHandler
. This event happens here:We were aware that we'd need to extend new Omnichannel features sometime, now we have very important reasons to put some effort into these demands, otherwise, it wouldn't be possible to execute the GSoC projects that have
Apps-Engine
dependency.The text was updated successfully, but these errors were encountered: