Dialogflow CX API: Node.js Client

release levelnpm version

Cx client for Node.js

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

Read more about the client libraries for Cloud APIs, including the olderGoogle APIs Client Libraries, inClient 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 CX API API.
  4. Set up authentication with a service account so you can access theAPI from your local workstation.

Installing the client library

npm install @google-cloud/dialogflow-cx

Using the client library

/** * TODO(developer): Uncomment these variables before running the sample. */// const projectId = 'my-project';// const location = 'global';// const agentId = 'my-agent';// const audioFileName = '/path/to/audio.raw';// const encoding = 'AUDIO_ENCODING_LINEAR_16';// const sampleRateHertz = 16000;// const languageCode = 'en'// Imports the Google Cloud Some API libraryconst {SessionsClient} = require('@google-cloud/dialogflow-cx');/** * Example for regional endpoint: *   const location = 'us-central1' *   const client = new SessionsClient({apiEndpoint: 'us-central1-dialogflow.googleapis.com'}) */const client = newSessionsClient();const fs = require('fs');const util = require('util');// Assumes uuid module has been installed from npm,// npm i uuid:const {v4} = require('uuid');async function detectIntentAudio() {  const sessionId = v4();  const sessionPath = client.projectLocationAgentSessionPath(    projectId,    location,    agentId,    sessionId  );  // Read the content of the audio file and send it as part of the request.  const readFile = util.promisify(fs.readFile);  const inputAudio = await readFile(audioFileName);  const request = {    session: sessionPath,    queryInput: {      audio: {        config: {          audioEncoding: encoding,          sampleRateHertz: sampleRateHertz,        },        audio: inputAudio,      },      languageCode,    },  };  const [response] = await client.detectIntent(request);  console.log(`User Query: ${response.queryResult.transcript}`);  for (const message of response.queryResult.responseMessages) {    if (message.text) {      console.log(`Agent Response: ${message.text.text}`);    }  }  if (response.queryResult.match.intent) {    console.log(      `Matched Intent: ${response.queryResult.match.intent.displayName}`    );  }  console.log(    `Current Page: ${response.queryResult.currentPage.displayName}`  );}detectIntentAudio();

Samples

Samples are in thesamples/ directory. Each sample'sREADME.md has instructions for running its sample.

