2 new releases to help you build multiple versions of your agents and in more languages

May 22, 2018

During Google I/O, we introduced a plethora of new features for Dialogflow, announced that we now have over half a million developers (woot!) using the product, and demoed how to build a bike shop agent in 20 minutes.

On the heels of these events, today we’re also launching a new versioning/environments beta and 20 system entities for 9 languages.

New versions and environments feature BETA

One of the top feedback we hear from developers is the capability for versioning and environments โ€“ and now it’s available! Our new versions and environments beta allows you to create multiple versions of your agent, so that you can build, test and deploy in separate, customizable environments (such as development, testing or production). With this feature, you can maintain one version of your agent in production and another in testing, perform quality assurance on specific features, and publish different versions to different integrations.

Dialogflow Versioning and Environments UI

For Actions on Google developers, it’s easy to use publish versions of your Dialogflow agent to the Action Console’s new release environments. Learn how versioning works with the Google Assistant integration.

System entities now available for 9 languages

System entities are provided by Dialogflow and used to recognize common yet important things your users say to your agent. We currently have over 50 system entities in English that recognize concepts such as dates, time, geography, currency, and units.

As of today, 20 of these entities are now available for the following languages:

  • Hindi
  • Thai
  • Indonesian
  • Korean
  • Norwegian
  • Swedish
  • Dutch
  • Danish
  • Brazilian Portuguese

To learn more about entities, check out this short video tutorial from Dan, our team’s developer advocate.

As always, let us know in the help forum if you have any questions or feedback about versioning, environments, or system entities. And join our Google+ community to see what some of our developers are building with Dialogflow.

Posted by Mary Chen, Product Marketing Manager





Kicking off I/O โ€˜18 with new & improved features

May 8, 2018

Today, we’re kicking off our 2nd year at Google I/O with lots of feature releases to help you build conversational experiences faster and smarter. See them at this Thursday’s I/O talk (which will be livestreamed) and come chat with us at the Google Assistant Sandbox if you’re attending the festivities!

Get started faster with new onboarding resources

New to Dialogflow? Watch our 3-part ‘Basics of Dialogflow’ video series to learn core Dialogflow concepts such as intents, entities, contexts and fulfillment.

And for those eager to start building, quickly import one of nine fully functional Dialogflow samples, complete with fulfillment code. Click on the ‘Add to Dialogflow’ button below to try out Temperature Trivia, which demonstrates how easy it is to build an Action for the Google Assistant using Dialogflow:

Temperature Trivia
Temperature Trivia

Debug using more insights and diagnostics

As developers ourselves, we know how important it is to detect errors and to receive specific and actionable help towards resolving them. The history tool has been redesigned to cleanly display conversations between your users and your agent, and flag places where your agent was unable to match an intent. It also links to diagnostics via our new Google Stackdriver Logging integration so you can easily diagnose and quickly fix issues.

history UI

We’ve also expanded the diagnostic information shown in the test console, so you can see the raw request being sent to your fulfillment webhook and the response that your webhook sends back.

diagnostics UI

Improve NLU quality by training with negative examples

We’ve heard your feedback! Developers have been asking for our natural language understanding to ignore certain phrases that mistrigger unwanted intents. You can now improve your agent’s precision by adding negative examples as training phrases for fallback intents.

negative examples
By providing the negative example 'Buy bus ticket to San Francisco' in the Default Fallback Intent, a purchase intent will not be matched to this inquiry if the agent only sells flight tickets.

Build to more Google Assistant surfaces and environments

As mentioned on the Google Developers blog, Actions will soon be available on new Smart Displays. You can start building for these visually rich surfaces in your Dialogflow console. We’ve launched support for tables, and will be adding more multimodal options in the upcoming months.

Google Assistant Table Card UI

Also announced is the ability to test your Action with groups of users before launching publicly. See how these new release environments in the Actions Console work with your Dialogflow agents. (For all other platforms, you can also try the beta release of Dialogflow versions and environments.)

Try these out

Go ahead and give these features a try! Drop by our developer community to share your feedback, subscribe to future news & updates, and follow us on Twitter. To see what others have built, check out our case studies with KLM Royal Dutch Airlines, Domino’s and Ticketmaster.

Posted by Artem Goncharuk, Engineering Lead





Dialogflow API V2 and Enterprise Edition are now generally available

