Dialogflow API: Node.js Client

release level npm version codecov

IMPORTANT NOTE

Version 2.0.0 renames dialogflow to @google-cloud/dialogflow on npm, along with introducing TypeScript types.

A comprehensive list of changes in each version may be found in the CHANGELOG .

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

  1. Select or create a Cloud Platform project .
  2. Enable billing for your project .
  3. Enable the Dialogflow API API .
  4. 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. Each sample's README.md has instructions for running its sample.

Sample Source Code Try it
Create-intent
source code Open in Cloud Shell
Detect-intent-TTS-response.v2
source code Open in Cloud Shell
Detect-intent-sentiment.v2
source code Open in Cloud Shell
Detect
source code Open in Cloud Shell
Detect.v2beta1
source code Open in Cloud Shell
List-intents
source code Open in Cloud Shell
Quickstart
source code Open in Cloud Shell
Resource
source code Open in Cloud Shell
Update-intent
source code Open in Cloud Shell

The Dialogflow API Node.js Client API Reference documentation also contains samples.

Supported Node.js Versions

Our client libraries follow the Node.js release schedule . Libraries are compatible with all current active and maintenance versions of Node.js.

Client libraries targeting some end-of-life versions of Node.js are available, and can be installed via npm dist-tags . The dist-tags follow the naming convention legacy-(version) .

Legacy Node.js versions are supported as a best effort:

  • Legacy versions will not be tested in continuous integration.
  • Some security patches may not be able to be backported.
  • Dependencies will not be kept up-to-date, and features will not be backported.

Legacy tags available

  • legacy-8 : install client libraries from this dist-tag for versions compatible with Node.js 8.

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 .

Please note that this README.md , the samples/README.md , and a variety of configuration files in this repository (including .nycrc and tsconfig.json ) are generated from a central template. To edit one of these files, make an edit to its templates in directory .

License

Apache Version 2.0

See LICENSE

Design a Mobile Site
View Site in Mobile | Classic
Share by: