MLchartDataset catalogue

Patent · US10855625B1 · B1 · US

Intelligent, adaptable, and trainable bot that orchestrates automation and workflows across multiple applications

(11) Publication number
US10855625B1
(21) Application number
15/593,247
(22) Filing date
2017-05-11
(30) Priority date
2016-05-11
(43) Publication date
2020-12-01
(45) Date of grant
2020-12-01
(51) IPC
G06F 15/16; G06F 9/50; G06N 20/00; H04L 12/58; H04L 29/08
(52) CPC
  • H04L Transmission of digital information, e.g. telegraphic communication: 51/02, 51/18, 67/10
  • G06F Electric digital data processing: 9/50, 9/541, 9/542
  • G06N Computing arrangements based on specific computational models: 20/00
(73) Assignee
Workato Inc
(72) Inventors
Gautham Viswanathan; Harish Shetty; Bhaskar Roy; Konstantin Tikhonov; Alexey Pikin
(54) Title
Intelligent, adaptable, and trainable bot that orchestrates automation and workflows across multiple applications
(57) Abstract

The present disclosure relates to an intelligent, adaptable, and trainable bot that orchestrates automation, event data integration, and application programming interfaces across multiple applications. The technology may include receiving event data describing events from distributed software applications and processing the event data describing the events to generate notifications, the event data being received based on execution of a software recipe. The bot may transmit the notifications for display to a user using a conversational interface and receive a command from the user via the conversational interface, the command including a requested operation respective to at least one delivered notification. In response to receiving the command, the method may generate recommendations for additional commands respective to the at least one notification based on metadata associated with an event corresponding to the at least one notification.

Full text
View on Google Patents