SampleSource CodeTry it
Agents.create_agentsource codeOpen in Cloud Shell
Agents.delete_agentsource codeOpen in Cloud Shell
Agents.export_agentsource codeOpen in Cloud Shell
Agents.get_agentsource codeOpen in Cloud Shell
Agents.get_agent_validation_resultsource codeOpen in Cloud Shell
Agents.get_generative_settingssource codeOpen in Cloud Shell
Agents.list_agentssource codeOpen in Cloud Shell
Agents.restore_agentsource codeOpen in Cloud Shell
Agents.update_agentsource codeOpen in Cloud Shell
Agents.update_generative_settingssource codeOpen in Cloud Shell
Agents.validate_agentsource codeOpen in Cloud Shell
Changelogs.get_changelogsource codeOpen in Cloud Shell
Changelogs.list_changelogssource codeOpen in Cloud Shell
Deployments.get_deploymentsource codeOpen in Cloud Shell
Deployments.list_deploymentssource codeOpen in Cloud Shell
Entity_types.create_entity_typesource codeOpen in Cloud Shell
Entity_types.delete_entity_typesource codeOpen in Cloud Shell
Entity_types.get_entity_typesource codeOpen in Cloud Shell
Entity_types.list_entity_typessource codeOpen in Cloud Shell
Entity_types.update_entity_typesource codeOpen in Cloud Shell
Environments.create_environmentsource codeOpen in Cloud Shell
Environments.delete_environmentsource codeOpen in Cloud Shell
Environments.deploy_flowsource codeOpen in Cloud Shell
Environments.get_environmentsource codeOpen in Cloud Shell
Environments.list_continuous_test_resultssource codeOpen in Cloud Shell
Environments.list_environmentssource codeOpen in Cloud Shell
Environments.lookup_environment_historysource codeOpen in Cloud Shell
Environments.run_continuous_testsource codeOpen in Cloud Shell
Environments.update_environmentsource codeOpen in Cloud Shell
Experiments.create_experimentsource codeOpen in Cloud Shell
Experiments.delete_experimentsource codeOpen in Cloud Shell
Experiments.get_experimentsource codeOpen in Cloud Shell
Experiments.list_experimentssource codeOpen in Cloud Shell
Experiments.start_experimentsource codeOpen in Cloud Shell
Experiments.stop_experimentsource codeOpen in Cloud Shell
Experiments.update_experimentsource codeOpen in Cloud Shell
Flows.create_flowsource codeOpen in Cloud Shell
Flows.delete_flowsource codeOpen in Cloud Shell
Flows.export_flowsource codeOpen in Cloud Shell
Flows.get_flowsource codeOpen in Cloud Shell
Flows.get_flow_validation_resultsource codeOpen in Cloud Shell
Flows.import_flowsource codeOpen in Cloud Shell
Flows.list_flowssource codeOpen in Cloud Shell
Flows.train_flowsource codeOpen in Cloud Shell
Flows.update_flowsource codeOpen in Cloud Shell
Flows.validate_flowsource codeOpen in Cloud Shell
Generators.create_generatorsource codeOpen in Cloud Shell
Generators.delete_generatorsource codeOpen in Cloud Shell
Generators.get_generatorsource codeOpen in Cloud Shell
Generators.list_generatorssource codeOpen in Cloud Shell
Generators.update_generatorsource codeOpen in Cloud Shell
Intents.create_intentsource codeOpen in Cloud Shell
Intents.delete_intentsource codeOpen in Cloud Shell
Intents.export_intentssource codeOpen in Cloud Shell
Intents.get_intentsource codeOpen in Cloud Shell
Intents.import_intentssource codeOpen in Cloud Shell
Intents.list_intentssource codeOpen in Cloud Shell
Intents.update_intentsource codeOpen in Cloud Shell
Pages.create_pagesource codeOpen in Cloud Shell
Pages.delete_pagesource codeOpen in Cloud Shell
Pages.get_pagesource codeOpen in Cloud Shell
Pages.list_pagessource codeOpen in Cloud Shell
Pages.update_pagesource codeOpen in Cloud Shell
Security_settings_service.create_security_settingssource codeOpen in Cloud Shell
Security_settings_service.delete_security_settingssource codeOpen in Cloud Shell
Security_settings_service.get_security_settingssource codeOpen in Cloud Shell
Security_settings_service.list_security_settingssource codeOpen in Cloud Shell
Security_settings_service.update_security_settingssource codeOpen in Cloud Shell
Session_entity_types.create_session_entity_typesource codeOpen in Cloud Shell
Session_entity_types.delete_session_entity_typesource codeOpen in Cloud Shell
Session_entity_types.get_session_entity_typesource codeOpen in Cloud Shell
Session_entity_types.list_session_entity_typessource codeOpen in Cloud Shell
Session_entity_types.update_session_entity_typesource codeOpen in Cloud Shell
Sessions.detect_intentsource codeOpen in Cloud Shell
Sessions.fulfill_intentsource codeOpen in Cloud Shell
Sessions.match_intentsource codeOpen in Cloud Shell
Sessions.streaming_detect_intentsource codeOpen in Cloud Shell
Sessions.submit_answer_feedbacksource codeOpen in Cloud Shell
Test_cases.batch_delete_test_casessource codeOpen in Cloud Shell
Test_cases.batch_run_test_casessource codeOpen in Cloud Shell
Test_cases.calculate_coveragesource codeOpen in Cloud Shell
Test_cases.create_test_casesource codeOpen in Cloud Shell
Test_cases.export_test_casessource codeOpen in Cloud Shell
Test_cases.get_test_casesource codeOpen in Cloud Shell
Test_cases.get_test_case_resultsource codeOpen in Cloud Shell
Test_cases.import_test_casessource codeOpen in Cloud Shell
Test_cases.list_test_case_resultssource codeOpen in Cloud Shell
Test_cases.list_test_casessource codeOpen in Cloud Shell
Test_cases.run_test_casesource codeOpen in Cloud Shell
Test_cases.update_test_casesource codeOpen in Cloud Shell
Transition_route_groups.create_transition_route_groupsource codeOpen in Cloud Shell
Transition_route_groups.delete_transition_route_groupsource codeOpen in Cloud Shell
Transition_route_groups.get_transition_route_groupsource codeOpen in Cloud Shell
Transition_route_groups.list_transition_route_groupssource codeOpen in Cloud Shell
Transition_route_groups.update_transition_route_groupsource codeOpen in Cloud Shell
Versions.compare_versionssource codeOpen in Cloud Shell
Versions.create_versionsource codeOpen in Cloud Shell
Versions.delete_versionsource codeOpen in Cloud Shell
Versions.get_versionsource codeOpen in Cloud Shell
Versions.list_versionssource codeOpen in Cloud Shell
Versions.load_versionsource codeOpen in Cloud Shell
Versions.update_versionsource codeOpen in Cloud Shell
Webhooks.create_webhooksource codeOpen in Cloud Shell
Webhooks.delete_webhooksource codeOpen in Cloud Shell
Webhooks.get_webhooksource codeOpen in Cloud Shell
Webhooks.list_webhookssource codeOpen in Cloud Shell
Webhooks.update_webhooksource codeOpen in Cloud Shell
Agents.create_agentsource codeOpen in Cloud Shell
Agents.delete_agentsource codeOpen in Cloud Shell
Agents.export_agentsource codeOpen in Cloud Shell
Agents.get_agentsource codeOpen in Cloud Shell
Agents.get_agent_validation_resultsource codeOpen in Cloud Shell
Agents.get_generative_settingssource codeOpen in Cloud Shell
Agents.list_agentssource codeOpen in Cloud Shell
Agents.restore_agentsource codeOpen in Cloud Shell
Agents.update_agentsource codeOpen in Cloud Shell
Agents.update_generative_settingssource codeOpen in Cloud Shell
Agents.validate_agentsource codeOpen in Cloud Shell
Changelogs.get_changelogsource codeOpen in Cloud Shell
Changelogs.list_changelogssource codeOpen in Cloud Shell
Deployments.get_deploymentsource codeOpen in Cloud Shell
Deployments.list_deploymentssource codeOpen in Cloud Shell
Entity_types.create_entity_typesource codeOpen in Cloud Shell
Entity_types.delete_entity_typesource codeOpen in Cloud Shell
Entity_types.get_entity_typesource codeOpen in Cloud Shell
Entity_types.list_entity_typessource codeOpen in Cloud Shell
Entity_types.update_entity_typesource codeOpen in Cloud Shell
Environments.create_environmentsource codeOpen in Cloud Shell
Environments.delete_environmentsource codeOpen in Cloud Shell
Environments.deploy_flowsource codeOpen in Cloud Shell
Environments.get_environmentsource codeOpen in Cloud Shell
Environments.list_continuous_test_resultssource codeOpen in Cloud Shell
Environments.list_environmentssource codeOpen in Cloud Shell
Environments.lookup_environment_historysource codeOpen in Cloud Shell
Environments.run_continuous_testsource codeOpen in Cloud Shell
Environments.update_environmentsource codeOpen in Cloud Shell
Experiments.create_experimentsource codeOpen in Cloud Shell
Experiments.delete_experimentsource codeOpen in Cloud Shell
Experiments.get_experimentsource codeOpen in Cloud Shell
Experiments.list_experimentssource codeOpen in Cloud Shell
Experiments.start_experimentsource codeOpen in Cloud Shell
Experiments.stop_experimentsource codeOpen in Cloud Shell
Experiments.update_experimentsource codeOpen in Cloud Shell
Flows.create_flowsource codeOpen in Cloud Shell
Flows.delete_flowsource codeOpen in Cloud Shell
Flows.export_flowsource codeOpen in Cloud Shell
Flows.get_flowsource codeOpen in Cloud Shell
Flows.get_flow_validation_resultsource codeOpen in Cloud Shell
Flows.import_flowsource codeOpen in Cloud Shell
Flows.list_flowssource codeOpen in Cloud Shell
Flows.train_flowsource codeOpen in Cloud Shell
Flows.update_flowsource codeOpen in Cloud Shell
Flows.validate_flowsource codeOpen in Cloud Shell
Generators.create_generatorsource codeOpen in Cloud Shell
Generators.delete_generatorsource codeOpen in Cloud Shell
Generators.get_generatorsource codeOpen in Cloud Shell
Generators.list_generatorssource codeOpen in Cloud Shell
Generators.update_generatorsource codeOpen in Cloud Shell
Intents.create_intentsource codeOpen in Cloud Shell
Intents.delete_intentsource codeOpen in Cloud Shell
Intents.export_intentssource codeOpen in Cloud Shell
Intents.get_intentsource codeOpen in Cloud Shell
Intents.import_intentssource codeOpen in Cloud Shell
Intents.list_intentssource codeOpen in Cloud Shell
Intents.update_intentsource codeOpen in Cloud Shell
Pages.create_pagesource codeOpen in Cloud Shell
Pages.delete_pagesource codeOpen in Cloud Shell
Pages.get_pagesource codeOpen in Cloud Shell
Pages.list_pagessource codeOpen in Cloud Shell
Pages.update_pagesource codeOpen in Cloud Shell
Security_settings_service.create_security_settingssource codeOpen in Cloud Shell
Security_settings_service.delete_security_settingssource codeOpen in Cloud Shell
Security_settings_service.get_security_settingssource codeOpen in Cloud Shell
Security_settings_service.list_security_settingssource codeOpen in Cloud Shell
Security_settings_service.update_security_settingssource codeOpen in Cloud Shell
Session_entity_types.create_session_entity_typesource codeOpen in Cloud Shell
Session_entity_types.delete_session_entity_typesource codeOpen in Cloud Shell
Session_entity_types.get_session_entity_typesource codeOpen in Cloud Shell
Session_entity_types.list_session_entity_typessource codeOpen in Cloud Shell
Session_entity_types.update_session_entity_typesource codeOpen in Cloud Shell
Sessions.detect_intentsource codeOpen in Cloud Shell
Sessions.fulfill_intentsource codeOpen in Cloud Shell
Sessions.match_intentsource codeOpen in Cloud Shell
Sessions.streaming_detect_intentsource codeOpen in Cloud Shell
Sessions.submit_answer_feedbacksource codeOpen in Cloud Shell
Test_cases.batch_delete_test_casessource codeOpen in Cloud Shell
Test_cases.batch_run_test_casessource codeOpen in Cloud Shell
Test_cases.calculate_coveragesource codeOpen in Cloud Shell
Test_cases.create_test_casesource codeOpen in Cloud Shell
Test_cases.export_test_casessource codeOpen in Cloud Shell
Test_cases.get_test_casesource codeOpen in Cloud Shell
Test_cases.get_test_case_resultsource codeOpen in Cloud Shell
Test_cases.import_test_casessource codeOpen in Cloud Shell
Test_cases.list_test_case_resultssource codeOpen in Cloud Shell
Test_cases.list_test_casessource codeOpen in Cloud Shell
Test_cases.run_test_casesource codeOpen in Cloud Shell
Test_cases.update_test_casesource codeOpen in Cloud Shell
Transition_route_groups.create_transition_route_groupsource codeOpen in Cloud Shell
Transition_route_groups.delete_transition_route_groupsource codeOpen in Cloud Shell
Transition_route_groups.get_transition_route_groupsource codeOpen in Cloud Shell
Transition_route_groups.list_transition_route_groupssource codeOpen in Cloud Shell
Transition_route_groups.update_transition_route_groupsource codeOpen in Cloud Shell
Versions.compare_versionssource codeOpen in Cloud Shell
Versions.create_versionsource codeOpen in Cloud Shell
Versions.delete_versionsource codeOpen in Cloud Shell
Versions.get_versionsource codeOpen in Cloud Shell
Versions.list_versionssource codeOpen in Cloud Shell
Versions.load_versionsource codeOpen in Cloud Shell
Versions.update_versionsource codeOpen in Cloud Shell
Webhooks.create_webhooksource codeOpen in Cloud Shell
Webhooks.delete_webhooksource codeOpen in Cloud Shell
Webhooks.get_webhooksource codeOpen in Cloud Shell
Webhooks.list_webhookssource codeOpen in Cloud Shell
Webhooks.update_webhooksource codeOpen in Cloud Shell
Quickstartsource codeOpen in Cloud Shell

