Dialogflow API: Node.js Client
IMPORTANT NOTE
Version 2.0.0 renames dialogflow
to @google-cloud/dialogflow
on npm, along with introducing TypeScript types.
Dialogflow API client for Node.js
- Dialogflow API Node.js Client API Reference
- Dialogflow API Documentation
- github.com/googleapis/nodejs-dialogflow
Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in Client Libraries Explained .
Table of contents:
Quickstart
Before you begin
- Select or create a Cloud Platform project .
- Enable billing for your project .
- Enable the Dialogflow API .
- Set up authentication with a service account so you can access the API from your local workstation.
Installing the client library
npm install @google-cloud/dialogflow
Using the client library
const dialogflow = require(' @google-cloud/dialogflow
');
const uuid = require('uuid');
/**
* Send a query to the dialogflow agent, and return the query result.
* @param {string} projectId The project to be used
*/
async function runSample(projectId = 'your-project-id') {
// A unique identifier for the given session
const sessionId = uuid.v4();
// Create a new session
const sessionClient = new dialogflow. SessionsClient
();
const sessionPath = sessionClient.projectAgentSessionPath(projectId, sessionId);
// The text query request.
const request = {
session: sessionPath,
queryInput: {
text: {
// The query to send to the dialogflow agent
text: 'hello',
// The language used by the client (en-US)
languageCode: 'en-US',
},
},
};
// Send request and log result
const responses = await sessionClient.detectIntent(request);
console.log('Detected intent');
const result = responses[0].queryResult;
console.log(` Query: ${result.queryText}`);
console.log(` Response: ${result.fulfillmentText}`);
if (result.intent) {
console.log(` Intent: ${result.intent.displayName}`);
} else {
console.log(` No intent matched.`);
}
}
Samples
Samples are in the samples/
directory. The samples' README.md
has instructions for running the samples.
Sample | Source Code | Try it |
---|---|---|
Detect Intent (Text)
|
source code | ![]() |
Create Knowledge Base
|
source code | ![]() |
Get Knowledge Base
|
source code | ![]() |
list Knowledge Base
|
source code | ![]() |
list Knowledge Base
|
source code | ![]() |
create Document
|
source code | ![]() |
list Documents
|
source code | ![]() |
Get Document
|
source code | ![]() |
delete Document
|
source code | ![]() |
detect Intent with sentiment analysis
|
source code | ![]() |
detect Intent with text-to-speech response
|
source code | ![]() |
detect Intent with Knowledge Base
|
source code | ![]() |
Detect Intent (Audio)
|
source code | ![]() |
Detect Intent (Streaming)
|
source code | ![]() |
Create Entity
|
source code | ![]() |
Delete Entity
|
source code | ![]() |
Create Intent
|
source code | ![]() |
Delete Intent
|
source code | ![]() |
Create Context
|
source code | ![]() |
Delete Context
|
source code | ![]() |
Create Session Entity Type
|
source code | ![]() |
Delete Session Entity Type
|
source code | ![]() |
The Dialogflow API Node.js Client API Reference documentation also contains samples.
Versioning
This library follows Semantic Versioning .
This library is considered to be General Availability (GA). This means it is stable; the code surface will not change in backwards-incompatible ways unless absolutely necessary (e.g. because of critical security issues) or with an extensive deprecation period. Issues and requests against GAlibraries are addressed with the highest priority.
More Information: Google Cloud Platform Launch Stages
Contributing
Contributions welcome! See the Contributing Guide .
License
Apache Version 2.0
See LICENSE