Claims (20)

  1. A computer-implemented method for automated event data integration, comprising: receiving, by one or more processors, event data describing one or more events from one or more distributed software applications coupled to the one or more processors by a network, the event data being received based on execution of one or more software recipes, the event data including metadata associated with the one or more events, the one or more software recipes comprising code including a trigger and one or more actions relating to the one or more distributed software applications; processing, by the one or more processors, the event data describing the one or more events to generate one or more notifications; transmitting, by the one or more processors, the one or more notifications for display to a user using a conversational interface; receiving, by the one or more processors, a command from the user via the conversational interface, the command including a requested operation respective to at least one notification of the one or more notifications; in response to receiving the command from the user, generating, by the one or more processors, recommendations for additional commands respective to the at least one notification based on the received command and metadata associated with an event corresponding to the at least one notification, the metadata associated with the one or more events received in the event data including the metadata associated with the event upon which the recommendations for additional commands are generated; and transmitting, by the one or more processors, the recommendations for additional commands to the user via the conversational interface.
  2. The computer-implemented method of claim 1, wherein the recommendations for additional commands utilize data delivered in the one or more notifications.
  3. The computer-implemented method of claim 1, wherein generating the recommendations for the additional commands includes matching metadata of an event associated with the one or more notifications against available software recipes, the available software recipes including at least one software recipe of the one or more software recipes that is currently active and is associated with the user.
  4. The computer-implemented method of claim 1, wherein the one or more notifications include an object identifier associated with the one or more events and the metadata describes the object identifier, the object identifier causing the one or more processors to retrieve a corresponding data object describing the one or more events, and an input into the one or more software recipes includes the object identifier.
  5. The computer-implemented method of claim 1, wherein generating the recommendations for the additional commands includes ranking recommendations based on a defined ranking criterion.
  6. The computer-implemented method of claim 5, wherein ranking recommendations is performed by a machine learning algorithm based on recommendations that have been accepted previously by the user and the defined ranking criterion includes a threshold acceptance rate.
  7. The computer-implemented method of claim 1, wherein processing the event data describing the one or more events to generate the one or more notifications includes filtering the one or more events based on defined filtering criteria.
  8. The computer-implemented method of claim 7, wherein the defined filtering criteria are defined based on a notification command customized to the user, the notification command causing the one or more processors to generate a filtered subset of data specific to the user and the one or more events, the filtered subset of data being included in the one or more notifications.
  9. The computer-implemented method of claim 7, further comprising generating suggested filtering criteria based on object identifiers included in the metadata, the object identifiers identifying one or more data objects describing the one or more events.
  10. A system comprising: one or more processors; and a non-transitory memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: receive event data describing one or more events from one or more distributed software applications coupled to the one or more processors by a network, the event data being received based on execution of one or more software recipes, the event data including metadata associated with the one or more events, the one or more software recipes comprising code including a trigger and one or more actions relating to the one or more distributed software applications; process the event data describing the one or more events to generate one or more notifications; transmit the one or more notifications for display to a user using a conversational interface; receive a command from the user via the conversational interface, the command including a requested operation respective to at least one notification of the one or more notifications; in response to receiving the command from the user, generate recommendations for additional commands respective to the at least one notification based on the received command and metadata associated with an event corresponding to the at least one notification, the metadata associated with the one or more events received in the event data including the metadata associated with the event upon which the recommendations for additional commands are generated; and transmit the recommendations for additional commands to the user via the conversational interface.
  11. The system of claim 10, wherein the recommendations for additional commands utilize data delivered in the one or more notifications.
  12. The system of claim 10, wherein generating the recommendations for the additional commands includes matching metadata of an event associated with the one or more notifications against available software recipes, the available software recipes including at least one software recipe of the one or more software recipes that is currently active and is associated with the user.
  13. The system of claim 10, wherein the one or more notifications include an object identifier associated with the one or more events and the metadata describes the object identifier, the object identifier causing the system to retrieve a corresponding data object describing the one or more events, and an input into the one or more software recipes includes the object identifier.
  14. The system of claim 10, wherein generating the recommendations for the additional commands includes ranking possible recommendations based on a defined ranking criterion.
  15. The system of claim 14, wherein ranking possible recommendations is performed by a machine learning algorithm based on recommendations that have been accepted previously by the user and the defined ranking criterion includes a threshold acceptance rate.
  16. The system of claim 10, wherein processing the event data describing the one or more events to generate the one or more notifications includes filtering the one or more events based on defined filtering criteria.
  17. The system of claim 16, wherein the defined filtering criteria are defined based on a notification command customized to the user, the notification command causing the one or more processors to generate a filtered subset of data specific to the user and the one or more events, the filtered subset of data being included in the one or more notifications.
  18. The system of claim 16, wherein the instructions further cause the one or more processors to generate suggested filtering criteria based on object identifiers included in the metadata, the object identifiers identifying one or more data objects describing the one or more events.
  19. A method, comprising: receiving, by one or more processors, event data describing one or more events from one or more distributed software applications coupled to the one or more processors by a network, the event data being received based on execution of one or more software recipes, the event data including metadata associated with the one or more events, the one or more software recipes comprising code including a trigger and one or more actions relating to the one or more distributed software applications; filtering, by the one or more processors, the event data of the one or more events to generate one or more notifications based on defined filtering criteria specific to a user; transmitting, by the one or more processors, the one or more notifications for display to the user using a conversational interface; receiving, by the one or more processors, a command from the user via the conversational interface, the command including a requested operation respective to at least one notification of the one or more notifications; in response to receiving the command from the user, generating, by the one or more processors, recommendations for additional commands respective to the at least one notification based on the received command and metadata associated with an event corresponding to the at least one notification, the recommendations for additional commands using data delivered in the one or more notifications, the metadata associated with the one or more events received in the event data including the metadata associated with the event upon which the recommendations for additional commands are generated; and transmitting, by the one or more processors, the recommendations for additional commands to the user via the conversational interface.
  20. The method of claim 19, wherein the defined filtering criteria are defined based on a notification command customized to the user, the notification command causing the one or more processors to generate a filtered subset of data specific to the user and the one or more events, the filtered subset of data being included in the one or more notifications.

Description

The present disclosure relates to a customizable platform for integrating, processing, and using data using application programming interface recipes.

