Search

US-20260129124-A1 - UPDATING A USER PROFILE AND ROUTING AN INCOMING VOICE CALL BASED ON END USER DATA

US20260129124A1US 20260129124 A1US20260129124 A1US 20260129124A1US-20260129124-A1

Abstract

An indication of an incoming voice call from a first telephone number associated with an end user device and to a second telephone number associated with a client organization of the software as a service (SaaS) platform is received at a SaaS platform. Responsive to receiving the indication of the incoming voice call, end user data associated with the first telephone number is identified. A first communication service, among a plurality of communication services, is identified based on an evaluation of the end user data in view of one or more first conditions defined by the client organization. The incoming voice call is routed to the first communication service.

Inventors

  • Christer Fahlgren
  • Srikanth Subramanian
  • Doo San Baik
  • Dipesh Chauhan
  • Austin Park

Assignees

  • TWILIO INC

Dates

Publication Date
20260507
Application Date
20241105

Claims (20)

  1. 1 . A method, comprising: receiving, at a software as a service (SaaS) platform, an indication of an incoming voice call from a first telephone number associated with an end user device and to a second telephone number associated with a client organization of the SaaS platform; responsive to receiving the indication of the incoming voice call, identifying end user data associated with the first telephone number; identifying, among a plurality of communication services, a first communication service based on an evaluation of the end user data in view of one or more first conditions defined by the client organization; and routing the incoming voice call to the first communication service.
  2. 2 . The method of claim 1 , wherein the plurality of communication services comprises two or more of an interactive voice response (IVR) service, a virtual artificial intelligence (AI) assistant service, or a human agent service.
  3. 3 . The method of claim 1 , wherein the first communication service comprises an interactive voice response service, wherein routing the incoming voice call to the first communication service comprises: transferring the incoming voice call to the interactive voice response service; and providing the end user data to the interactive voice response service, the interactive voice response service configured to execute interactive voice logic configured by the client organization and based at least in part on the end user data.
  4. 4 . The method of claim 1 , wherein the first communication service comprises a human agent service, wherein the evaluation of the end user data in view of the one or more first conditions defined by the client organization indicates the incoming voice call is to be escalated to the human agent service rather than an IVR service.
  5. 5 . The method of claim 1 , wherein identifying the end user data associated with the telephone number comprises: identifying, among a plurality of end user data associated with the telephone number, a subset of end user data based on one or more second conditions defined by the client organization, wherein identifying, among the plurality of communication services, the first communication service is based on an evaluation of the subset of end user data.
  6. 6 . The method of claim 1 , further comprising: subsequent to routing the incoming voice call to the first communication service, identifying additional end user data related to the incoming voice call; and updating a client profile based on the additional end user data, wherein the client profile is associated the end user data.
  7. 7 . The method of claim 6 , wherein identifying the additional end user data, comprises: receiving an indication of content of the incoming voice call; and performing sentiment analysis of the indication of content of the incoming voice call to determine a sentiment of the incoming voice call, wherein the client profile is updated with an indication of the sentiment of the incoming voice call.
  8. 8 . The method of claim 6 , further comprising: calculating a metric based at least in part on the additional end user data related to the incoming voice call, wherein the client profile is updated with an indication of the calculated metric.
  9. 9 . The method of claim 1 , further comprising: sending, via one or more application programming interface (API) calls), a plurality of requests for portions of the end user data to a plurality of databases associated the client organization; receiving a plurality of responses corresponding to the plurality of requests, each of the plurality of responses identifying a respective portion of the end user data; and prior to receiving the incoming voice call, storing the portions of the end user data at a data store associated with the SaaS platform.
  10. 10 . A system, comprising: a memory device; and a processing device, coupled to the memory device, configured to perform operations comprising: receiving, at the processing device of a software as a service (SaaS) platform, an indication of an incoming voice call from a first telephone number associated with an end user device and to a second telephone number associated with a client organization of the SaaS platform; responsive to receiving the indication of the incoming voice call, identifying end user data associated with the first telephone number; identifying, among a plurality of communication services, a first communication service based on an evaluation of the end user data in view of one or more first conditions defined by the client organization; and routing the incoming voice call to the first communication service.
  11. 11 . The system of claim 10 , wherein the plurality of communication services comprises two or more of an interactive voice response (IVR) service, a virtual artificial intelligence (AI) assistant service, or a human agent service.
  12. 12 . The system of claim 10 , wherein the first communication service comprises an interactive voice response service, wherein routing the incoming voice call to the first communication service comprises: transferring the incoming voice call to the interactive voice response service; and providing the end user data to the interactive voice response service, the interactive voice response service configured to execute interactive voice logic configured by the client organization and based at least in part on the end user data.
  13. 13 . The system of claim 10 , wherein the first communication service comprises a human agent service, wherein the evaluation of the end user data in view of the one or more first conditions defined by the client organization indicates the incoming voice call is to be escalated to the human agent service rather than an IVR service.
  14. 14 . The system of claim 10 , wherein identifying the end user data associated with the telephone number comprises: identifying, among a plurality of end user data associated with the telephone number, a subset of end user data based on one or more second conditions defined by the client organization, wherein identifying, among the plurality of communication services, the first communication service is based on an evaluation of the subset of end user data.
  15. 15 . The system of claim 10 , the operations further comprising: subsequent to routing the incoming voice call to the first communication service, identifying additional end user data related to the incoming voice call; and updating a client profile based on the additional end user data, wherein the client profile is associated the end user data.
  16. 16 . The system of claim 15 , wherein identifying the additional end user data, comprises: receiving an indication of content of the incoming voice call; and performing sentiment analysis of the indication of content of the incoming voice call to determine a sentiment of the incoming voice call, wherein the client profile is updated with an indication of the sentiment of the incoming voice call.
  17. 17 . The system of claim 15 , the operations further comprising: calculating a metric based at least in part on the additional end user data related to the incoming voice call, wherein the client profile is updated with an indication of the calculated metric.
  18. 18 . The system of claim 10 , the operations further comprising: sending, via one or more application programming interface (API) calls), a plurality of requests for portions of the end user data to a plurality of databases associated the client organization; receiving a plurality of responses corresponding to the plurality of requests, each of the plurality of responses identifying a respective portion of the end user data; and prior to receiving the incoming voice call, storing the portions of the end user data at a data store associated with the SaaS platform.
  19. 19 . A non-transitory computer-readable medium comprising instructions that, responsive to execution by a processing device, cause the processing device to perform operations comprising: receiving, at the processing device of a software as a service (SaaS) platform, an indication of an incoming voice call from a first telephone number associated with an end user device and to a second telephone number associated with a client organization of the SaaS platform; responsive to receiving the indication of the incoming voice call, identifying end user data associated with the first telephone number; identifying, among a plurality of communication services, a first communication service based on an evaluation of the end user data in view of one or more first conditions defined by the client organization; and routing the incoming voice call to the first communication service.
  20. 20 . The non-transitory computer-readable medium of claim 19 , wherein the plurality of communication services comprises two or more of an interactive voice response (IVR) service, a virtual artificial intelligence (AI) assistant service, or a human agent service.