April 17, 2018

Back in November 2017, we introduced two beta releases:

  1. Dialogflow API V2: the next iteration of our developer API
  2. Dialogflow Enterprise Edition: our new enterprise offering

Starting today, both releases are out of beta and generally available. If you’re currently using API V1, take note of important migration information.

Dialogflow API V2

Our API V2 now serves as the default API for all new Dialogflow agents, and all new feature upgrades will only be released for API V2. We built API V2 on Google infrastructure and incorporated the best of Google’s machine learning. Some of API V2’s benefits include Google Cloud Speech-to-Text integration, agent management, and gRPC support.

To assist with your API V2 development, we’ve updated our 7 client libraries, including Node.js, Java, and Python. We’ve also published a fulfillment library for Node.js that simplifies building webhooks, along with JSON request and response samples for use in any environment.

Dialogflow Enterprise Edition

Dialogflow Enterprise Edition, which is built on API V2, comes with Google Cloud Platform’s support and Service Level Agreement (SLA). For users that need enterprise support, check out our Enterprise blog post for more details.

Migration from API V1 to V2

We recommend that all existing agents and existing code be migrated from Dialogflow API V1 to V2, which is our most stable release. This V1 โ†’ V2 migration guide can be used as a reference. If youโ€™re using the Actions on Google client library, migrate to version 2, which is compatible with Dialogflow API V2 and offers many additional improvements.

Stay updated with our news

In addition to today’s announcements, we’re planning a lot of new features for I/O 2018. Make sure to subscribe to our blog and follow us on Twitter, Facebook, and Google+ to stay informed!

Posted by Daniel Imrie-Situnayake, Developer Relations and Mary Chen, Product Marketing





Introducing Session Flow for visualizing conversations in Analytics

March 20, 2018

Nine months ago, we introduced the Analytics dashboard in Dialogflow to help you monitor your agent’s performance around session traffic and intent usage. Today, we’re launching a new feature in Analytics called Session Flow, an interactive visualization that maps the most common user journeys of your agent across all platforms.

session flow screenshot

The new Session Flow report can help you answer questions to improve the user experience and increase overall usage of your agent, such as:

  • Which journeys are most and least common?
  • When do exits occur across user journeys?
  • What do transitions across intents look like in conversations?

Best Buy Canada uses Session Flow to decrease its Dialogflow agent’s exit rate by 10%

Best Buy Canada uses Session Flow to better understand how users of its order-status bot journey through different intents, which intents are most popular, and where exits occur. The company also relies on this feature when running experiments to analyze how changes to its bot would affect the overall user experience. Recently, Best Buy Canada found that the exit rate for its search intent decreased by 10% after updating its fallback intent to better handle failed product searches.

Try it out

Head over to your Dialogflow console to try out Session Flow. We hope that the new feature helps you improve the user experience and increase overall usage of your agent. We’re continually working with Chatbase, the cloud service for more easily analyzing and optimizing bots, on expanding the Analytics dashboard to help you monitor and improve agent performance.

Refer to the docs for more information about interpreting Analytics and as always, let us know in our help forum if you have any questions or feedback.

Posted by Justin Kestelyn, Chatbase PMM





Introducing Dialogflow's Node.js Fulfillment Library Beta

March 15, 2018

Fulfillment is a powerful way to connect Dialogflow’s natural language capabilities with your own backend, APIs, and databases to create contextual, personalized and actionable conversational experiences for your users. Dialogflow developers are using fulfillment to allow their users to order items, retrieve user-specific information such as emails, and control devices like a photobooth. Today, we’re simplifying Node.js fulfillment development with the beta release of the Dialogflow Fulfillment Library.

The new fulfillment library works seamlessly with text, card, image and suggestion responses across v1 and v2 agents, 8 chat and voice platforms, as well as Dialogflow’s own simulator. The library also supports custom payloads, which are platform-specific responses, for all 14 Dialogflow-supported platforms. It includes an integration with the new Actions on Google client library to easily create responses for the Google Assistant. Read on to see how you can use the Dialogflow Fulfillment Library to build agents across platforms and languages, and integrate with platforms like the Google Assistant.

Cross-platform responses