With the onset of the Internet economy, numerous (e.g., hundreds, thousands, etc.) companies have developed online platforms providing all types of different functionalities and services to their end users. These third-party applications range from consumer applications, such as social media, photo sharing, money management, messaging, and entertainment platforms, to business and enterprise software as a service (SaaS) offerings, such as customer relationship management (CRM) platforms, enterprise resource planning (ERP) platforms, workplace collaboration platforms, financial and billing platforms, human resource management platforms, analytics platforms, etc.

A software application can access the computing services offered by these third-party applications using application programming interfaces (APIs) exposed by these platforms. In most cases, the APIs are accessible using standardized access protocols (e.g., SOAP, REST, CORBA, ICE, etc.). These APIs include software methods for accessing the various functionalities of the applications, as well as data retrieval methods for accessing information about the APIs, objects, object types, and other aspects of the applications. The APIs generally require users have the requisite permission and authenticate using standard authentication routines (OpenID, OAuth, various proprietary authorization protocols, etc.).

Citations (32)

  • US6640238B1
  • US20040199445A1
  • US20030028498A1
  • US20130185081A1
  • US20160277312A1
  • US9658901B2
  • US20120266258A1
  • US20130124449A1
  • US9111219B1
  • US20190324886A1
  • US20150082277A1
  • US20150163179A1
  • US20150248226A1
  • US20170180499A1
  • US20160063993A1
  • US20160085810A1
  • US20160092210A1
  • US20160105308A1
  • US9811394B1
  • US20160112394A1
  • US20160124742A1
  • US20160217391A1
  • US20190220774A1
  • US20160285816A1
  • US20160378450A1
  • US20170085445A1
  • US20180307945A1
  • US20180357047A1
  • US20170316387A1
  • US20170324867A1
  • US20170324868A1
  • US20180121828A1
