CoreEngage Tech Talk
Altigen’s Tech Talk is a chance for us to dive deeper into the world of telecommunications. Often hosted by our Chief Technical Officer, Mark Allen, these blogs talk about the future of the modern workplace.
This Tech Talk, with Altigen’s CTO Mark Allen, discusses CoreEngage, the ‘Agent’ component of CoreInteract.
Q: Hi Mark, thanks for your time today. Let’s talk a little bit about CoreEngage. Let’s start with a high-level view of what CoreEngage is an does.
A: Sure, CoreEngage is the continuation, or the client side, of CoreInteract meaning. With CoreInteract, we focused on releasing some enhanced functionality to queuing and routing Microsoft Teams call queues. It offered other types of routing, some more exit strategies for routing, added more functionality to the back end of routing and queuing for voice communication in Microsoft Teams.
As we rolled that out, CoreInteract is the back-end tool. It behaved like Teams call queues but added some functionality. The end user interface was a pop-up toast which came in with a ribbon across the top that showed that you weren’t receiving just a normal call, but you were receiving a work group call and that was the extent of the early version of Core Interact. It added other routing types, etc.
The back end was step one. We are quickly adding more functionality to meet the full vision of CoreInteract. CoreEngage is another native Teams application that will provide end users with views, capabilities, screens and information about incoming calls, SMS messages, emails and other modalities, as well as some other functionality around signing into queues, and so forth, which I’m sure we’ll talk about later.
Q: Users of CoreInteract can help inside or outside your typical contact center. It’s for everybody. It’s contact center for everyone if you will. CoreInteract is the routing engine. The queuing engine which gives you a great ability to admin those functions and delegate permissions and things like that which organizations need.
The user of CoreEngage or should I say the person that’s then receiving the “calls”, I’ll add SMS messages, emails, web chats and other modalities, from those CoreInteract queues. They interact with these inbound communications with CoreEngage. And they use CoreEngage natively in their Microsoft Teams application.
A: Correct, it’s important that you note the other modalities because that’s the most critical path for CoreEngage. When receiving a call with CoreInteract through a Microsoft call queue or CoreInteract Workgroup, without the addition of CoreEngage or any client, the voice call you receive has a pop-up toast to answer the call.
However, if you want to receive an interaction from another modality, there really isn’t a single interface for that today. In the Microsoft Teams world, you have a chat box over here for chatting. You have your calls that come in with the pop-up toast. But there is not a consolidated view where you can receive an SMS and a chat and an email and a call. CoreEngage brings any or all those modalities together for your users to engage with their audience.
Q: To summarize, CoreEngage is the single interface, within Microsoft Teams, for all those communication modalities so users can interact directly through their Microsoft Teams client.
Q: Let’s dive a little deeper. What are some of the functions of that that make CoreEngage useful and what are some things that make it unique?
A: Let’s start with the function of receiving a communication. One of the difficulties that we recognized in Teams has to do with ring all. There’s no interface if you will. If everybody is ringing and one person grabbed the call, who grabbed it? CoreEngage allows users to see grabbed the call, but also, things like how many of those came in? Who is taking the most calls? What is the distribution of those calls?
What we wanted to do with CoreEngage is take that concept of a ring all and give the end user control over if they accept or if they reject a call. That’s the first piece. You may want to find out which of your users is ignoring or rejecting calls, and that’s a reporting metric. That’s usually important in a context, and so one of the aspects of CoreEngage is to have an interface to extend the ability to the users to be able to accept and reject a conversation.
This applies when it comes to email as well, for example, but, in a lot of instances, particularly in customers and teams that deal in contact center or contact center light, if you will, you need to give the agent to the ability to take that conversation next. I think a key aspect is that Microsoft did have the ability to sign in and out of workgroups, or queues, that you’re participating in with CoreEngage. We wanted to put in a simple interface to provide a person assigned to multiple CoreInteract Workgroups, or queues, a way to check a box to indicate if they want to take ‘calls’ at that moment or not for a particular workgroup. This adds simplicity by using the same screen to accept and reject calls.
Something that is unique that we wanted to address is related to presence. When is a person that’s assigned to receive communication from a customer available to take a conversation? This may be different from your Microsoft Teams presence. If you rely solely on Microsoft Teams status, you might be in a call. You might, for example, be at your desk, but reading something or talking, and your status changes to ‘away’ because you haven’t touched your keyboard or mouse. If we rely solely on Microsoft Teams presence, that person would be taken out of Queue when they are available to take a call. They should be. That’s different from getting up to stretch and away from your desk while talking at the water cooler because you need to get a drink. You may be away but unable to take a call.
The function of status is great if I’m looking to see status of someone I want to chat with, and it looks like you’re there. But, when it comes to receiving client communication you need more bands, it needs more boundaries. So, we’ve added a ready not ready state.
In the ready state you’re telling CoreInteract to send me ‘calls’, even if my status is away or busy or green, because while my calendar might see ‘in a meeting’, I just put a placeholder on my calendar to take calls for this hour but, now I can’t get any calls because it’s relying on my Teams presence. With CoreEngage, you can put yourself in a ready state and use your calendar as expected as well as your Microsoft Teams status as expected, and so we calculate based on both attributes. Also, you can make yourself not ready. Even if you are there and it’s just not your time to take calls. Of course, not ready, and ready are overridden in the instance of do not disturb or if you’re truly offline. Those are the two correct states of presence that that will be more effective when we need to route communication to users properly.
Q: Slight sidebar then if I can. If core engage is going to be able to tell if I’m ready because I am available away or busy on my calendar. What if I’m busy on a call? Is that a different state of busy?
A: Yes, that’s different. That’s where we can read Microsoft Teams status in conjunction with a ready state. Meaning we do know if the difference between ‘in a call’ and ‘busy’. If you are ‘in a call’, we know that you can’t take another call. We connect that with their ready state so as soon as you’re off that call if you’re ready, you can receive a call.
Q: What other pieces are built in to CoreEngage? This is a great start but let’s say we have several people in a department like HR (Human Resources) and the three recruiters are going out to lunch, so they need another individual in HR to take interactions that come in. CoreEngage allows them to step in until the recruiters come back and are ready to jump back in again.
A: Correct. Users no longer need to be an administrator and move someone in and out of a workgroup. Users can set themselves, in and out of those queues they are assigned, within Microsoft Teams with CoreEngage.
Q: Let’s take one more step ahead and talk about when that interaction comes in, whether it’s an SMS, email, web chat, phone call or whatever. Phone calls receive a pop up. They’re very ‘real time’. When the CoreEngage user receives one of these other modalities, it shows up in their queue and they pick out of the queue. Talk about the notification process and how CoreEngage aids the user in that interaction.
A: Let’s step back a little because you mentioned something that’s unique with CoreInteract and CoreEngage.
As we’ve talked about in past discussions, CoreInteract easily connects to Dynamics365 or other xRM tools and systems. One of the main sections of CoreEngage can happen as that communication comes in. The main area of the interface, again CoreEngage natively in Microsoft Teams, can Pop up and displayed information about that incoming communication if you have configured it.
For Example, with Dynamics365, we can, in real time, display available customer information, you can save notes, update records, update phone numbers, or etc.
If you don’t have a CRM, we’ve added in the ability use a customer contact database that’s built in if that’s something helpful. With this, database, the next time the person calls in, you are presented with the information the system has related to this person. This also includes a call disposition field.
We enable the ability to use our pop up or provide the customer the ability to connect to their Dynamics environment, for example, and customize/configure relevant customer information to display. Think about things like opening a support ticket or updating a ticket or whatever or viewing previous interactions.
If you opt to use the internal contact database and click on a previous interaction, we can show notes and basic information about previous interactions. Of course, if we tie that to a CRM, you can show way more information. So that’s an enormously powerful capability.
These are all displayed in the main area of the CoreEngage and presents this type of information for all modalities. As an example, let’s say a workgroup/queue receives an email to an Office 365 email that has been enabled for CoreInteract routing. The email is delivered to users of a workgroup, and they can accept it or reject it. When a user accepts the email, it is displayed, and they can read and reply in CoreEngage within teams. Users can add attachments, links, etc. This is the same with an SMS or a web chat and allows users to engage back and forth on text-based communication directly in CoreEngage in Microsoft Teams. It’s the same screen for all modalities in addition to voice calls.
CoreEngage helps users to avoid context switching which robs them of productivity. We’re putting multiple modalities of communication right into Microsoft Teams on the same screen.
Q: Are there other functions or capabilities of CoreEngage?
A: We also have a tab across the top of the application that allows you to view the history of your conversations. With permissions, users can also see the history of everybody in their workgroup, for example.
From a feature standpoint, there’s no concept of a group voicemail in Microsoft Teams. We’ve added the concept of a group voicemail by using Azure and bots and, and created the concept a of a shared voicemail box that’s not tied to a Microsoft Teams account or something that’s complex where you need share permissions to the account, etc. In this case, we’ve created workgroup voicemail that stores voicemails in Azure. The CoreEngage client includes a voicemail tab that will show all voicemails that you have permissions to see and all your workgroups. Users can listen to those voicemails, see who left them, see who listened to them last, download the voicemail, export them or whatever you want. You can also read or download the transcriptions. So that’s all in the same interface so you don’t have to.
Q: Do these emails show as Read or Unread? Can you mark them in some way, so everybody knows that a voicemail is still needs to be handled or whatever?
A: Yes, new voicemails will be marked as read or unread like email where it’s bold for unread or not bold if it’s been read. There is also an indication of who listened to it last.
We will likely add a future enhancement for voicemail assignments where a voicemail can be assigned to a user, and it would show up in their feed. They would then be able to assign a disposition to it.
One other feature is the ability to view the active calls for the workgroups you are participating in as well as some CRM information about their current interaction. You can see your workgroup and your peers allowing you to see if they’re on a call. You can view their ready state, so you can answer questions like, “why am I taking all the calls today?” You’ll be able to see why and who’s not taking their fair share of calls. This is useful in some cases because our focus for CoreInteract and CoreEngage is enterprise users meaning we’re not focused just on the contact center.
Let me explain the difference. If you are a larger corporate or enterprise customer, and you can utilize CoreInteract and CoreEngage for certain departments or groups of users such as taking calls for finance. There’s not necessarily a requirement to supply a ton of major call center metrics. You’re just wanting to enable one workgroup to answer calls, and we’re trying to give you more information and why isn’t everybody in finance taking calls when a user feels like they are doing everything.
With future phases, we are going to enhance CoreEngage with what I’ll call an agent upgrade. The agent upgrade is what takes it from a workgroup view. To a queue view meaning now it’s important to me to know how many calls are in queue, who’s in queue, how long have they been waiting in queue, etc. It will give users the ability to pull an interaction from a queue while monitoring my response time and those types of call center metrics.
Currently, we are providing this functionality to users outside of the call center. We’ve separated these capabilities because sometimes contact center is just too much for many workgroups and they don’t need all the heavy contact center metrics and all those things. However, if you wanted to replace your contact center with CoreEngage at some point, we will provide this upgrade to provide the added functionality around the queue and contact center. The focus is currently around the workgroup and a user’s peers where the next release will be focused on call queues and metrics.
Q: Can someone deploy CoreInteract in an organization and have some workgroups use CoreEngage and others utilize the agent upgrade, that you mentioned, while others in the organization use just Teams calling. This really allows different workgroups to decide the capabilities and features their workgroup needs. Correct?
A: Yes, exactly right. You may have a finance department that just needs to distribute their four or five people. If someone is on a call, they may want others to have the ability to take calls. You might may also have a customer service team that is more incentivized based on performance.
Each group can decide if it makes sense for them to use CoreEngage without the agent upgrade and the other one could use the agent upgrade for their workgroup, and then some people may just be happy with to have their department on Microsoft call queues, and that’s fine. Customers have all options, across the board, to use the components that work best for their team.
Q: Just to cover the bases here, these solutions work with Microsoft Calling Plans, Operator Connect or Direct Routing. It doesn’t matter how the call gets to the user.
A: Correct, while we’re designing things for enterprise customers, smaller organizations can benefit from these solutions too. We’re not excluding them if there is a need.
If a group has inbounded only requirements, meaning that maybe a user doesn’t need to have outbound dialing capability from Microsoft Teams, but they still need to participate in receiving calls. You don’t even need a voice license, to participate in CoreInteract workgroup. If you’re merely receiving phone calls. Maybe it’s not your main phone system or whatever. Users can participate without a voice license.
Q: Interesting and I guess we should briefly mention pulling Dynamics CRM data doesn’t require a Dynamics license either. I know we talked about this before in much more detail. But for pulling up that dynamics data it doesn’t require a license from the Dynamics CRM side, correct? Because it’s pulling through an API.
A: Correct. However, it depends on the CRM or system we’re pulling data from. For Dynamics, you can get away with the API account that’s pulling the relevant data unless you were to embed a Dynamics screen in the pop up. This would require a login. Also, some CRM systems require a named login for some things or a certain level of subscription to get access to the API’s. Salesforce, for example requires you to have at least the Enterprise subscription.
Q: What else do you think is important to discuss today regarding CoreEngage, CoreInteract or other pieces?
A: I think the most important thing to understand about CoreEngage is we are adding features and functionality that enterprise organizations or more complex scenarios were missing from Microsoft Teams base offerings. Particularly the Omni-Channel components that add modalities. There’s a need for an interface to bring these interactions into Microsoft Teams. What we’re focused on is bringing Microsoft Teams to more customers and more users within a customer. That’s a key reason we’re building CoreEngage and CoreInteract. Again, CoreEngage is currently providing the client interface, and as noted we’ll be adding the agent functionality shortly. The Agent upgrade will add a tab to show performance, stats and call volumes and things like that.
Let’s also touch on a supervisor, who may or may not take calls. If they do take calls from time to time, CoreEngage will work great for them because there is no need to sign in out of workgroups. If they don’t take calls but need the ability to see what their team(s) is/are doing, we’ll be releasing a supervisor component called Workgroup Insights.
Workgroup Insights is a separate Microsoft Teams app that will be the home for the supervisors to watch what’s going on, as well as future functionality to monitor calls and other supervisor functions.
With CoreEngage, some features that are interesting to consider include some things like call center features, AI capabilities and some other things as we embed conversational AI and things into the platform. The key point for CoreEngage is that a client or a home is needed display all that relevant information in a single app or single screen, inside of teams, for all modalities of communication and that’s CoreEngage.
Q: Excellent and that follows along with Satya Nadella’s view of Microsoft Teams as well. As you know, he recently said, at Microsoft Inspire last year, was something to the effect of, Teams is the place people will go to get work done. We are enabling vision so people can stay within teams and not have to switch context to other apps. It can all be done truly inside of teams.
A: Yes. In one of our previous discussions around CoreInteract, we talked a lot about it being native to Microsoft Teams. We talked a lot about the CoreInteract working with Calling Plans and Direct Routing where Microsoft Teams is the PBX. It’s the engines, the voice platform. That’s one half of “native”. The other half of native is exactly what Satya spoke about, which is you’re going to get your work done in teams. So, on one aspect, Teams is the engine for CoreInteract to do the routing for voice and such and now it’s the receiving end as well as the client interface. So, in both aspects were native and that’s rare. That’s exceedingly rare that an application is both native to the back end and native to the front of the Microsoft Teams.
Q: I think we’re good for today, Mark, unless you had anything else you thought you might want to add.
A: No, that’s it. I think we’ve talked about a lot of things for people to think about.
Q: Great, thank you for your time! I know we cram a lot of information into these sessions. I appreciate it!