TheDialogflow CX API Node.js Client API Reference documentationalso contains samples.

Supported Node.js Versions

Our client libraries follow theNode.js release schedule.Libraries are compatible with all currentactive andmaintenance versions ofNode.js.If you are using an end-of-life version of Node.js, we recommend that you updateas soon as possible to an actively supported LTS version.

Google's client libraries support legacy versions of Node.js runtimes on abest-efforts basis with the following warnings:

  • Legacy versions are not tested in continuous integration.
  • Some security patches and features cannot be backported.
  • Dependencies cannot be kept up-to-date.

Client libraries targeting some end-of-life versions of Node.js are available, andcan be installed through npmdist-tags.The dist-tags follow the naming conventionlegacy-(version).For example,npm install @google-cloud/dialogflow-cx@legacy-8 installs client librariesfor versions compatible with Node.js 8.

Versioning

This library followsSemantic Versioning.

This library is considered to bestable. The code surface will not change in backwards-incompatible waysunless absolutely necessary (e.g. because of critical security issues) or withan extensive deprecation period. Issues and requests againststable librariesare addressed with the highest priority.

More Information:Google Cloud Platform Launch Stages

Contributing

Contributions welcome! See theContributing Guide.

Please note that thisREADME.md, thesamples/README.md,and a variety of configuration files in this repository (including.nycrc andtsconfig.json)are generated from a central template. To edit one of these files, make an editto its templates indirectory.

License

Apache Version 2.0

SeeLICENSE

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-01-30 UTC.