Record as JSON
{
  "publication_number": "US10855625B1",
  "country": "US",
  "kind": "B1",
  "title": "Intelligent, adaptable, and trainable bot that orchestrates automation and workflows across multiple applications",
  "abstract": "The present disclosure relates to an intelligent, adaptable, and trainable bot that orchestrates automation, event data integration, and application programming interfaces across multiple applications. The technology may include receiving event data describing events from distributed software applications and processing the event data describing the events to generate notifications, the event data being received based on execution of a software recipe. The bot may transmit the notifications for display to a user using a conversational interface and receive a command from the user via the conversational interface, the command including a requested operation respective to at least one delivered notification. In response to receiving the command, the method may generate recommendations for additional commands respective to the at least one notification based on metadata associated with an event corresponding to the at least one notification.",
  "claims": [
    "1. A computer-implemented method for automated event data integration, comprising: receiving, by one or more processors, event data describing one or more events from one or more distributed software applications coupled to the one or more processors by a network, the event data being received based on execution of one or more software recipes, the event data including metadata associated with the one or more events, the one or more software recipes comprising code including a trigger and one or more actions relating to the one or more distributed software applications; processing, by the one or more processors, the event data describing the one or more events to generate one or more notifications; transmitting, by the one or more processors, the one or more notifications for display to a user using a conversational interface; receiving, by the one or more processors, a command from the user via the conversational interface, the command including a requested operation respective to at least one notification of the one or more notifications; in response to receiving the command from the user, generating, by the one or more processors, recommendations for additional commands respective to the at least one notification based on the received command and metadata associated with an event corresponding to the at least one notification, the metadata associated with the one or more events received in the event data including the metadata associated with the event upon which the recommendations for additional commands are generated; and transmitting, by the one or more processors, the recommendations for additional commands to the user via the conversational interface.",
    "2. The computer-implemented method of claim 1, wherein the recommendations for additional commands utilize data delivered in the one or more notifications.",
    "3. The computer-implemented method of claim 1, wherein generating the recommendations for the additional commands includes matching metadata of an event associated with the one or more notifications against available software recipes, the available software recipes including at least one software recipe of the one or more software recipes that is currently active and is associated with the user.",
    "4. The computer-implemented method of claim 1, wherein the one or more notifications include an object identifier associated with the one or more events and the metadata describes the object identifier, the object identifier causing the one or more processors to retrieve a corresponding data object describing the one or more events, and an input into the one or more software recipes includes the object identifier.",
    "5. The computer-implemented method of claim 1, wherein generating the recommendations for the additional commands includes ranking recommendations based on a defined ranking criterion.",
    "6. The computer-implemented method of claim 5, wherein ranking recommendations is performed by a machine learning algorithm based on recommendations that have been accepted previously by the user and the defined ranking criterion includes a threshold acceptance rate.",
    "7. The computer-implemented method of claim 1, wherein processing the event data describing the one or more events to generate the one or more notifications includes filtering the one or more events based on defined filtering criteria.",
    "8. The computer-implemented method of claim 7, wherein the defined filtering criteria are defined based on a notification command customized to the user, the notification command causing the one or more processors to generate a filtered subset of data specific to the user and the one or more events, the filtered subset of data being included in the one or more notifications.",
    "9. The computer-implemented method of claim 7, further comprising generating suggested filtering criteria based on object identifiers included in the metadata, the object identifiers identifying one or more data objects describing the one or more events.",
    "10. A system comprising: one or more processors; and a non-transitory memory storing instructions that, when executed by the one or more processors, cause the one or more processors to: receive event data describing one or more events from one or more distributed software applications coupled to the one or more processors by a network, the event data being received based on execution of one or more software recipes, the event data including metadata associated with the one or more events, the one or more software recipes comprising code including a trigger and one or more actions relating to the one or more distributed software applications; process the event data describing the one or more events to generate one or more notifications; transmit the one or more notifications for display to a user using a conversational interface; receive a command from the user via the conversational interface, the command including a requested operation respective to at least one notification of the one or more notifications; in response to receiving the command from the user, generate recommendations for additional commands respective to the at least one notification based on the received command and metadata associated with an event corresponding to the at least one notification, the metadata associated with the one or more events received in the event data including the metadata associated with the event upon which the recommendations for additional commands are generated; and transmit the recommendations for additional commands to the user via the conversational interface.",
    "11. The system of claim 10, wherein the recommendations for additional commands utilize data delivered in the one or more notifications.",
    "12. The system of claim 10, wherein generating the recommendations for the additional commands includes matching metadata of an event associated with the one or more notifications against available software recipes, the available software recipes including at least one software recipe of the one or more software recipes that is currently active and is associated with the user.",
    "13. The system of claim 10, wherein the one or more notifications include an object identifier associated with the one or more events and the metadata describes the object identifier, the object identifier causing the system to retrieve a corresponding data object describing the one or more events, and an input into the one or more software recipes includes the object identifier.",
    "14. The system of claim 10, wherein generating the recommendations for the additional commands includes ranking possible recommendations based on a defined ranking criterion.",
    "15. The system of claim 14, wherein ranking possible recommendations is performed by a machine learning algorithm based on recommendations that have been accepted previously by the user and the defined ranking criterion includes a threshold acceptance rate.",
    "16. The system of claim 10, wherein processing the event data describing the one or more events to generate the one or more notifications includes filtering the one or more events based on defined filtering criteria.",
    "17. The system of claim 16, wherein the defined filtering criteria are defined based on a notification command customized to the user, the notification command causing the one or more processors to generate a filtered subset of data specific to the user and the one or more events, the filtered subset of data being included in the one or more notifications.",
    "18. The system of claim 16, wherein the instructions further cause the one or more processors to generate suggested filtering criteria based on object identifiers included in the metadata, the object identifiers identifying one or more data objects describing the one or more events.",
    "19. A method, comprising: receiving, by one or more processors, event data describing one or more events from one or more distributed software applications coupled to the one or more processors by a network, the event data being received based on execution of one or more software recipes, the event data including metadata associated with the one or more events, the one or more software recipes comprising code including a trigger and one or more actions relating to the one or more distributed software applications; filtering, by the one or more processors, the event data of the one or more events to generate one or more notifications based on defined filtering criteria specific to a user; transmitting, by the one or more processors, the one or more notifications for display to the user using a conversational interface; receiving, by the one or more processors, a command from the user via the conversational interface, the command including a requested operation respective to at least one notification of the one or more notifications; in response to receiving the command from the user, generating, by the one or more processors, recommendations for additional commands respective to the at least one notification based on the received command and metadata associated with an event corresponding to the at least one notification, the recommendations for additional commands using data delivered in the one or more notifications, the metadata associated with the one or more events received in the event data including the metadata associated with the event upon which the recommendations for additional commands are generated; and transmitting, by the one or more processors, the recommendations for additional commands to the user via the conversational interface.",
    "20. The method of claim 19, wherein the defined filtering criteria are defined based on a notification command customized to the user, the notification command causing the one or more processors to generate a filtered subset of data specific to the user and the one or more events, the filtered subset of data being included in the one or more notifications."
  ],
  "description_excerpt": "The present disclosure relates to a customizable platform for integrating, processing, and using data using application programming interface recipes.\n\nWith the onset of the Internet economy, numerous (e.g., hundreds, thousands, etc.) companies have developed online platforms providing all types of different functionalities and services to their end users. These third-party applications range from consumer applications, such as social media, photo sharing, money management, messaging, and entertainment platforms, to business and enterprise software as a service (SaaS) offerings, such as customer relationship management (CRM) platforms, enterprise resource planning (ERP) platforms, workplace collaboration platforms, financial and billing platforms, human resource management platforms, analytics platforms, etc.\n\nA software application can access the computing services offered by these third-party applications using application programming interfaces (APIs) exposed by these platforms. In most cases, the APIs are accessible using standardized access protocols (e.g., SOAP, REST, CORBA, ICE, etc.). These APIs include software methods for accessing the various functionalities of the applications, as well as data retrieval methods for accessing information about the APIs, objects, object types, and other aspects of the applications. The APIs generally require users have the requisite permission and authenticate using standard authentication routines (OpenID, OAuth, various proprietary authorization protocols, etc.).",
  "cpc": [
    "H04L 51/02",
    "G06F 9/50",
    "G06F 9/541",
    "G06F 9/542",
    "G06N 20/00",
    "H04L 51/18",
    "H04L 67/10"
  ],
  "ipc": [
    "G06F 15/16",
    "G06F 9/50",
    "G06N 20/00",
    "H04L 12/58",
    "H04L 29/08"
  ],
  "assignees": [
    "Workato Inc"
  ],
  "inventors": [
    "Gautham Viswanathan",
    "Harish Shetty",
    "Bhaskar Roy",
    "Konstantin Tikhonov",
    "Alexey Pikin"
  ],
  "filing_date": "2017-05-11",
  "publication_date": "2020-12-01",
  "grant_date": "2020-12-01",
  "priority_date": "2016-05-11",
  "application_number": "US-201715593247-A",
  "family_id": "73554930",
  "cited_by_count": 18,
  "citations": [
    "US6640238B1",
    "US20040199445A1",
    "US20030028498A1",
    "US20130185081A1",
    "US20160277312A1",
    "US9658901B2",
    "US20120266258A1",
    "US20130124449A1",
    "US9111219B1",
    "US20190324886A1",
    "US20150082277A1",
    "US20150163179A1",
    "US20150248226A1",
    "US20170180499A1",
    "US20160063993A1",
    "US20160085810A1",
    "US20160092210A1",
    "US20160105308A1",
    "US9811394B1",
    "US20160112394A1",
    "US20160124742A1",
    "US20160217391A1",
    "US20190220774A1",
    "US20160285816A1",
    "US20160378450A1",
    "US20170085445A1",
    "US20180307945A1",
    "US20180357047A1",
    "US20170316387A1",
    "US20170324867A1",
    "US20170324868A1",
    "US20180121828A1"
  ]
}

Record 1,873 of 8,000 in Patents full text (MLC-0201). Request the full dataset.