IP Library Granted Patent US 11,042,707
Granted Patent B2
US 11,042,707 · App. 16/232,730 · Granted Jun 22, 2021

Conversational interface for APIs

Inventor: Antonio Garrote (London, GB)
Assignee: Mulesoft, LLC
G06F40/30G06F40/295
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,042,707
App. No.
16/232,730
Granted
Jun 22, 2021
Kind
B2
Abstract

This disclosure relates to a mechanism to create conversational agents from API specifications based on domain-specific inputs. The conversational agents may provide the functionalities exposed by the underlying API to users engaging with the conversational agent. Thus, the user may execute actions exposed by the API specification using natural language in a conversational, comfortable, and familiar fashion.

Claims (46)

1. A method, comprising:

retrieving, by one or more processors, semantic annotations and an API specification that describes capabilities exposed by an API and specifies one or more API endpoints, one or more operations, data shapes for requests and responses, and input parameters;

forming, by the one or more processors, a semantic data graph that represents a plurality of entities connected by relations in a specific domain by combining the API specification, the semantic annotations, and a domain model, wherein the domain model defines concepts, taxonomies, properties and the relations within the specific domain, wherein each entity in the plurality of entities is accessible as an API endpoint among the one or more API endpoints, and wherein the relations between the plurality of entities in the semantic data graph are mapped to the one or more operations; and

building, by the one or more processors, a conversational agent using the semantic data graph, wherein the conversational agent receives a natural language query from a user, translates the natural language query to the one or more operations exposed by the API, determines a response, and provides the response to the user.

2. The method of claim 1 , further comprising:

determining, by the one or more processors, an endpoint reference in the one or more API endpoints and an operation in the one or more operations based on the natural language query using the conversational agent;

causing, by the one or more processors, the operation to execute at the endpoint reference;

receiving, by the one or more processors, a result of the execution; and

providing, by the one or more processors, the result in the response.

3. The method of claim 1 , further comprising:

determining, by the one or more processors, an ambiguity in the natural language; and

formulating, by the one or more processors, a follow-up question based on the semantic data graph using the conversational agent.

4. The method of claim 1 , wherein the conversational agent is a personal digital assistant.

5. The method of claim 1 , wherein the conversational agent is embedded in a social media platform.

6. The method of claim 1 , wherein the conversational agent is an internet-of-things device.

7. A system, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

retrieve semantic annotations and an API specification that describes capabilities exposed by an API and specifies one or more API endpoints, one or more operations, data shapes for requests and responses, and input parameters;

form a semantic data graph that represents a plurality of entities connected by relations in a specific domain by combining the API specification, the semantic annotations, and a domain model, wherein the domain model defines concepts, taxonomies, properties, and the relations within the specific domain, wherein each entity in the plurality of entities is accessible as an API endpoint among the one or more API endpoints, and wherein the relations between the plurality of entities in the semantic data graph are mapped to the one or more operations; and

build a conversational agent using the semantic data graph, wherein the conversational agent receives a natural language query from a user, translates the natural lanquaqe query to the one or more operations exposed by the API, determines a response, and provides the response to the user.

8. The system of claim 7 , the at least one processor further configured to:

determine an endpoint reference in the one or more API endpoints and an operation in the one or more operations based on the natural language query using the conversational agent;

cause the operation to execute at the endpoint reference;

receive a result of the execution; and

provide the result in the response.

9. The system of claim 7 , the at least one processor further configured to:

determine an ambiguity in the natural language; and

formulate a follow-up question based on the semantic data graph using the conversational agent.

10. The system of claim 7 , wherein the conversational agent is a personal digital assistant.

11. The system of claim 7 , wherein the conversational agent is embedded in a social media platform.

12. The system of claim 7 , wherein the conversational agent is an internet-of-things device.

13. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:

retrieving semantic annotations and an API specification that describes capabilities exposed by an API and specifies one or more API endpoints, one or more operations, data shapes for requests and responses, and input parameters;

forming a semantic data graph that represents a plurality of entities connected by relations in a specific domain by combining the API specification, the semantic annotations, and a domain model, wherein the domain model defines concepts, taxonomies, properties, and the relations within the specific domain, wherein each entity in the plurality of entities is accessible as an API endpoint among the one or more API endpoints, and wherein the relations between the plurality of entities in the semantic data graph are mapped to the one or more operations; and

building a conversational agent using the semantic data graph, wherein the conversational agent receives a natural language query from a user, translates the natural language query to the one or more operations by the API, determines a response, and provides the response to the user.

14. The non-transitory computer-readable device of claim 13 , the operations further comprising:

determining an endpoint reference in the one or more API endpoints and an operation in the one or more operations based on the natural language query using the conversational agent;

causing the operation to execute at the endpoint reference;

receiving a result of the execution; and

providing the result in the response.

15. The non-transitory computer-readable device of claim 13 , the operations further comprising:

determining an ambiguity in the natural language; and

formulating a follow-up question based on the semantic data graph using the conversational agent.

16. The non-transitory computer-readable device of claim 13 , wherein the conversational agent is a personal digital assistant.

17. The non-transitory computer-readable device of claim 13 , wherein the conversational agent is embedded in a social media platform.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2025
From: MULESOFT, LLC
To: SALESFORCE, INC.
Reel/Frame 070454/0704 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2019
From: GARROTE, ANTONIO
To: MULESOFT, LLC
Reel/Frame 049708/0463 →
Continuity (2)
Provisional Application 62609698 · Dec 22, 2017
Related Publication 20190197111A1 · Jun 27, 2019