The fulfillment library supports text, card, image, and suggestion chip responses for Dialogflow’s simulator and these 8 platforms: the Google Assistant, Facebook, Slack, Telegram, Kik, Skype, Line, and Viber. See how to add text, card, and suggestions with the code below and what the responses look like on the Google Assistant, Dialogflow’s simulator, Slack, and Facebook Messenger:

const functions = require('firebase-functions');
const {WebhookClient, Card, Suggestion} = require('dialogflow-fulfillment');

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((req, res) => {
  const agent = new WebhookClient({ req, res });
  
  function intentHandler(agent) {
    agent.add('This message is from Dialogflow\'s Cloud Functions for Firebase editor!');
    agent.add(new Card({
        title: 'Title: this is a card title',
        imageUrl: 'https://developers.google.com/actions/assistant.png',
        text: 'This is the body text of a card.  You can even use line\n  breaks and emoji! ๐Ÿ’',
        buttonText: 'This is a button',
        buttonUrl: 'https://assistant.google.com/'
      })
    );
    agent.add(new Suggestion('Quick Reply'));
    agent.add(new Suggestion('Suggestion'));
  }

  agent.handleRequest(intentHandler);
});

Copy and paste the above code into Dialogflow’s inline editor to try it now or check out the full quick start sample here.

Google Assistant Dialogflow's simulator
alt_text alt_text
Slack Facebook Messenger
alt_text alt_text

See the reference documentation for other rich response types, such as images.

Multilingual responses

You can also build multilingual and locale fulfillment using the locale attribute. See how to say hello in French or English depending on the language of the request with the code below:

const functions = require('firebase-functions');
const {WebhookClient, Card, Suggestion} = require('dialogflow-fulfillment');

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((req, res) => {
  const agent = new WebhookClient({ req, res });
  function welcome(agent) {   // English handler function & intent map
    agent.add('Welcome to my agent!');
  } 
  function bienvenue(agent) {  // French handler function & intent map
    agent.add('Bienvenue ร  mon agent!');
  }
  
  if (agent.locale === 'en') {
    agent.handleRequest(welcome);
  } else if (agent.locale === 'fr') {
    agent.handleRequest(bienvenue);
  }
});

Copy and paste the above code into Dialogflow’s inline editor to try it now or check out the full multilingual and locale sample here.

Custom payloads and the Google Assistant Integration

The fulfillment library supports custom payload responses, which are platform-specific features such as authentication and transactions used by Dialogflow-supported platforms. These payloads will be sent to the target platform in place of other messages defined in the library. The example below shows how to add custom JSON payloads for the Google Assistant and Slack:

agent.add(new Payload(agent.ACTIONS_ON_GOOGLE, {/*your Google payload here*/});
agent.add(new Payload(agent.SLACK, {/*your Slack payload here*/});

Dialogflow’s fulfillment library also has an integration with the Google Assistant using Actions on Google’s v2 alpha client library. This integration enables creation of custom Actions on Google payloads through the Actions on Google v2 client library. Here is an example of how to ask for the user’s location through the Google Assistant:

const functions = require('firebase-functions');
const {WebhookClient, Card, Suggestion} = require('dialogflow-fulfillment');
const {Permission} = require('actions-on-google');

exports.dialogflowFirebaseFulfillment = functions.https.onRequest((req, res) => {
  const agent = new WebhookClient({ req, res });

  function intentHandler(agent) {
    let conv = agent.conv();
    conv.ask(new Permission({
      context: 'To give results in your area',
      permissions: 'DEVICE_PRECISE_LOCATION',
    }))
    agent.add(conv);
  }

  agent.handleRequest(intentHandler);
});

Copy and paste the above code into Dialogflow’s inline editor to try it now or check out the full Actions on Google sample here.

Next steps

Check out the Dialogflow fulfillment library on Github and npm, along with our quick start sample and getting started guide to get up and running today. Send us feedback, feature requests or bugs by opening an issue on GitHub.

We’ll be discussing the library, your feedback and feature requests on Dialogflow’s Google+ community. We look forward to hearing from you and seeing what you build with the Dialogflow fulfillment library!

Posted by Matt Carroll, Dialogflow Developer Relations





Subscribe Via Email

Enter your email address:

Delivered by FeedBurner

About

Welcome to the Dialogflow blog. Subscribe to get product updates, best practices, and tutorials directly in your inbox.

Resources

Follow us on social