Description

TECHNICAL FIELD Aspects and embodiments of the disclosure relate to computer software, and more specifically, to systems and methods for routing an incoming voice call and/or updating a user profile based on end user data. BACKGROUND Voice calls can involve the transmission of audio data over a network, typically utilizing Voice over IP (VoIP) and/or traditional Public Switched Telephone Network (PSTN) systems. In VoIP, voice data is converted into digital packets and transmitted over IP networks, while PSTN relies on circuit-switched technology. Routing voice calls to voice services, such as automated response systems, call centers, or voicemail, involves directing the call through a series of network nodes, gateways, and servers. BRIEF DESCRIPTION OF THE DRAWINGS Aspects and embodiments of the disclosure will be understood more fully from the detailed description given below and from the accompanying drawings of various aspects and embodiments of the disclosure, which, however, should not be taken to limit the disclosure to the specific aspects or embodiments, but are for explanation and understanding. FIG. 1 illustrates an example system architecture, in accordance with some embodiments of the disclosure. FIG. 2 illustrates an example system architecture used for routing a communication and updating a user profile, in accordance with some embodiments of the disclosure. FIG. 3 illustrates a sequence diagram of routing a communication and updating a user profile, in accordance with embodiments of the disclosure. FIG. 4 depicts a flow diagram of an example method for routing an incoming communication and updating a user profile based on end user data, in accordance with some embodiments of the disclosure. FIG. 5 is a block diagram illustrating an exemplary computer system, in accordance with some embodiments of the disclosure. DETAILED DESCRIPTION A communication services platform, such as a Software as a Service (SaaS) platform, can offer various communication services to users. For example, a SaaS platform can offer messaging service tools that facilitate messaging conversations, e.g., the sending and/or receiving of messages, such as SMS messages, MMS messages, and/or IM messages, to and from devices via various communication channels. A communication channel can refer to a form of communication that uses one or more of a particular protocol, a particular underlying technology or is provided by a particular entity (e.g., third-party entity). Different communication channels can refer to different forms of communication that can use one or more of different communication protocols, different underlying technologies (e.g., SMS vs IP), or are provided by different entities, such as a third-party entity, that offer services, software or hardware (or a combination thereof) through which messages can be exchanged between recipient devices. For instance, the SaaS platform may send a text message (e.g., SMS message) to a recipient device using a communication channel, such as a telecommunications carrier network or send an instant message to a recipient device using an IM communication channel (e.g., using an application programming interface (API) to communicate with the IM communication channel). Examples of channels can include Public Switched Telephone Network (PSTN) based channels such as SMS or MMS, Internet Protocol (IP) based channels, and proprietary channels (e.g., proprietary social media messaging applications). A SaaS platform can also offer communication services such as voice services that include routing inbound and outbound voice calls. In addition to routing voice calls, voice services and/or communication services generally can include transcription services, conference call services, recording services, interactive voice recognition (IVR) services, text-to-speech services, virtual artificial intelligence (AI) assistant services, human agent services, among others. For instance, the SaaS platform can provision telephone numbers to an organization (e.g., entity) and the provisioned telephone numbers can be assigned, often dynamically, to various user accounts of the organization. The organization may, via APIs, configure user-defined routing logic that can specify rules detailing how the SaaS platform is to route particular voice calls and/or execute particular voice services before, during, and/or after the voice calls. Clients of a SaaS platform may subscribe to one or more voice services that allow the clients, via client devices, to receive inbound voice calls from customers (e.g., customers of the client) and place outbound voice calls to customers. The inbound and outbound voice calls can be orchestrated by the SaaS platform such that to establish the voice call between the client device and customer device a connection between the SaaS platform and the customer device is established and a connection between the SaaS platform and the client device is also established. With the numerous co