<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Being Janis - Medium]]></title>
        <description><![CDATA[Janis is an AI Assistant that helps you integrate AI into your customer experiences and achieve your automation goals. - Medium]]></description>
        <link>https://medium.com/janis?source=rss----f77757888b04---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>Being Janis - Medium</title>
            <link>https://medium.com/janis?source=rss----f77757888b04---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 22:09:32 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/janis" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[The 4 Main Reasons Businesses Struggle To Integrate Conversational AI]]></title>
            <link>https://medium.com/janis/the-4-main-reasons-businesses-struggle-to-integrate-conversational-ai-5e0e4f065024?source=rss----f77757888b04---4</link>
            <guid isPermaLink="false">https://medium.com/p/5e0e4f065024</guid>
            <category><![CDATA[dialogflow]]></category>
            <category><![CDATA[nlp]]></category>
            <category><![CDATA[conversational-ai]]></category>
            <category><![CDATA[chatbots]]></category>
            <category><![CDATA[naturallanguageprocessing]]></category>
            <dc:creator><![CDATA[Josh Barkin]]></dc:creator>
            <pubDate>Fri, 16 Sep 2022 19:44:34 GMT</pubDate>
            <atom:updated>2022-09-16T19:44:34.470Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ne3YFxAZdlt7avXg-kOi7A.png" /></figure><h3>4 Main Reasons Business Struggle To Integrate Conversational AI</h3><p>Most businesses have no idea how to integrate AI into their customer experiences, but having processed more than a billion messages with <a href="http://janis.ai/">Janis.ai</a>, here is my explanation as to why and where businesses struggle:</p><p><strong>1️⃣ Not Enough Data</strong><br>Conversational AI is only as good as your data. Businesses have historical data, but it’s not always easy to access. It’s often siloed in transcript databases, email, social, or even non-documented customer conversations. If you can access an archive of past customer transcripts, that’s a great starting point, or use pre-trained language models as a baseline. If you start with a blank canvas, that’s a huge barrier to experiencing value from the technology.</p><p><strong>2️⃣ Too Much Data</strong><br>You need a good amount of data, but you need a good variety of examples that all mean the same thing. You can use tools to cluster the data you can access, but your data is going to very raw with a lot of noise and redundancy. Business need to filter out, or eliminate noise from raw conversational data otherwise it just adds cognitive overhead to the whole process. Extract useful clusters of data that machines can work with easily to understand the intent of a customer when they send a message.</p><p><strong>3️⃣ Human Resource Problems</strong><br>You need humans to train AI with data, but why are Developers or Data Scientists tasked with training AI? They don’t own the customer experience. Why are the people that own the customer experience alienated from the technology that will automate the voice of their brand? Introducing automation to conversations can be transformative for a brand, so ensure multiple participants are active in the process and aligned to plans and goals. Many businesses don’t have enough people involved, or the right people involved, or useful tools that can empower cross-functional collaboration on an AI integration.</p><p><strong>4️⃣ Overthinking The Automation Experience</strong><br>Spend too much time on creating a language model up front (This also ties into the “Too Much Data” problem) and you’re trying to do too much. You don’t need to automate everything. Determine where you’ll get the most value out of the technology and focus on one use-case first. FAQ’s are an easy starting point, because those are repetitive interactions. Later on, add in other scenarios. Don’t try and create deep conversational funnels/flows. Conversations take different, unexpected paths, and if you over-design a conversational experience, expecting things to just “flow”, the more likely your customer will break your design which will only frustrate your customer. Segment key customer interactions worth automating into buckets (book a flight, check order status, etc.) and keep those automated experiences to the point and delightful.</p><p><em>If you liked this article, please share it. Also, Janis.ai offers </em><a href="https://www.janis.ai/dialogflow-templates/index.html"><em>Dialogflow templates</em></a><em> that can accelerate your path to delightful automation using Google’s Natural Language Processing technology, or our Professional Services group can hand craft a Dialogflow template specifically for your business and use case.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5e0e4f065024" width="1" height="1" alt=""><hr><p><a href="https://medium.com/janis/the-4-main-reasons-businesses-struggle-to-integrate-conversational-ai-5e0e4f065024">The 4 Main Reasons Businesses Struggle To Integrate Conversational AI</a> was originally published in <a href="https://medium.com/janis">Being Janis</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Our Biggest Janis Update Yet…]]></title>
            <link>https://medium.com/janis/our-biggest-janis-update-yet-4fffd4a79f4?source=rss----f77757888b04---4</link>
            <guid isPermaLink="false">https://medium.com/p/4fffd4a79f4</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[chatfuel]]></category>
            <category><![CDATA[dialogflow]]></category>
            <category><![CDATA[manychat]]></category>
            <category><![CDATA[chatbots]]></category>
            <dc:creator><![CDATA[Josh Barkin]]></dc:creator>
            <pubDate>Thu, 17 Mar 2022 22:18:41 GMT</pubDate>
            <atom:updated>2022-03-18T17:10:31.636Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KgdpUu8yi3JfDkaUncxUdg.png" /></figure><h3>Our Biggest Update Yet</h3><h4>Janis.ai now provides a complete web-based workspace to collaborate with AI on conversations</h4><p>Having processed more than 1 billion messages for businesses running chatbots, we learned a few things about where and why businesses struggle with chatbots and what businesses need to succeed. The latest <a href="https://www.janis.ai/">Janis</a> update meets those needs — helping business more effectively manage human and AI conversational experiences for messaging channels today, while setting up businesses for a future of what we call “Metaverse Automated Assistants”. In short, when you invest in training AI today, you are investing in your future with Janis.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FGIcyYncWkl8%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DGIcyYncWkl8&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FGIcyYncWkl8%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/abdc6538550179e9fc0b9621eb2d3836/href">https://medium.com/media/abdc6538550179e9fc0b9621eb2d3836/href</a></iframe><p>By now you’ve probably realized that a chatbot without NLP (Natural Language Processing) is not a chatbot at all. It’s just a bot. It might understand simple keyword commands but people don’t message businesses using commands. Maybe you created some helpful buttons for your bot? Sure, it’s easy for bot makers to design conversations with buttons, but the data doesn’t lie. More than 70% of users don’t click buttons!</p><h4>Dialogflow works but training Dialogflow can be awkward</h4><p>Natural Language Processing (NLP) is sophisticated technology. That’s why Google acquired Dialogflow. The technology works, but the technology is only as good as the data you feed it. NLP needs data to learn how to respond and training AI takes time. We released <a href="https://www.janis.ai/templates">templates</a> that speed up the time required to train Dialogflow, but that really just provides you with a foundation you can build on and saves you several weeks of initial set up time. You’ll still need to keep training Dialogflow on an ongoing basis using real world data from actual conversations.</p><p>The new Janis Inbox for web makes that easier. Just roll over any message you receive and you’ll see a call to action to train AI. If the user’s message triggers a Dialogflow Intent, Janis will open the Intent for you. If it doesn’t trigger an Intent you’ll be prompted to create a new Intent.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*q5Fvs2ycOqN0GbkFbMxb-A.png" /></figure><p>We have found that it’s much easier to train Dialogflow and feed it data when you’re working directly from your chat transcripts!</p><h4>Slack is good for some things. The web is still better for other things.</h4><p>Slack was built for internal team collaboration so Janis pushed the envelope by integrating external conversations and useful tools to managing an AI integration. However, since Slack is an interface that we don’t control and there are limitations. So, we took all of the collaboration features we liked in Slack and built our own team-based collaboration tool on the web, focused on managing an AI integration. Some people don’t like Slack because the interface can be overwhelming, so we deliberately created something that had almost no learning curve — A more traditional “Inbox”. It has everything you would expect from an Inbox, but the chat transcripts resemble Slack transcripts, enabling multiple participants to be active participants and collaborate around a conversation.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lLKOXZHk5MMkhvk4EbG9VQ.png" /></figure><p>Not every message you send from a Janis workspace needs to be sent to an end user chatting with your chatbot. If you start a message with the @ sign, you can mention other workspace users and you can send them private messages…</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/955/1*xSozajjv0ttxbnP0hsPurg.png" /></figure><p>These private messages will appear in the customer chat transcript but are only visible in a Janis workspace. That provides teams with the ability to collaborate around marketing leads, or solve customer problems without losing context of the customer or the customer conversation.</p><p>You can also assign conversations to other Janis workspace users, and that makes it easy to better manage and prioritize conversations, while de-prioritizing conversations that have been assigned to someone else.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*VdyuB3wkakgKWuX_urchlg.png" /></figure><p>Speaking of prioritizing conversations, we created a system to label conversations as well. In this example, a business might have multiple locations, so by labelling a specific conversation with one of these location labels, you can just filter a list of conversations by location.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*odloCtsQU7LGRC8ITf_Tjw.png" /></figure><p>How you label conversations is completely up to you though. You could have ten different labels, with each being a lead score from 1–10 and you can prioritize leads by assigning a label as a lead score, or you might create labels for new business and other labels for customer support. It’s flexible and powerful. Most importantly, labelling a conversation and then filtering conversations with labels is dead simple for Janis users.</p><h4>Being able to collaborate is key</h4><p>When it comes to managing conversational experiences there are a number of roles that people might play in that, so we built role-based access right into a Janis workspace. You can invite collaborators by email and set permissions for each user, or a group of users you invite to the workspace:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rNvMZwAqyehP1EBWFOpGOQ.png" /></figure><p>Janis will create role based access and then email collaborators a link to the workspace to join. Agencies can now better collaborate with their clients, while large complex workforces might designate roles for different departments. You might have some users just responsible for managing an AI integration while customer support will only be responsible for live chat with end users when a chatbot can’t serve them.</p><h4>Keeping humans in the loop is critical</h4><p>We already know that chatbots are good at some things, while humans are better at other things, so enabling a hybrid human-AI experience is at the core of what we do at Janis. We built an extensive notification system for standard web browsers to bring humans in the loop.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*uWG-37ROTaYeJQLLC5UOxA.png" /></figure><p>Use our pre-built smart alerts, or create your own “Intent-driven” alerts. If your chatbot know a user’s intent is to buy something, or when your chatbot detects a customer problem and the intent is to get customer service, just set an alert!</p><p>Every Janis workspace user can set their own alerts too when they opt-in to browser notifications, so people managing sales and marketing can set up alerts that are relevant to them, while customer support could set their own alerts. When you get an alert, you can watch your automated conversation unfold in real-time, or just type a message to pause your automation and take over live to retain your users. As usual, Janis will automatically resume your automation after 10 minutes of messaging inactivity so your customers are always getting responses to messages.</p><p>To get started with Janis for web all you need is a Google account to take advantage of all of these features. If you’re a Slack user, you can sign-in with Slack and link a Slack workspace and then continue to work from Slack or use the Janis web portal and everything stays in sync. Best of all, Janis now also consolidates accounts, so you can sign-in just once and Janis will automatically sign you into all of your workspaces so you can easily toggle between them.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*eUTFy6O_7DP25bzw4Bz5uQ.png" /></figure><p>This feature is particularly helpful for agencies working with clients who each can have their own workspace.</p><p>Let us know what you think about the new <strong>Janis for Web</strong> experience in the comments below, and <a href="https://www.janis.ai/">sign-in</a> to check it all out!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4fffd4a79f4" width="1" height="1" alt=""><hr><p><a href="https://medium.com/janis/our-biggest-janis-update-yet-4fffd4a79f4">Our Biggest Janis Update Yet…</a> was originally published in <a href="https://medium.com/janis">Being Janis</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Should Chatbot Agencies and Their Clients Collaborate in Slack?]]></title>
            <link>https://medium.com/janis/is-slack-right-for-chatbot-agencies-a2df2458704f?source=rss----f77757888b04---4</link>
            <guid isPermaLink="false">https://medium.com/p/a2df2458704f</guid>
            <category><![CDATA[chatbots]]></category>
            <category><![CDATA[dialogflow]]></category>
            <category><![CDATA[slack]]></category>
            <category><![CDATA[ai-agency]]></category>
            <category><![CDATA[manychat]]></category>
            <dc:creator><![CDATA[Josh Barkin]]></dc:creator>
            <pubDate>Mon, 27 Sep 2021 22:32:16 GMT</pubDate>
            <atom:updated>2021-09-28T02:10:13.745Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*brOSbi9qPrCfBADSChlqnw.jpeg" /></figure><h4>Hint: It mostly depends on your clients.</h4><p>If you’re a marketing agency <a href="https://medium.com/janis/agencies-6ac7137a2d61">pitching chatbots</a>, Slack can be a valuable tool in your toolkit. Slack has more than 12 million daily active users and both small and large businesses have embraced Slack for team communication and collaboration. If you’re new to Slack (or have been somewhat reluctant to dive in) this video should give you a brief overview of what Slack can do to boost productivity.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fd1004atd2m8%3Flist%3DPLKi1OPLqRN1JT8VDP5XqiyLAZDHZZuMtE&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dd1004atd2m8&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fd1004atd2m8%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/c3a6c9641b96b189ff21f423f9f085fa/href">https://medium.com/media/c3a6c9641b96b189ff21f423f9f085fa/href</a></iframe><p>Whether your clients embrace Slack though to communicate and collaborate on a chatbot project can be determined when you scope out their project.</p><h3>Scoping out your chatbot project</h3><p>In order to determine whether Slack is right for a client project, you’ll want to begin by asking your client if they already use Slack. If they do, then Slack should be an easy pitch because they already understand the value. If they are not using Slack, then you can share a video which provides a general overview on how Slack works and its minimum viable benefit.</p><blockquote>The minimum viable benefit is that Slack provides a collaborative space for an agency and a client to communicate about and throughout a project.</blockquote><p>Once you’ve established Slack as a viable collaboration tool for your project you can determine if Janis for Slack is going to be useful. <a href="https://janis.ai/slackapp">Janis</a> is a bot that lives inside a Slack workspace and helps manage an AI integration. Every time you onboard a new client, just say Add a bot to Janis and you can set up a bot project, monitor a bot for problems, and fix problems fast.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FA8C7HdbHUOw%3Flist%3DPLKi1OPLqRN1JT8VDP5XqiyLAZDHZZuMtE&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DA8C7HdbHUOw&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FA8C7HdbHUOw%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/2ff2f2a7268da66157a1500d77cebdb5/href">https://medium.com/media/2ff2f2a7268da66157a1500d77cebdb5/href</a></iframe><h4>Keep in mind…</h4><p>Slack has its own learning curve though so you need to keep this in mind. If you’re pitching Slack to a client and you get some resistance from your client to using Slack, or you’re confident that your client would be slow to adopt Slack, or you just think that introducing Slack would overwhelm your client, consider pitching a completely managed service where you’ll manage the entire AI integration for them using your own internal Slack workspace. Here is a script you can use in your Slack pitch to clients.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/583/1*kXJTeQ4CsX_iuN2pJpGqdw.png" /></figure><p>Even if Slack isn’t a great fit for your client, you can still use a Slack workspace for your agency to manage chatbot projects, and if you’re connecting a Facebook bot to Janis, then your client can still pause and resume Dialogflow to chat live with their customers and without using Slack. (You can pause Dialogflow just by sending a message from the Facbeook Inbox).</p><p>In short, there are lots of ways to set this up. As an agency, you might have a single Slack workspace to monitor all of your client’s chatbots, or if your clients want to collaborate with you in Slack and be active participants in managing conversations from Slack, you should <strong>create a dedicated Slack workspace for the project.</strong></p><p>You can see here that we have our own internal Janis workspace which my team uses to collaborate on internal projects, but we also have client and partner workspaces. We can just toggle between workspaces easily, or add a new workspace.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/557/1*8f0rMqyg3WdeeNKWp9Hi5A.png" /></figure><p>It’s strongly recommended that you set up a separate workspace for a chatbot project for a few reasons:</p><p><strong>1.</strong> You don’t have to join your client’s internal workspace and be part of their internal discussions and projects.</p><p><strong>2.</strong> They don’t have to join your workspace and be part of your agency projects and discussions which include your other client projects.</p><p><strong>3.</strong> Janis will transcribe chatbot conversations in Slack and open Slack channels to communicate with end users. This in itself is a reason to have a separate workspace. The workspace becomes dedicated to the operations of the bot.</p><h3>Who should create a Slack workspace, the agency or the client?</h3><p>From an administrative perspective, it doesn’t matter who creates the Slack workspace for the project as long as you and your clients both have <strong>admin access</strong> to the workspace. You can see here that I created the workspace so I’m the primary owner, but I can always transfer ownership of the workspace to another user. In your case, if you create the workspace, you can always transfer ownership to your client.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*YecMsIVe0onRH9qle0CC3Q.png" /></figure><p>From a billing perspective there are other considerations. Slack has a free account, but at some point you’re likely going to want to pay for a project Slack workspace, but that doesn’t mean that your client should input their billing details into Slack. Clients generally want to get once invoice from an agency for services rendered and you can always just include the cost of Slack in your agency invoice, passing on the cost of Slack to your client. The same applies to services from Janis.</p><p>You also can take advantage of “Sub Accounts”, a billing feature from Janis geared towards agencies.</p><h3><strong>Sub Accounts?</strong></h3><p>Janis bills <strong>per workspace</strong>, but a Sub-Account allows you to include multiple workspaces on a single Janis plan.</p><p>Your configuration would look something like this where your agency would have one workspace to manage all of your client chatbot projects but with separate Slack workspaces for each of your client projects.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UyCYFafNic1WJ5JC2qxD5w.png" /></figure><p>Your agency workspace would be the “Primary Account” with Janis and all of your client workspaces would be “Sub Accounts”.</p><h3>Setting Up Sub Accounts</h3><p>If you’ve never connected Slack to Janis before, you’ll probably see that you have a <strong>Personal Account</strong>. This is what we refer to an account using only your Google Account to login to Janis:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/583/1*yN3NnDznF92LGrTvpovaPw.png" /></figure><p>If you click the arrow in the purple nav bar, you can see how you can easily connect one, or more Slack workspaces. This way you can toggle between different workspaces.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/532/1*Pffnn1WvmxC3wmie89s9JQ.png" /></figure><p>Here I have multiple Slack workspaces connected to Janis and I can switch between them.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/562/1*9gYjtxZKW9tveLL9ar8iHA.png" /></figure><p>The billing tab in the purple nav is specific to the selected workspace, so first ensure the selected the workspace in the purple nav bar is the workspace you want to use as your <strong>Primary Account. </strong>This is the workspace that will be billed by Janis. Note that if you only signed into Janis with Google (Your Personal Account) you can use that as your Primary Account and then can connect Slack workspaces and set those as Sub Accounts).</p><p>Now click Billing in the purple nav bar for the active workspace and click the Sub Accounts tab:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*uQB5iqr7Gvh-0VHuYHen6A.png" /></figure><p>You can see below that I have our Janis workspace and it’s the <strong>Primary Account. </strong>There are other workspaces listed below that indicated as Sub Accounts.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UGzX77pYYUClfQd7p6Sc6A.png" /></figure><p>Only the Primary Account is billed by Janis. To make additional Slack workspaces a Sub Account, just click the “Connect” button and connect additional workspaces.</p><p>With Sub Accounts, not only is just the <strong>Primary </strong>Account billed, but if your client(s) ever needs to access Janis either through Slack, or through the Janis website, then they would not have access to any billing information. You can see here that since my Janis workspace is the primary account, it has a billing option in the purple navigation bar.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*y1-vYBgWjgCCa3nJ7kk5Sg.png" /></figure><p>However, if I toggle to a workspace designated as a Sub Account, any member of the Sub Account workspace would not have access to any billing information from Janis. There is no billing option in the purple navigation.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*o1phLGnk2Z7fpDNBD4726g.png" /></figure><p>As you can see there is not only a cost savings associated with Sub Accounts (One plan covers multiple workspaces, rather than having a Janis plan for each workspace), but agencies can also be a single point of contact for all billing relating to Janis and optionally agencies can. monetize Janis-as-a-service.</p><h3>Other Helpful Resources for Chatbot Agencies</h3><p>👉 <a href="https://medium.com/janis/agencies-6ac7137a2d61">The real money is in Dialogflow</a><br>👉 <a href="https://medium.com/janis/nlp-1d3c781694ba">Setting Client Expectations for Dialogflow</a><br>👉 <a href="https://medium.com/janis/how-to-scale-an-ai-agency-with-dialogflow-208b4cbf2a00">How to scale an AI Agency</a><br>👉 <a href="https://youtube.com/playlist?list=PLKi1OPLqRN1JT8VDP5XqiyLAZDHZZuMtE">How Janis for Slack works: The Complete YouTube Playlist</a></p><p>👉 <strong>Statement of Work Template For Agencies: </strong>Did you know that I teach a Dialogflow course with <a href="https://schoolofbots.co/dialogflow">School of Bots</a>? It’s geared towards agencies and while the 40+ videos are helpful, the bonuses content is valuable. I include my Statement of Work agency template that I used to secure a 6-figure Dialogflow Integration contract. <a href="https://schoolofbots.co/dialogflow">Check it out</a>!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a2df2458704f" width="1" height="1" alt=""><hr><p><a href="https://medium.com/janis/is-slack-right-for-chatbot-agencies-a2df2458704f">Should Chatbot Agencies and Their Clients Collaborate in Slack?</a> was originally published in <a href="https://medium.com/janis">Being Janis</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How chatbots can take reservations with Dialogflow and Google Sheets]]></title>
            <link>https://medium.com/janis/using-chatbots-to-help-local-spaces-manage-capacity-during-a-pandemic-6fc52d3a14da?source=rss----f77757888b04---4</link>
            <guid isPermaLink="false">https://medium.com/p/6fc52d3a14da</guid>
            <category><![CDATA[manychat]]></category>
            <category><![CDATA[covid-19-crisis]]></category>
            <category><![CDATA[integromat]]></category>
            <category><![CDATA[google-sheets]]></category>
            <dc:creator><![CDATA[Josh Barkin]]></dc:creator>
            <pubDate>Wed, 08 Jul 2020 22:22:03 GMT</pubDate>
            <atom:updated>2021-06-21T21:21:34.110Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*mhSmxv2pvP3DHydDPrubGQ.png" /></figure><h4>How to build a Messenger chatbot to take reservations.</h4><p><em>If you like this story, consider taking my </em><a href="https://www.schoolofbots.co/dialogflow"><em>Dialogflow Course</em></a><em>.</em></p><p>As local businesses push to re-open in the wake of COVID-19, it’s critical to ensure the virus doesn’t gain momentum by continuing to practice social distancing. For every business with a physical location, managing capacity is critical to social distancing.</p><h3>Social Distancing = Human Capacity Management</h3><p>Most local businesses never needed a booking system before the pandemic, but businesses in many parts of the world are currently mandated to operate well below 100% capacity in order to ensure social distancing. Waiting in line wearing masks to get in the door isn’t the best customer experience.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/768/1*JYYRbrWCAlbJ5JemQA8-yA.jpeg" /></figure><p>Every business with a physical location needs to balance safety with a need to generate revenue. This reservation system wasn’t designed to be a robust system like the one Open Table provides restaurants. It’s less formal and more practical, with reservations not extending well into the future, but on a rolling 7-day basis. It enables a business to more easily manage customer relations in the current local business environment. Most importantly, it can be set up in minutes and help a business immediately.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fs-DxTCjkns0%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Ds-DxTCjkns0&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fs-DxTCjkns0%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/6cd77b14689d490a42b070b3ed34ef27/href">https://medium.com/media/6cd77b14689d490a42b070b3ed34ef27/href</a></iframe><h4>Who can benefit from this?</h4><p>Here is a quick shortlist of business that I think will benefit:</p><p>✅ Restaurants need to manage capacity<br>✅ Hotels need to manage capacity<br>✅ Hair salons and spas need to manage capacity<br>✅ Gyms need to manage capacity<br>✅ Local parks and pools need to manage capacity<br>✅ Any office or co-working space needs to manage capacity<br>✅ Real Estate open houses need to manage capacity<br>✅ Car showrooms need to manage capacity<br>✅ Coffee Shops need to manage capacity</p><p><strong>OK… everyone needs to manage capacity in the age of COVID!</strong></p><h3>Getting Started</h3><p>In addition to a Google account for Google Sheets, here is what you’ll need to get started:</p><p>1. A <a href="https://www.manychat.com/"><strong>Manychat bot</strong></a> for Messenger with a Manychat Pro account</p><p>2. An <a href="https://www.integromat.com/?pc=techflow"><strong>Integromat</strong></a> account — Integromat will send data to the Google Sheet from Manychat and get data back from the Google Sheet.</p><p>3. (Optional) A <a href="https://www.dialogflow.com/"><strong>Dialogflow</strong></a> account so you can understand messages and complete bookings faster. It’s not essential but makes this use-case far better.</p><h4>Step 1: Get The Google Sheet template</h4><p>👉 <a href="https://docs.google.com/spreadsheets/d/1FSn_4ZA_ygAgLW4NVh1R5nKiMcS8hv6uVz1ebV-s9mY/copy?usp=sharing"><strong>Make a copy of this Google Sheet template</strong></a><strong>.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RHj-P7S_9Ym0H7P0osM81g.png" /></figure><p>Open the Google Sheet and click the green Share button in the top right corner and change the share settings so that <strong>Anyone on the Internet with this link</strong> can view.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*57setdszTsPFxOo7y4e1cQ.png" /></figure><p>You don’t need to copy the link. We’ll come back to the Google Sheet after.</p><h4>Step 2: Get The Integromat Blueprints</h4><p>This Integromat Blueprints (templates) can be configured in a few minutes and they will be used to communicate with the Google Sheet using data you collect through your Messenger bot.</p><p><strong>👉 </strong><a href="https://www.janis.ai/agents/Integromat-RestaurantKit-Blueprints.zip"><strong>Download the Integromat Blueprints</strong></a></p><h4>Step 3: Install the Integromat Blueprints</h4><p>Login to <a href="http://www.integromat.com/">Integromat</a> account and click <strong>Create a new scenario</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*oYDuTp1E3aJmx7TO9R1ZCQ.png" /></figure><p>Now instead of picking applications for your scenario, click the <strong>Skip</strong> button.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_TupyrF1_FY7h_7Cv8FmLg.png" /></figure><p>Let’s give this Scenario a name. If you click in the top left corner you’ll see how you can give it a name.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*bfkhApMh6-IGi-YyBFaF8Q.png" /></figure><p>You can see here, that I’ve named the scenario <strong>ReservationKit </strong>but you can give it any name you want.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*peBmFD4kjx4x-j34uOCWaA.png" /></figure><p>Scroll to the bottom and click <strong>Save.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*uPQL9wZuO1S8MTEAPoxiLQ.png" /></figure><p>Now at the bottom of your screen, click the 3 dots to trigger the “More” menu and then select <strong>Import Blueprint</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*b4-RwJ5HjUTRnN-YpcxxkA.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*v67RVI_3ypnAU0meVe4c7A.png" /></figure><p>Now let’s import one of the Integromat Blueprints. Unzip the file you downloaded with the Blueprints and you’ll see two JSON files in a folder.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/841/1*3te8o3Jm7Jq9NhxHCzl-Lg.png" /></figure><p>Select the <strong>Make a Reservation — Advanced Version.json </strong>file, then click the blue Save button to upload the Blueprint.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UD4yTCjfLDpHtXlFRcZD9w.png" /></figure><p>Now you’ll see the <em>Blueprint</em>. You can zoom in to the first module on the far left. It’s the Manychat module that will watch for incoming data.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*p68bWNOFNQgvIqRnZJl44A.png" /></figure><p>Click the module and you’ll need to add a Webhook.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2rsGtIX8_LkJDQ8F4yydDg.png" /></figure><p>If you’ve never used Integromat with Manychat before. then <a href="https://support.integromat.com/hc/en-us/articles/360008719034">click here to see how to create a connection using your Manychat API token.</a> I already have a connection so I can now create a Webhook.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/958/1*M9TBw_MNVQ1AJTUJu0zGMQ.png" /></figure><p>If you want to add a webhook click the Add button. Name your Webhook Reservations and select your Manychat connection. Then click Save. You can see that the Webhook has been added.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*uL0DD7bM8WJzE0Vl1IdOvQ.png" /></figure><p>Now go to all the other blue Manychat modules in the Blueprint and select the same connection for every module. There are a lot of Manychat modules, so it will take you a few minutes to go through all of them.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ndb79oV0P0aKD9LhiiOczw.png" /></figure><p>Keep going… there are a lot of them! Use the same Connection for every one.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jlwEO092z_uBA1TtuiMpDA.png" /></figure><p>Now you’ll need to connect the Google Sheet modules to a Google Sheet template. Click any green Google Sheet module icon</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vdKi3HeK3NJov5J9iFZT9w.png" /></figure><p>You’ll need to add a connection, so if you’ve connected Google Sheets before to Integromat, select the Connection name from the list. If you haven’t connected Integromat to Google Sheets yet, click the <strong>Add </strong>button and give your Connection a name, then click <em>Continue </em>and give Google permission to share data with Integromat.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*h0_c3QnelpJjnN705LDUXA.png" /></figure><p>Once you’ve selected your connection, make sure the reservations template is selected.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*34UP07f5ekOh0wZrUQDfnw.png" /></figure><p>There are a lot of Google Sheet modules here too, so select your Connection for each one referring to the same Reservations Template file. Do it for each module. When you select your connection, give Integromat a few seconds to load the fields in the form, then click OK.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6eknfaM_EMT8AiepTZ016g.png" /></figure><p>Once you’ve connected all of the Manychat modules and all of the Google Sheet modules, click the <strong>Save</strong> button at the bottom of your screen. If you’ve added all your Google Sheet and Manychat connections for each module, it will save!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*uPQL9wZuO1S8MTEAPoxiLQ.png" /></figure><p>Make sure to turn on scheduling and set the scenario to run immediately.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PuGfVOwSOi_y3QzO3h1JCw.png" /></figure><p>Now that you’ve created the ReservationKit scenario and saved it, there is one other scenario you’re going to want to add.</p><p>Click the Scenarios button in the left navigation to get to your scenarios list. You’re going to repeat the process you did for the first scenario. Click C<strong>reate a new scenario, </strong>click Skip since you’re going to import a Blueprint.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_TupyrF1_FY7h_7Cv8FmLg.png" /></figure><p>You can name this scenario “ReservationKit-2”.</p><p>At the bottom of your screen, click the 3 dots to trigger the “More” menu and then select <strong>Import Blueprint</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*b4-RwJ5HjUTRnN-YpcxxkA.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*v67RVI_3ypnAU0meVe4c7A.png" /></figure><p>Now let’s import <strong>ReservationKit — Clear Yesterday’s Reservation Data.json</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/850/1*fGe2QwNat_TXQz9fBYOoQQ.png" /></figure><p>Click the first module in the Blueprint and select your connection. You’ll need to give Integromat extended permissions, so do that.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7zJRbmTc3zRaOw1OKjMvVA.png" /></figure><p>Click the second module. You’re now going to need to add your Google Sheet ID (it’s in the URL) to the second Google Sheets module.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*4XWkvDlULIh6aKtk9CgwOw.png" /></figure><p>You can get the spreadsheet ID from the URL of your Google Sheet.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Coq_XPtzSTqXZmlCC_5vMw.png" /></figure><p>This Scenario can run at a longer interval. Its purpose is to re-set data on a rolling basis. Make sure you turn on scheduling, then click the clock and run the scenario once a day. I set mine to 8am but anytime after midnight should be fine.</p><p>Click Save!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gXoEy7RAsXVdhMPq42Vdlw.png" /></figure><p>If you return to your Scenarios in the navigation, you should have both ReservationKit and ReservationKit-2 set up and turned on.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Yv0CEtt2nRsZnYgqQCkLDQ.png" /></figure><p>If you want to change the way data appears in the Google Sheet, you can edit the layout in the Tools module in your ReservationKit scenario.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Lc71MsArRNFG-zw33ujoIg.png" /></figure><h4>Step 4: Install the Manychat Template</h4><p>Let’s now install a Manychat template that will communicate with Google Sheets through Integromat.</p><p><strong>👉 </strong><a href="https://manychat.com/template/a6f482782c2588d052e67b616a1de507301c2da1"><strong>Click to install this Manychat template</strong></a></p><p>If you go to your Settings in Manychat and if you look at the Bot Fields in your Manychat settings you’ll see this:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*NGcO96p2GXUoek-7drXc9Q.png" /></figure><p>Both the Google Sheets template and the Manychat template are customizable. Make sure the interval between the times in the Google Sheet column headers is set in your ManyChat Bot field Janis-reservation-interval.</p><p>What you see in your Bot Fields should match what you have in the Google Sheet. You can see that both the Bot Field value for the earliest time is 5:00pm both in the Bot Field and as the first blue column header in the worksheets, and if you scroll over to the far right you’ll see the last Google Sheet column header is 10:00pm</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RHj-P7S_9Ym0H7P0osM81g.png" /></figure><p>Go through the request <strong>Request Type</strong> column and define your spaces. You’ll want to have a number of small spaces that limit the number of people per space and so that the total capacity is equal to the total number of people you’ll accommodate for any of the time periods. A request for space can be anything — A table at a restaurant, a room, or it could even be just a designated area in your space. For example, if you manage space on a beach, you may have capacity limited spaces within the beach area you serve.</p><p>You can set things up in the “Monday” worksheet, and then just copy all of the cells to the other worksheets and for each day.</p><p><strong>Important</strong></p><p>The structure needs to stay the same or it won’t work:</p><p>T h:mm am/pm<br>e.g.<br>T 5:00 pm<br>T 10:00 am</p><p>Furthermore, set the open hour Bot Fields in ManyChat as well:</p><ul><li>Janis-reservation-earliest (e.g. 2:00pm)</li><li>Janis-reservation-latest (e.g. 11:00pm)</li><li>Janis-reservation-interval (in minutes e.g. 30)</li><li>Janis-reservation-integromat (Yes)</li></ul><p>One last thing would be to change the date format you want to use for the customer facing reservation confirmation:</p><ul><li>Janis_reservation_date_time_format</li></ul><p>Please refer to this <a href="https://support.integromat.com/hc/en-us/articles/360005772013-Tokens-for-date-time-formatting">date/time formatting guide</a> for the correct format.</p><h3>Adding Dialogflow</h3><p>Dialogflow is conversational AI from Google that will help understand the messages users send. <a href="https://gumroad.com/l/Dialogflow-bookings">I’m using the booking Dialogflow template from Janis.ai</a></p><p>You can automatically extract and store User Fields when users send messages. You can see here that I added training phrases which are things users might say to the bot and all of the highlighted words are variables. They represent just a sample of data that will be stored in custom user fields:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WACePGK49teG0fuyeoRaUA.png" /></figure><p>Words like schedule could be expressed as book or arrange and you only need a few phrases to capture ANY variation. The user could say 1, 2, or 4 million. A number is variable and you can capture and store any number in a number-type Manychat field. For the day, it could be Tuesday and Dialogflow will interpret that as the next Tuesday on the calendar, or if the user says next Sunday then that will be interpreted and a date value will be stored in a date-type custom user field. There are 3 values I NEED to capture to complete a booking, so I just make those parameters required, and if a user’s message doesn’t provide me with all 3 values, then I can prompt them with questions until I get the data I need.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8pcBhLBVOU--_u5Qvj29Hw.png" /></figure><p>If a user sends a message that triggers this Dialogflow Intent, I can then respond with a Manychat flow and display the values I captured, then send that data to Integromat.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ep2Js7c6761PKaWJ4DcDWw.png" /></figure><p>While Dialogflow isn’t required, it does give you the ability to reduce the number of steps to complete a booking IF the user provides data you can use in their message. If a user says I need a table for tomorrow for 4 people at 6pm then you can extract every value you need from that one message and get the user through a reservation flow faster.</p><p>You can use these Dialoglow Intents I created too, if you want to add Dialogflow into the mix and don’t have time to spend training AI</p><ol><li>Go to <a href="https://www.dialogflow.com/">Dialogflow.com</a> and login with your Google account. Create a new Dialogflow agent by naming it and saving it.</li><li><strong>Download </strong><a href="https://gumroad.com/l/Dialogflow-bookings"><strong>these Dialogflow Intents</strong></a>. It’s a ZIP file you’ll download to your computer.</li><li>Click the ⚙ icon next to your Dialogflow agent name, then click the Import and Export tab. Then click the IMPORT button to import the Intents.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vD0MNefhZ3YETISicm9XrQ.png" /></figure><p>Drag the ZIP file from your computer (ZIPPED) into the box and then type the word IMPORT. Then click the IMPORT button.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-Q5AP3b1A83RmWjMpd9sOA.png" /></figure><p>You’ll need to connect your Dialogflow agent to your Manychat bot and Janis can do that for you for free. Just sign-in at <a href="https://www.janis.ai/">Janis.ai </a>using the same Google Account you used to sign-in with Dialogflow and connect your Dialogflow agent to Janis, then Janis will give you a free key you can add to your Manychat bot so your Manychat flows communicate with the Dialogflow agent. That’s it.</p><h3>Wrapping Up</h3><p>With chatbots, you can connect all of these systems together and quickly build applications that solve real-world problems. The pandemic is both a huge health and business problem, but deploying these kinds of tools quickly only helps businesses better manage customers in uncertain times</p><h3>Need Help</h3><p>I am glad to answer questions on a 1-to-many basis in the <a href="https://www.facebook.com/groups/JanisCommunity/">Janis community</a> (if you used Dialogflow), but for anything related to Integromat, you should connect with <a href="https://www.facebook.com/manuelgick">Manuel Gick </a>who is a Manychat, Integromat, and Dialogflow expert. He set up the Integromat scenarios for this, so if you need customization like automating the changing, or canceling of a reservation, or other related functionality, I’d recommend him.</p><p><em>If you like this story, consider taking my </em><a href="https://www.schoolofbots.co/dialogflow"><em>Dialogflow Course</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6fc52d3a14da" width="1" height="1" alt=""><hr><p><a href="https://medium.com/janis/using-chatbots-to-help-local-spaces-manage-capacity-during-a-pandemic-6fc52d3a14da">How chatbots can take reservations with Dialogflow and Google Sheets</a> was originally published in <a href="https://medium.com/janis">Being Janis</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Turn your FAQ into a Chatbot using Google Sheets]]></title>
            <link>https://medium.com/janis/how-to-train-dialogflow-from-a-google-sheet-and-answer-faq-on-auto-pilot-fe7abe14471f?source=rss----f77757888b04---4</link>
            <guid isPermaLink="false">https://medium.com/p/fe7abe14471f</guid>
            <category><![CDATA[google-sheets]]></category>
            <category><![CDATA[manychat]]></category>
            <category><![CDATA[dialogflow]]></category>
            <category><![CDATA[chatfuel]]></category>
            <dc:creator><![CDATA[Josh Barkin]]></dc:creator>
            <pubDate>Sun, 21 Jun 2020 12:46:00 GMT</pubDate>
            <atom:updated>2023-05-30T06:04:29.258Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*U0xf5rtTyz6FDMeHEZVhEw.png" /></figure><h4>Learn the easy way to train AI to answer questions without investing time in AI training.</h4><p>It takes time to train AI. You need to teach a computer program, a Natural Language Processor (NLP), the inputs your business will receive and how you’ll automate responses to those inputs. Dialogflow is NLP from Google that you can train with your own data to understand the intent of a user’s message and deliver an automated response. The main paradigm for training Dialogflow NLP is to use the Dialogflow ES product, and it’s Intents and Entities. Intents group similar phrases together, while Entities can understand the meaning of words inside of those phrases. This method of training NLP gives you the control over your ability to understand the meaning of a message but it takes some time to set up. You’d need to <a href="https://www.schoolofbots.co/dialogflow">understand the core concepts of Intents and Entities</a>, and you’d to invest the time in adding Entities and Intents with all of your training phrases. Pre-trained <a href="https://www.janis.ai/dialogflow-templates/">Dialogflow templates</a> from Janis.ai can help reduce the amount of time you need to spend training AI, but there is an easier and free way to start benefiting from Dialogflow NLP if you simply want to answer frequently asked questions.</p><p><strong>Dialogflow’s</strong> <strong>Knowledge Connector, </strong>a feature of the Dialogflow ES product,<strong> </strong>turns your FAQ into a conversational experience in just a few clicks by enabling you to import from an existing data source.</p><blockquote>You can import FAQ stored in a spreadsheet to Dialogflow to train NLP to understand basic FAQ and deliver basic text responses.</blockquote><p>It’s the fastest way to start benefiting from Dialogflow without a major investment of time, skill, or expenses into using Google AI. Using the Dialogflow Connector lets anyone create a simple FAQ bot powered by world class AI from Google, but let’s look at the pros and cons of using the Knowledge Connector:</p><h4>✅ Pros</h4><ul><li>Quickly create an FAQ bot with zero knowledge of Dialogflow</li><li>Train Dialogflow using a simple 2-column spreadsheet</li><li>Collaborate with others using only a Google Sheet. Just share the Google Sheet to get questions and answers. Others can be active participants in training AI without ever logging into Dialogflow</li><li>When you want more control or flexibility, you can later convert your Knowledge Connected FAQ bot into Dialogflow Intents.</li></ul><h4>❌ Cons</h4><ul><li>Limited control over your ability to train AI and get the results you want or expect. Google’s NLP does everything for you but accuracy is entirely in the hands of AI.</li><li>Simple text responses only. It’s ideal for simple chatbots and voice agents to answer FAQ.</li></ul><h3><strong>Let’s Get Started</strong></h3><p><a href="https://docs.google.com/spreadsheets/d/1HYdyzRgcMIm46TljHJw6mJa7M_UtFnKE6-4Xhpg5ZBs/copy?usp=sharing">Here is a Google Sheet</a> I created with 2 columns (Click the link for a template). There is one column for a questions and one for the answers.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*F2fjJQ3_DjXNduvhOxKm1A.png" /></figure><p>Keep reading, or you can watch this video and I’ll show you how to use my Google Sheets example and import that to Dialogflow, as well as how you can import FAQ published to a website directly to Dialogflow using the Knowledge Connector.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F5-UbL6xg-8U%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D5-UbL6xg-8U&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F5-UbL6xg-8U%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/7328ef98202c110a45f97a0f0baf996a/href">https://medium.com/media/7328ef98202c110a45f97a0f0baf996a/href</a></iframe><h4>How it Works</h4><p>The NLP Knowledge Connector isn’t completely a black box. It’s good to understand how it works so you can then optimize your knowledge base, or if you’re not satisfied with the results, then you can consider converting your Knowledge Connector NLP to standard Dialogflow Intents.</p><p>Google will analyze a message received and an answer match with the highest <strong>Confidence Score</strong> wins and the matching response will be sent to the user.</p><p>Users will input messages in different ways. A perfect match would be scored as <strong>1</strong> (100%), but Dialogflow will compare similar messages. If a user asked a restaurant or ecommerce chatbot “<strong>Where’s my order?” </strong>but the question answer set that you imported to Dialogflow was: <strong>Why hasn’t my order arrived yet? </strong>this isn’t a perfect match but the user’s message would produce a Confidence Score well above <strong>0.9.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/667/1*iJNzTodNWxhVe04IzpBiWA.png" /></figure><p>If a user asks <strong>“Can I pick up my order?” </strong>then you’d get a lower Confidence Score from Google, but with a 75% match, it’s sill considered a reasonable match.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/716/1*v4QL1Npdh244Bm9LIraCBw.png" /></figure><p>Google will find multiple matches and rank them in order of confidence, but only the question and answer set with the highest Confidence Score would be returned to the user. As a result, you’ll want to have a fairly deep set of FAQ to give Dialogflow the best chance at finding the best matches to questions.</p><h4>Importing Your Google Sheet to Dialogflow</h4><p>You’ll want to login to the <a href="https://dialogflow.cloud.google.com/?authuser=1">Dialogflow console</a> and select your Dialogflow agent from the top left corner of the screen. If you haven’t set up a Dialogflow account yet, then <a href="https://www.janis.ai/">Janis.ai</a> is an AI assistant that can create a Dialogflow account for you and help you get started.</p><p>If you have not yet imported a Google Sheet before to Dialogflow, you first need to <em>Enable beta features and APIs</em> and you can do that in the settings for your Dialogflow agent. Click on the ⚙ icon on the left side panel next to the Dialogflow agent name to access your Dialogflow agent settings.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5n1N9nCjjPS_1DWJW2LSHA.png" /></figure><p>Under the <em>BETA FEATURES</em> heading, turn on the switch to <strong><em>Enable beta features and APIs</em></strong> option:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*96uM1jq7puDMVj-9koMsWA.png" /></figure><h4>Step 1: Create a Knowledge Base</h4><p>In the navigation bar, click on the <strong>Knowledge</strong> option and then click the button in the top right to CREATE KNOWLEDGE BASE.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*B1wz1In2HLEvI6awr7iLGA.png" /></figure><p>Give your Knowledge Base a name and save it. For my example, a chatbot for restaurants, I’ve given my Knowledge Base the name FAQ-Restaurants</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*r2n0-7RyHphYYg6FfGt_Ug.png" /></figure><h4>Step 2: Add a Document to the Knowledge Base</h4><p>Now you’ll need a document (Your Google Sheet) to import to the Knowledge Base.</p><p><em>If you haven’t done so already, you can </em><a href="https://docs.google.com/spreadsheets/d/1HYdyzRgcMIm46TljHJw6mJa7M_UtFnKE6-4Xhpg5ZBs/copy?usp=sharing"><strong><em>make a copy of this Google Sheet</em></strong></a><em> template with some example question and answer sets. Feel free to edit, delete, and add new questions, but only ensure that data you want imported into Dialogflow appears in the cells, and make sure that your Google Sheet always has a header row to indicate which are the questions and which are the answers!</em></p><p>Once you’ve added your questions and answers into a Google Sheet, choose <strong>File &gt; Download &gt; Comma Separated Values (CSV) </strong>to export the specific worksheet and save the .CSV file to your desktop.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZleXr3aec25x0AXmBBDGew.png" /></figure><p>Now go back to Dialogflow and click on the link “<strong><em>Create the first one”</em></strong> since you’ll be creating your first Knowledge Base.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7TbicwCNrdfbCBiGTGNg1Q.png" /></figure><p>Give your document a name. It’s a good idea to name the document in a way that reflects the source of the knowledge, since you can add multiple documents (more than one Google Sheet, or a Google Sheet and a Website) to the same Knowledge Base.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*EhDWtVW6QEyVHADsAa4HiQ.png" /></figure><p>For the <strong>Knowledge Type</strong> select <strong>FAQ </strong>and for the <strong>Mime Type</strong> select <strong>text/csv</strong>. You can upload different document types (html, text file, PDF, etc.) to Dialogflow but we’re going to import that .CSV we exported from Google Sheets and downloaded to our desktop.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xkrgSgKOP1RJOQoULNje4Q.png" /></figure><p>Next, select the file from your computer and upload it to Dialogflow!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dQLMNsIdunDVZQdSGa5Seg.png" /></figure><h4>Step 3: Verify your data</h4><p>You’ll see your document has now been uploaded and if you click the link to <strong>View Detail</strong> you’ll see how Dialogflow created your FAQ data set.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*15A6EmVNv4q8DjW_whqVuQ.png" /></figure><p>See how the document is parsed into Questions and Answers?</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1KDnuD88HaqTVoDo79sUcw.png" /></figure><h4>Step 4: Enable automated responses</h4><p>Click the <em>ADD RESPONSE link </em>to enable automated responses.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9K9OI0Nf7J0jijWnP3YXEw.png" /></figure><p>You’ll see how Dialogflow will add a text response and <strong>$Knowledge.Answer[1]</strong> which appears in the response is a command Google adds to refer to your document for the answers. You do not want to enter anything else into this field.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/663/0*alh368dc-aQEE7C6.png" /></figure><p>Now click the blue Save button in the top right corner of your screen.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ssTOdFVhRxEv8dIskHV0Sw.png" /></figure><p>You can always <strong>ENABLE </strong>and <strong>DISABLE </strong>your Knowledge Base responses. You simply select the document from the list and click Disable if you want your chatbot to ignore your Knowledge Base automated responses. Make sure Enable is selected however so you can test it out.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JoeXJrddojAsNa-CpXTrLQ.png" /></figure><h4>Step 5: Test it out</h4><p>If you’ve already connected Dialogflow to a conversational channel (i.e. Facebook Messenger) you can message your Chatbot directly and try any of the questions to see your responses. However, even if you’re not ready to go live with your chatbot and you have not yet connected Dialogflow to a conversational channel, you can use the Dialogflow simulator to test.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DBcbPYy3Us0dtybRhtOCDw.png" /></figure><p>If you want to see how Dialogflow arrived at the response, you can click the <strong>Diagnostic Info</strong> button. Dialogflow will give you a block of raw code from the API response but that’s where you’ll be able to see the Confidence Score.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*VLqvz8xFNn7xOFtnSNlO1A.png" /></figure><h3>Making Changes</h3><p>If you edit your Google Sheet because you want to add, edit, or remove questions and answer sets, you’ll want to update your Knowledge Base. You can simply add a new document by following the same steps described in this tutorial, then select the first document you imported to Dialogflow and delete it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_CPx2TPsn0lJgbHXmyYlaw.png" /></figure><p>You can see above how I’ll rename by Google Sheet when I make changes so that I know which is the original and which is the updated version.</p><h3>Congratulations! You have an AI-powered FAQ bot!</h3><p>If you’ve followed the steps above to create a question and answer set in Google Sheets and import that to Dialogflow with the Knowledge Connector, then you’re already benefiting from automation with AI from Google and a Dialogflow Knowledge Base. You can start to see that NLP can help you automate without a major investment of time and money so you can start boosting revenue, reducing costs, and delighting your customers 24x7.</p><h3>Taking it a step further</h3><p>Using Google Sheets is an easy way to set up a simple FAQ bot and benefit quickly, but you’re fairly limited with what you can do. Let’s now look at how you can turn your Dialogflow Knowledge Base into Dialogflow Intents, which gives you more control over automation, by manually grouping similar questions or phrases together and the ability to create richer and more dynamic responses.</p><p>If you want to turn your Knowledge Base into Dialogflow Intents, click <strong>view detail </strong>for your Knowledge Base document</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*eputIjw9EB9YPhab0267pg.png" /></figure><p>Select a question/answer pair from the document, or click the box at the top to select all, and then click the button to <strong>Convert to Intents</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SqEtuW347iekyfQXEExNoQ.png" /></figure><p>When the conversion is complete, your question/answer pairs used for your Knowledge Base will be automatically disabled.</p><p>If you click into Intents, you’ll see that Dialogflow created Intents from your selected question/answer pairs and automatically generated a name for each intent.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WXKMmagKW0zEckrDLVomDw.png" /></figure><p>If you click into an Intent then you can see how the question has become a training phrase:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LvBkW36LFJwkY6wR3mj4ew.png" /></figure><p>…and the answer for the FAQ has been added to the response section of the Intent.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9sXymIzeKTJewb0BbeozkA.png" /></figure><p>Now, you’ll probably want to edit the name of the Intent so it’s easier to understand and <a href="https://medium.com/janis/9-ways-to-make-your-dialogflow-agents-more-reliable-2b455f1a5b8b">reference in the future</a>, and for each Intent you can start to add similar training phrases. This way, when users send different messages, because the messages are grouped together, you’ll know the Intent of the user and can deliver the same response. When using the Knowledge Connector, Google will automatically determine similar messages and rank them with a Confidence Score, but with Intents, you have control over what users might say and how they are grouped together. It takes time, and <a href="https://www.janis.ai/dialogflow-templates">templates</a> definitely help by saving you a ton of time, but you’ll benefit more from NLP in the long run.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LvBkW36LFJwkY6wR3mj4ew.png" /></figure><p>In addition to adding and grouping similar Training Phases you have more control over your responses including the ability to redirect your response to another chatbot platform such as <a href="https://www.janis.ai/manychat">Manychat</a>, or <a href="https://www.janis.ai/chatfuel">Chatfuel</a> which provide visual flow building tools and the ability to store data when users send messages (Dialogflow doesn’t provide this except for a 20 minute chat session)</p><p>If you started working with Dialogflow Intents and you’re still using the Knowledge Connector (with your Google Sheet import), then you’ll want to tell Dialogflow which NLP engine to use (Intents, or Knowledge Connector) when you receive messages by adjusting the weight. If you want to search the Knowldge Base, set that to Stronger.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ufngaUR7MeVPJ5XaEWEhbA.png" /></figure><p>As you gradually build out your Dialogflow, you’ll set the Knowldge Base to Weaker and Dialogflow will trigger Intents more when it receives messages.</p><p>You can learn more about the Knowledge Base, Dialogflow Intents, and building AI-enhanced conversational experiences in the <a href="https://www.facebook.com/groups/JanisCommunity/">Janis Community</a>, and if you want to take a deep dive and better understand how to set up Dialogflow Intents, consider taking <em>my </em><a href="https://www.schoolofbots.co/dialogflow"><em>Dialogflow Course</em></a><em>.</em></p><h3>More Things You Can Do With Dialogflow and Google Sheets</h3><p>I like using Google Sheets with chatbots because it can serve as a simple way to collaborate on content, but you can also use Google Sheets as a database for content, and when users send a message to a chatbot, you can dynamically search Google Sheet rows and dynamically generate a response with data in those rows. It makes it really easy to manage frequently changing content in a chatbot, and gives people without any knowledge or experience working with Dialogflow a chance to be active participants in building and managing a chatbot.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fe7abe14471f" width="1" height="1" alt=""><hr><p><a href="https://medium.com/janis/how-to-train-dialogflow-from-a-google-sheet-and-answer-faq-on-auto-pilot-fe7abe14471f">Turn your FAQ into a Chatbot using Google Sheets</a> was originally published in <a href="https://medium.com/janis">Being Janis</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Botcopy is a chatbot for websites powered by Dialogflow]]></title>
            <link>https://medium.com/janis/botcopy-is-a-chatbot-for-websites-powered-by-dialogflow-a7a8e3c20a4d?source=rss----f77757888b04---4</link>
            <guid isPermaLink="false">https://medium.com/p/a7a8e3c20a4d</guid>
            <category><![CDATA[botcopy]]></category>
            <category><![CDATA[chatbots]]></category>
            <category><![CDATA[live-chat]]></category>
            <category><![CDATA[dialogflow]]></category>
            <category><![CDATA[live-chat-software]]></category>
            <dc:creator><![CDATA[Josh Barkin]]></dc:creator>
            <pubDate>Thu, 11 Jun 2020 12:06:01 GMT</pubDate>
            <atom:updated>2022-01-07T17:54:32.237Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*CW9PGqlfzE3NoVhTylzRqQ.png" /></figure><p><a href="https://www.botcopy.com/">Botcopy</a> is more than just a <a href="https://www.botcopy.com/">chat widget for websites powered by Dialogflow</a>. While users can engage proactively with a chatbot embedded into your website, the chatbot can also react to a user engaging with other objects on the page. In this example, instead of just sending users to a page when they click a button, a chatbot embedded in the page will react to the click event.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/996/1*RApK2NDNNbvx9Sy7hb3Arw.gif" /></figure><p>You can even trigger full-screen conversations too when users navigate your website so you can, for example, automate customer support, screening the user by asking them questions before attempting to connect them with a human.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/996/1*1DqBGYYfa5fodX5Szjayuw.gif" /></figure><p>You can connect a Botcopy bot to Janis and use Janis to monitor the bot and take over live either from the Janis web site, or using our Slack integration. You’ll get push browser notifications when users engage in a conversation with your chatbot, so you can monitor their interactions and retain them as needed.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/996/1*lzciTcN77uNQVaH3SgUFMg.gif" /></figure><p>Tell Janis you want to add a bot, then when prompted, select Botcopy. Drop-in your Janis Keys into the <a href="https://www.botcopy.com/">Botcopy</a> dashboard.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/996/1*Yuedosc978vtsiVnjOjstg.gif" /></figure><p>Botcopy uses Google Assistant responses for web chat, so if you’re already using a Dialogflow agent for Messenger, you can use the same Dialogflow agent for your website. You’ll use the same Dialogflow intents, but deliver different responses for different channels. Looking more closely at Google Assistant responses, Suggestion Chips are like quick replies. They guide your user. When a user hits your home page, you can use prompts to provide a call-to-action, and clicking any of these will trigger a specific Dialogflow Intent.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/996/1*fjqV0h_7_77fOODUCYz2dg.gif" /></figure><p>You can add different prompts to different pages too. From inside a chat, users can click these prompts to trigger Dialogflow Intents, or even Link Out to another website. You can answer questions through your webchat widget, and even funnel the user into other conversational experiences using incentives so you can keep the dialog going wherever your customers are. Here is basic Card Response in Dialogflow with a ref URL to Facebook Messenger.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/996/1*93cX4q5L7DNs1bMlXlhgnQ.gif" /></figure><p>The benefits of a Dialogflow-powered Chat widget are obvious. A user can anonymously ask questions on your website, and you can respond with smart automation without putting up walls for customers simply browsing your website.</p><p>Botcopy is as easy to set up as dropping in a Facebook Pixel into a web page, a Shopify store, or even a WordPress site. You copy and paste a small snippet of code into your website and your chatbot works immediately.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/996/1*eB6Lb7aPEhGUV9fQFN5k7w.gif" /></figure><p>There are also some easy customization tools so the chatbot can seamlessly integrate with the look and feel of your website and you can use add an avatar that matches the voice of your brand.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/996/1*GCtuE_h9JCPmylw54na9FQ.gif" /></figure><p>To get started, just say Add a bot to Janis at <a href="http://www.janis.ai/">www.janis.ai</a> and when you’re prompted by Janis to pick a bot making tool, pick Botcopy!</p><p>🤖 Training Dialogflow NLP takes time. Need a Dialogflow template?</p><p>👉 <a href="https://janis.ai/dialogflow-templates/">https://janis.ai/dialogflow-templates/</a></p><p>🤖 Are you a marketer and want to benefit from Dialogflow? Take my Dialogflow Basics Course for Marketers.</p><p>👉 <a href="https://schoolofbots.co/dialogflow">http://schoolofbots.co/dialogflow</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a7a8e3c20a4d" width="1" height="1" alt=""><hr><p><a href="https://medium.com/janis/botcopy-is-a-chatbot-for-websites-powered-by-dialogflow-a7a8e3c20a4d">Botcopy is a chatbot for websites powered by Dialogflow</a> was originally published in <a href="https://medium.com/janis">Being Janis</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Capturing date ranges with Dialogflow and storing them in Manychat]]></title>
            <link>https://medium.com/janis/capturing-and-storing-ranges-of-data-with-manychat-and-dialogflow-5c5022309aa4?source=rss----f77757888b04---4</link>
            <guid isPermaLink="false">https://medium.com/p/5c5022309aa4</guid>
            <category><![CDATA[travel-bot]]></category>
            <category><![CDATA[manychat]]></category>
            <category><![CDATA[chatbots]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <dc:creator><![CDATA[Josh Barkin]]></dc:creator>
            <pubDate>Tue, 21 Jan 2020 22:08:02 GMT</pubDate>
            <atom:updated>2021-12-11T14:22:53.597Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*J2VYmD-Ajhuzkod-MLdpwQ.png" /></figure><p>One of the benefits of a Dialogflow-enhanced Manychat bot is that you can use Dialogflow to understand the messages your users send, extract data from those messages, and automatically store those values in custom user fields in Manychat.</p><p>One of the great features of Dialogflow and its approach to natural language processing is that you only need to capture one message and data in that message can be variable. Instead of having to define every possible variable value yourself, the values are automatically determined by Dialogflow. Numbers are a prime example of this. Let’s say a user says in response to a quantity related question from your chatbot:</p><blockquote>I’d like 4 please</blockquote><p>You can add @sys.number to the number in your phrase. This is Dialogflow’s built-in entity for numbers.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*uTSvDiLZlXHE3Lj2LarJXA.png" /></figure><p>If the user had said 1, 4, 400, or 40,000, Dialogflow will know it’s a number and store the number in a Parameter and if your Custom User Field name (number type field) matches your parameter name (in this case a custom user field named “number”), then the value Dialogflow extracts from the message will be automatically stored in your matching Custom User Field in Manychat.</p><h3>Ranges</h3><p>We just covered a very basic example of how values get extracted from your messages with Dialogflow and stored in Manychat.</p><p>Manychat, however, doesn’t have the capability of extracting multiple values from a single parameter. When you have ranges of data in a user’s message, you’re going to get two values from the user, and you’ll want to store those values separate in separate Custom User Fields.</p><p>Let’s look at an example. Let’s say your goal is to book a user for an appointment and you want to capture a range of time the user is available.</p><p>Your bot might ask the user:</p><blockquote>Is there a time that works best for you?</blockquote><p>and if the user doesn’t have a specific time in mind, or if a particular time is unavailable on your calendar, they might reply with a range of time that works for them:</p><blockquote>Anytime between 8pm and 11pm</blockquote><p>You’re going to want to extract a start time and end time from that message.</p><h4>Using Dialogflow</h4><p>In Dialogflow you’ll want to capture a range of time, so you might add a phrase that represents something the user says to indicate a range of time.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*a9dGgw0w9BNS234ntr6JCA.png" /></figure><p>Dialogflow will automatically recognize your input as a time period, and automatically add the @sys.time-period entity to your phrase. You can see that Dialogflow automatically creates a time-period parameter where the value will get stored in Dialogflow.</p><p>If you test your message in the Dialogflow console, you’ll see how Dialogflow will output the data:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/331/1*HrU1IxK8ajlPORxzZBNb_Q.png" /></figure><p>See how the parameter value includes both endTime and startTime those are two separate things. Dialogflow will only create one parameter though when you add the phrase. This is what is referred to as a <strong>Composite Entity</strong>. It’s an Entity that combines other entities. In this case startTime and endTime are entities and they are combined to create the <strong>@time-period</strong> entity.</p><h4>Using Manychat</h4><p>In Manychat, you would create two custom user fields. One for the startTime and one for the endTime. In your Custom User Fields (in Settings for your bot), create a new user field named time-period.startTime and set the field type to Date &amp; Time.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/945/1*dLky7HiDhu4Oq2V4dxXJbQ.png" /></figure><p>Now do the same for the end time. Create a new user field named time-period.endTime and set the field type to Date &amp; Time.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/956/1*v1OWcmjdI5L4C8B1lWCvUQ.png" /></figure><p>You can see that you have the both the parameter name <strong>time-period, then a &quot;.&quot; and the other entity which is one part of the time-period</strong>.</p><p>With two separate custom user fields set up this way, this will tell <a href="https://www.janis.ai/manychat">Janis</a> to extract the startTime and the endTime from the time-period parameter and store the values separately into custom user fields. Since Janis is also able to translate the Dialogflow values it gets back from Dialogflow for time and date, then Janis will save them for you in Manychat’s preferred data format so you can then work with these values in the way Manychat expects!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/815/1*ksUfty-lBnQ-zHdPT7LY0w.png" /></figure><p>It may not look pretty, but the data you store is “machine readable”. It’s in a format that is universally understood by computer systems. So you can convert the time into a prettier format with Manychat, or by connecting some other third party application that can convert time and date data into a format you want. At the very least, Janis makes sure that the time and date values it gets from Dialogflow are saved into a format that Manychat can work with and you can take it from there.</p><p>Another example is the travel niche. Let’s say a travel bot asks a user:</p><blockquote>When did you want to book a flight?</blockquote><p>…and a user, using natural language, might reply:</p><blockquote>January 25 to Feb 1.</blockquote><p>You’ll want to capture a start date and end date from that single message and store the values individually in custom user fields so you can create conditional responses based on a date range, or simply have a live travel agent follow up and have the user’s preferred travel dates easily accessible in a customer profile.</p><p>The above examples work well for Dialogflow’s @time-period and @date-period Entities because these Entities capture ranges of data. Test it out in the Dialogflow console to get the entities associated with the main Entity @date-period , or time-period</p><h3>How you can create your own combined Entities with Dialogflow.</h3><p>While I just showed you how to use Dialogflow’s build-in Entities to extract more than one value from a single entity, because certain Entities combine other Entities (i.e. a start and end period) you can also create your own entities that combine other entities, and then extract individual values into Custom User Fields.</p><p>In this example, let’s say my bot asks the user:</p><blockquote>What would you like to order?</blockquote><p>and the user replies:</p><blockquote>I’d like 3 hamburgers and 2 pizzas please</blockquote><p>You can extract the order from that single message and store the individual items and their quantities in separate custom user fields.</p><p>First, you can see that I created a custom entity in Dialogflow called full-order-info . I’ve added the @number Entity (Dialogflow’s built-in Entity for understanding a number) and @menu Entity (a custom Entity we created that has a list of items on a restaurant menu like hamburgers, and pizza).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*hAi5-F17VziJG3Ex.png" /></figure><p>Now create a training phrase and Dialogflow might automatically add your full-rder-info entity, or you could manually select it from the from the phrase and assign it the Entity (You can remove Entities that get automatically added by clicking the little trash can when the Entity menu pops up).</p><p>Select the part of the phrase that to trigger your Entity.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*gJ9MidVcv7jcRz3a.png" /></figure><p>Create two Custom User Fields in Manychat. Create one user field called full-order-info.food and another user field for full-order-info.number and you’ll be able to access the individual values.</p><p>You’ll be able to store the individual values for the user’s order from a single message and can then use those values to process the user’s order through Manychat.</p><h3>Before you go…</h3><p>🤖 Need an easy way to connect Dialogflow to Manychat?</p><p>👉 <a href="https://www.janis.ai/">https://www.janis.ai</a></p><p>🤖 Training Dialogflow NLP takes time. Need a Dialogflow template?</p><p>👉 <a href="https://janis.ai/dialogflow-templates/">https://janis.ai/dialogflow-templates/</a></p><p>🤖 Learn more how to build chatbots with Manychat and Dialogflow</p><p>👉 <a href="https://janis.ai/manychat">https://janis.ai/manychat</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5c5022309aa4" width="1" height="1" alt=""><hr><p><a href="https://medium.com/janis/capturing-and-storing-ranges-of-data-with-manychat-and-dialogflow-5c5022309aa4">Capturing date ranges with Dialogflow and storing them in Manychat</a> was originally published in <a href="https://medium.com/janis">Being Janis</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to build a network of chatbots connected to a single Dialogflow agent]]></title>
            <link>https://medium.com/janis/how-to-scale-an-ai-agency-with-dialogflow-208b4cbf2a00?source=rss----f77757888b04---4</link>
            <guid isPermaLink="false">https://medium.com/p/208b4cbf2a00</guid>
            <category><![CDATA[ai-agency]]></category>
            <category><![CDATA[chatbots]]></category>
            <category><![CDATA[manychat]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[chatfuel]]></category>
            <dc:creator><![CDATA[Josh Barkin]]></dc:creator>
            <pubDate>Fri, 10 Jan 2020 20:13:50 GMT</pubDate>
            <atom:updated>2021-06-21T21:25:37.317Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*updSLplfZdrNsZ27pfFW5g.png" /></figure><p><em>If you like this story, consider taking my </em><a href="https://www.schoolofbots.co/dialogflow"><em>Dialogflow Course</em></a><em>.</em></p><p>Chatfuel or Manychat (Either tool is great) are an important piece of what I refer to as the <strong>Bot Stack</strong>, tools that when stacked together help you deliver exceptional conversational experiences for your clients:</p><ol><li><em>It’s easier to visualize your messaging flows. It’s harder to do that if you’re working only with Dialogflow.</em></li><li><em>These tools serve as a CRM to store user data which you can extract from messages processed by Dialogflow.</em></li><li><em>They make it easy to connect to other tools using Zapier or Integromat which is harder to do if you’re only working with Dialogflow and you’re not a programmer.</em></li></ol><p>While neither of these tools is required to build an AI-enhanced chatbot, if don’t have developer skills, or want to make your clients active participants in building an AI Chatbot, then these tools are useful.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*TH3CuZZMlUljJpgtD3EuPA.jpeg" /></figure><p>Training AI is an investment of time, but <strong>you can create a single Dialglow agent that will serve your entire niche</strong>. With each client you add, you’ll reduce your cost per-client and increase your profit margins.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OSVQ4Z4YkJE_gUzEycX40Q.png" /></figure><p>In short, the effort you extend to one client will benefit all clients when you focus on a niche. Here some niches that could benefit from an AI-enhanced chatbot, but you would need a Dialogflow AI agent to serve each niche.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*149dG0D8NPEfzMaf6bshRw.png" /></figure><p>Unless you’re a large Agency and can dedicate a resource to each business vertical, then it makes more sense to focus on <strong>one vertical</strong> and maximize your penetration into that market to capture market share, while maximizing your time AI training.</p><p>Let’s say, for example, I chose to focus on the eCommerce niche because I know that there is no shortage of businesses with Shopify, WooCommerce, Amazon stores, or even Etsy. I only need to train one Dialogflow agent to serve all clients in my target niche.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-U81LOczlOMLaUHLZLrwEw.png" /></figure><p>The reason I only need just one Dialogflow agent is that I can reasonably assume that user input will be very similar for all my clients. Customers are going to engage with a chatbot because they are either interested in buying something, or because they need support related to something they recently purchased. Although the products will vary between the different eCommerce businesses I serve, the use-cases for a chatbot will be the exact same.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*yrqPHMjWZXpmeAQ9Q2VJ5A.png" /></figure><p>If you decide later that you want to expand your focus to other niches, then you can take your proven formula for success and adapt it to other niches, replicating your success and multiplying your revenues. There are likely a number of Dialogflow Intents you can even re-use for other niches (general customer service questions, small talk) so if you add another niche, you won’t be starting from scratch. You can simply <a href="https://medium.com/janis/a-strategy-for-managing-dialogflow-intents-when-you-want-to-add-context-98665097e758">copy intents from one Dialogflow agent to another</a> and then further refine your Dialogflow agent for each niche.</p><h3>Aggregating messages across chatbots will make all of your bots smarter, faster.</h3><p>The more time you put into training AI, the more responsive chatbots connected to your single Dialogflow agent can become. You can see here that you might have multiple chatbots using the same Dialogflow agent. When one chatbot receives a message and you train your Dialogflow agent to understand and respond to that message, all chatbots using the same Dialogflow agent will benefit from that training.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*pOzUL_drU_BYIwEgwOHHwQ.png" /></figure><p>Even though the messages you receive from users are similar and related to your niche and these similar messages can be added to the same Dialogflow Intent, <strong>you can have different responses that are unique to each business.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*aQv9CNPwiNvcD0fNtqSu-Q.png" /></figure><p>This is where bot tools Chatfuel and Manychat are particularly useful. Using one of these platforms, you can create what I call a <strong>Response Template. </strong>This is a template that you’ll install to each client’s Facebook page so that each chatbot can have its own response. In short, your one Dialogflow agent will act as a brain for multiple chatbots understanding all incoming messages, but each Chatbot (built with Manychat or Chatfuel) will be used to respond to the end-user.</p><blockquote>A Response Template means you just have to edit the responses for each Facebook page</blockquote><h3>Step 1: The Dialogflow Template</h3><p>First, you’ll want to create your Dialogflow template. This is should be a set of Dialogflow Intents and Dialogflow Entities that you will use to understand all end-users in your niche who send messages through your network of chatbots.</p><p>Using our eCommerce niche example, you can see here how I have created an Entity calledshipping-countries and I list all of the countries that my network of eCommerce chatbots will ship too. I’ll also include synonyms since there are different ways that users might express a shipping country when sending a message. If a user asks “Do you ship to the U.S.”, then the value I’ll capture and store is “United States”.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Is7fDb0NDnaP6geFVZ3vzg.png" /></figure><p>It’s the <strong>reference value</strong> that will get stored in my Chatbot CRM (In Manychat the value will automatically <a href="https://janis.ai/docs/manychat/entities.html">get stored to a Custom User Field</a>, or in Chatfuel the value will automatically <a href="https://janis.ai/docs/chatfuel/entities.html">get stored as a User Attribute</a>) and from there I can create conditions and deliver a chatbot response to the user.</p><p>I’ll also have a set of Intents that will capture common messages relating to eCommerce. When users send my network of bots a message, I’m hoping those messages will trigger one of these Dialogflow Intents.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZaGbPjhLiH0lK-4p10pg-A.png" /></figure><p>You can name your Dialogflow Intents anything you want, but if you’re curious about my strategy for naming Dialogflow Intents as shown above, <a href="https://medium.com/janis/a-strategy-for-managing-dialogflow-intents-when-you-want-to-add-context-98665097e758">read this</a>.</p><p>Here is a Dialogflow Intent that will capture questions about shipping costs. These are all of the things that users might say to my network of eCommerce chatbots. One Dialogflow agent will capture all of these related messages and process them for all chatbots that use the Dialogflow agent.</p><p>In the first Training Phrase below, you can see that France is annotated. I highlighted the word and selected the @shipping-countries Entity that I created. Since France is a value in my @shipping-countries Entity, I’ll store that value as a Parameter.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BwS9z-nomSKGjCH40i27GQ.png" /></figure><p>The Dialogflow Intent response will use a Custom Payload response. Here is what my Custom Payload would look like if I used Manychat to build my Chatbot. It’s a <a href="https://janis.ai/docs/chatfuel/responses.html">Flow ID</a> which you can find in the URL of a Manychat flow in your Manychat dashboard.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*CL8eYVsj8Ep_7wscQToU2Q.png" /></figure><p>If you’re building a bot with Chatfuel, then here is what your <a href="https://janis.ai/docs/chatfuel/responses.html">Custom Payload response</a> would look like. It tells Dialogflow to respond with a Chatfuel block. In this case, it’s a Chatfuel block named faq.shipping.costs</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6d-PV_JVER6gzL97-dMO3Q.png" /></figure><p>It doesn’t matter if you’re working with Chatfuel or Manychat. Any message you receive will be processed by the Dialogflow Intent, and providing that the flow exists in your Manychat bot, or the block exists in your Chatfuel bot, you’ll be able to respond with your chatbot. How will Dialogflow know which chatbot will respond? Well, I’ll explain that in a minute (That’s what Janis does!), but first you’ll want to have a <strong>Response Template</strong>, where you can edit your responses for each chatbot/client/</p><h3>Step 2: The Chatbot Response Template</h3><p>I showed you how you can create a Dialogflow template which consists of Entities and Intents that will process the messages you receive from users. I also showed you how can tell Dialogflow to <a href="https://janis.ai/docs/chatfuel/responses.html">respond with a Chatfuel Block</a>, or in the case of Manychat, a Flow (by <a href="https://janis.ai/docs/manychat/responses.html">responding with the Flow ID</a>).</p><p>Now you’ll want to create a chatbot template to manage all of the responses to your Dialogflow Intents. In this example template response, a user triggered my Dialogflow Intent with a question about shipping. Because I had a Dialogflow Entity with a list of countries that my customers will ship to, annotated and annotated the word in my training phrases, when a user’s message triggers the Dialogflow Intent, a value I capture will automatically be saved in my chatbot tool.</p><p>In my response template, I just need to check to see if a value was saved and create a conditional response.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/720/1*4OPkS8-UV3tSZrDHEscpjw.png" /></figure><p>Each Chatbot will have its own response. For example, if a user says “How much does it cost to ship to Italy?” then a Dialogflow Intent will be triggered, and you’ll be able to extract “Italy” from that message with Dialogflow, Janis will save that value in your chatbot Response Template, and if your client ships to Italy, then your Response Template would have a condition for that.</p><h4>Working with Chatfuel?</h4><p>If you’re using Chatfuel for your responses, you can see how I have a number of blocks that have names that I can easily map to my Dialogflow Intent names.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/845/1*iVHv4_cRVb21RdYlAACptg.png" /></figure><p>You’ll want to maintain one master chatbot to manage your response blocks, and then as you add new clients and connect Chatfuel to your client’s Facebook page, you can simply copy a group of blocks from your Chatfuel Response Template to your client’s page, then simply edit the responses for your client’s bot.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/874/1*h7ZvLgzMwNHYnr0S_3ImDg.png" /></figure><p>You can see how you’ll tell Dialogflow which Block to respond with. The same block name can exist in hundreds of chatbots.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*S42W0wtOZY2pneA-xER4Rg.png" /></figure><h4>Working with Manychat?</h4><p>You can see here a bunch of flows in a Manychat Response Template. It’s a good strategy too to name your response flows so they match your Dialogflow Intent names. There isn’t a technical reason to do this. It’s just easier to map your Intent names in Dialogflow to your response flow names in Manychat so it’s easier to manage your Intents and their responses.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cgzNCJMiaUAvtGofZSWpYQ.png" /></figure><p>The difference between Chatfuel and Manychat is that you’ll want to create a Manychat template, so that can can then install your Manychat Respone Template every time you add a new Manychat bot to a Facebook page. You can do that by clicking Templates in your left navigation.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5PUudWk0d-aCP0t6mxxN8A.png" /></figure><p><em>Note that before you create a template with your response flows, make sure to clear out all of your Custom User Field and your Bot Field values.</em></p><p>You’ll want to click + New Template and then select the page/bot that you used to create your flows.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UNWOBj0uKYI0vUkG38Z5_Q.png" /></figure><p>Select only the flows you want to include in your Response Template. Here you can see that for my eCommerce template I selected the flows which I’ll use to respond to users when they hit my Dialogflow Intents.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DH_7jLn5QQw7hJr0pSnrsw.png" /></figure><p>Manychat will automatically include Custom User Fields and tags that are referenced in your flows, but Bot Fields need to be manually selected for inclusion. While you have the option to specify if the field is a Bot Field or a Template Field I’d recommend keeping them as Bot Fields since Bot Fields are managed just below your Custom User Fields (Template fields are not).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*d6PXn6dYsv9e6RQa_Ap3IQ.png" /></figure><p>I recommend using Bot Fields often in your Response Template. This makes it easy to manage slight variances in data between your clients. For example, chatbot end users might ask the business about their address, phone number, or website. You’ll have Flows set up that answer these questions. The structure of your response will be similar, but the actual data you communicate will likely be different for each of your clients. When you manage slight variable differences using Bot Fields, then you just need to reference the Bot Field in your response.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*N8rGffTutiMdnXuh4Yavsg.png" /></figure><p>Then, when you install your Response Template to a Facebook page, you just need to edit the Bot Field values and each of your clients will have unique responses specific to their business.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*hrqTK_UwFUDN2WUrHMJYJQ.png" /></figure><p>When you create your template, you can specify if your Bot Fields should Prefill with the current value and selecting this option will include whatever values you have saved in your Bot Fields at the time you create your template.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*kfMoSfn4QzJm3j9cdxV5Cg.png" /></figure><p>Some Bot Field values might be private to your Agency such as a Janis Key, so you may not want to pre-fill the template with the current value because that will use the same Janis Key for every bot, and you won’t want to do that.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*hoowOm-qbWPI97QTDp7IIA.png" /></figure><p>When you install the template and edit the Bot Field values for your client, you can then add in a unique API key for your client so you can track and monitor each of your client’s bots separately.</p><p>When you save your Manychat template, Manychat will give you a link. You’ll want to copy and store this link somewhere. This is what you’ll click when you want to install a Manychat response template to your client’s Facebook page.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IRdFvha5sROS9w7duiMRHQ.png" /></figure><p>It’s important to note that you’ll only want to install your Manychat Response template <strong>ONCE per page.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Gj7qP74q0anvyvB62rztOQ.png" /></figure><p>Manychat creates a unique Flow ID for each response flow you create, and the Flow ID is maintained when you install the template to your page. If you try and install the same template to the same page, then Manychat will create a unique Flow ID for subsequent installs! <strong>This will break things as your Dialogflow agent won’t reference the flows that were added to the Dialogflow Response,</strong></p><h4>Create Template Updates Instead</h4><p>There is a good chance you’re going to want to add Dialogflow Intents and therefore you’re going to need additional Response Flows in Manychat. A good strategy is to create additional templates and add them as updates to your client bots. You’ll create your new Dialogflow Intents and those will have new responses flows, then package up those response flows into new templates.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HztCySaecvPWsLaL8a7YPg.png" /></figure><p>You can create new Response Flow templates that <strong>ONLY</strong> contain the new flows which correspond to your new Dialogflow intents. Just give your new Response Flow templates unique names. If you have multiple clients, just maintain a Google Sheet with a list of each bot and the templates that have been installed for each bot. That way you’ll know which bot needs to be updated and which ones have already been updated.</p><h3>Connecting one Dialogflow agent to your network of Chatbots</h3><p>Now that you have a system for managing ONE Dialogflow agent that will serve multiple clients in your niche, and one or more response templates which you’ll use for each chatbot, you’ll need to connect your Dialogflow agent to your network of bots and you can use Janis for that!</p><p>Every time you onboard a new customer with your Agency, you’ll want to register your client’s bot with Janis. This so that Janis can generate a unique key for your client’s bot, and so you’ll be able to manage your client’s bot. You’ll be able to get notifications from Janis for the specific bot and you’ll be able to take over live for the specific Chatbot. Even though each bot has a unique Janis Key, all bots will use the same Dialogflow agent.</p><p>You can say Add a bot to Janis and then simply select your single Dialogflow agent.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lwe0PXAWc8chjeJ7E_LdeQ.png" /></figure><p>Janis will know if the Dialogflow agent has already been used before for another Chatbot, so when Janis asks if you want to use the same agent but for a new bot, say (or click) New bot.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*p8kCxNkPLthmdnjppH5M6A.png" /></figure><p>Then follow the steps to get a Janis key for your client’s chatbot, and add that Janis Key to your Client’s chatbot in your bot maker tool. Now you’ll have individual chatbots registered with Janis. Each will have their own responses, but each will use the same Dialogflow agent.</p><h3>Empowering Clients To Help Train Dialogflow</h3><p>So now you have a one Dialogflow agent serving a portfolio of Chatbots connected to Facebook. You’ll likely not want your client to ever log into Dialogflow. It’s going to be too sophisticated for your clients. Besides, Dialogflow is YOUR tool as a Bot Maker. However, it’s your client’s customer experience and you’ll want to make them active participants in helping to train AI to respond to their customers.</p><h4>You could use a simple FAQ to train Dialogflow</h4><p>The easiest thing to do is to ask your client to provide you with a simple FAQ. Chances are your client already has a FAQ on their website, so you could either start with their FAQ for your Dialogflow Intents, or update your existing Intents using simply referring to their FAQ and add to your training phrases.</p><h4>You could use a simple Google Sheet to help train Dialogflow</h4><p>You could easily add your Intent names to a Google Sheet and then ask the client to input what users say and their desired responses. You can see here I just have one worksheet and either you, or the client can add the Intent name, then just sort your Google Sheet by Intent name and everything will be grouped together.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2f5d-9jrLNp3TQVh-FukjQ.png" /></figure><p>You could then copy each thing that a user says into your Dialogflow training phrases, and manage your client’s responses by editing the Chatbot Response template you installed to their page.</p><h4>You could set up a Slack workspace for training Dialogflow</h4><p>Slack isn’t required to train AI, but because Slack was built for collaboration, Janis added two ways to train Dialogflow from Slack. It’s a good idea to set up a separate Slack workspace for you and your client. You just need to add Janis to the workspace, and then you have a couple of different option to collaborate with your client. See this article on all of the different ways to collaborate with your clients in Slack:</p><p><a href="https://medium.com/janis/how-manychat-bot-building-agencies-are-profiting-using-janis-ai-b219df8d5a0b">Managing an AI Agency</a></p><p>You don’t have to use all of the collaboration tools extended by Janis into Slack. There is a simple Dialogflow training tool Janis provides where your client can simply say Train to Janis in Slack and if a bot has been connected to the workspace, or linked to the workspace (those are two different things — see the article above ^) then Janis will create a training channel. Your client just needs to type messages into Slack representing things users say, and then you, or your client can add those to Intents. Janis will automatically save the messages your clients input in Slack directly to your Dialogflow agent.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FNMC7YSua9_o%3Ffeature%3Doembed&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DNMC7YSua9_o&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FNMC7YSua9_o%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="640" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/fa47ad69fd3fbe1d67bd4e3821f204c8/href">https://medium.com/media/fa47ad69fd3fbe1d67bd4e3821f204c8/href</a></iframe><p>Keep in mind that if you have multiple clients training this way, you’ll need to constantly review the Dialogflow Intents and also use Dialogflow’s validation tool which will find conflicts.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/995/1*6jWz7Z3dQ7BqQU39SMKEbw.png" /></figure><p>Conflicts might include duplicate training phrases in one Intent, or duplicate training phrases used in more than Intent, which means Dialogflow won’t know which Intent to trigger if the same training phrases are used in different Intents (and you’re not distinguishing your Intents using Dialogflow context).</p><h3>Empowering Clients To Add Responses</h3><p>You might add new Intents for your Dialogflow agent and create new Response Templates for those Intents too. You can give your clients more control over their automated responses with <a href="https://www.botsheets.com/">Botsheets</a>. It’s a simple product that offers a number of Google Sheet templates for different niches where your clients can simply input content into Google Sheet cells and the content is dynamically output in Facebook Messenger through the Chatbot you built for them. This means that you don’t have to give your clients access to your Chatbot maker tool which protects you and you’ll protect your client relationship too because your client doesn’t have to learn how to build a Chatbot. They simply enter text into cells and boom, it works like magic! You just have to set up a dynamic request from your chatbot to retrieve content from the Google Sheet template and your clients just need to manage the Google Sheet like a database (but without needing database skills). The cells automatically change color indicating which information your client needs to provide and where and their bot can generate dynamic galleries for real estate listings, menus, products, promo codes, events, and much more.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/980/1*dWQ2FLpXg4Jcc_cSBLJkwQ.gif" /></figure><p>So how does that even relate to Dialogflow? Well, you’ve been training your Dialogflow agent to understand the messages you receive and you’re going to create a chatbot Response Template with your bot maker tool. You connect the Google Sheet templates to your chatbot tool, then you can use Dialogflow to extract values out of messages, save the values in your chatbot tool and then use the values to search a Google Sheet.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FJDzJbKoJQyQ%3Ffeature%3Doembed&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DJDzJbKoJQyQ&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FJDzJbKoJQyQ%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/d3d0f3da7d99f6c8d667e4497c178c5e/href">https://medium.com/media/d3d0f3da7d99f6c8d667e4497c178c5e/href</a></iframe><p>In short, you can use AI to understand an end-user and the bot can dynamically respond with content managed by your client in Google Sheets.</p><h3>Scaling for the future</h3><p>The future of conversational AI will undoubtedly be led by companies like Google (Dialogflow), Microsoft, IBM, Facebook, and Amazon. None of these companies want to lose the AI race, the most transformative phase of the computing revolution. So, when you train with Dialogflow, one of the leading sources of AI, you’re building a conversational foundation for the future. You may be using Chatfuel or Manychat for Facebook marketing, but as Janis continues to grow we’ll add other channels that can’t be powered by these tools. Channels like Google Assistant and Alexa are all voice-activated experiences that are powered by Dialogflow. An end-user, for example, might ask Alexa to make a reservation at your client’s restaurant. Because you’ve trained Dialogflow to accept this type of user input you’ll be able to complete the reservation for the user. If another customer asks to make a reservation through your Facebook bot, you’ll be able to use the same Dialogflow to understand the user and fulfill that request with your Messenger chatbot.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*40QrXp_UlwXgzZ6aBkb9HA.png" /></figure><p>Best of all, with Janis as your AI manager, you’ll be able to manage all of your conversational experiences for all of your customers through one platform.</p><h3>Need a template?</h3><p><em>If you like this story, consider taking my </em><a href="https://www.schoolofbots.co/dialogflow"><em>Dialogflow Course</em></a><em>. It includes a Dialogflow template.</em></p><h3>More resources you’ll find useful</h3><ul><li><a href="https://medium.com/janis/nlp-1d3c781694ba">Setting realistic expectations for automated conversations powered by NLP</a></li><li><a href="https://medium.com/janis/agencies-6ac7137a2d61">Agencies pitching chatbots without AI are leaving 5X revenue on the table</a></li><li><a href="https://medium.com/janis/how-manychat-bot-building-agencies-are-profiting-using-janis-ai-b219df8d5a0b">Managing an AI Agency</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=208b4cbf2a00" width="1" height="1" alt=""><hr><p><a href="https://medium.com/janis/how-to-scale-an-ai-agency-with-dialogflow-208b4cbf2a00">How to build a network of chatbots connected to a single Dialogflow agent</a> was originally published in <a href="https://medium.com/janis">Being Janis</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[9 Ways To Make Your Dialogflow Agents More Reliable]]></title>
            <link>https://medium.com/janis/9-ways-to-make-your-dialogflow-agents-more-reliable-2b455f1a5b8b?source=rss----f77757888b04---4</link>
            <guid isPermaLink="false">https://medium.com/p/2b455f1a5b8b</guid>
            <category><![CDATA[chatbots]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[dialogflow]]></category>
            <category><![CDATA[ai-agency]]></category>
            <category><![CDATA[messenger]]></category>
            <dc:creator><![CDATA[Josh Barkin]]></dc:creator>
            <pubDate>Mon, 16 Dec 2019 20:49:27 GMT</pubDate>
            <atom:updated>2021-06-21T21:26:21.645Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9QNonfOmHYfbQoJkZ67keQ.jpeg" /></figure><p><em>If you like this story, consider taking my </em><a href="https://www.schoolofbots.co/dialogflow"><em>Dialogflow Course</em></a><em>.</em></p><p>Dialogflow has proven to be the most popular conversational AI used by chatbot makers but it’s not a magic bullet. Simply connecting a Dialogflow agent to a customer experience doesn’t give your business superpowers. Dialogflow provides you with technology you can use to automate your understanding of messages sent by users, but you’ll need to understand how to make use of the technology so it works reliably and produces business results.</p><h3>1. Understand what NLP can do and it’s limitations</h3><p>Having a clear understanding of what NLP can and can’t do is your first step to benefiting from the technology and having it work reliably.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HbWTZold_CydjEw4TgtHOw.png" /></figure><p>If you drank the <em>Kool Aid</em> when Mark Zuckerberg pitched developers and investors on bots at the F8 conference in 2016, I’ll reset your expectations. You can’t really chat with a business like a friend. In real life, a conversational experience with a friend can take a number of complex turns, yet go on forever without a hitch. You can write your friends long and cryptic messages and they can decipher your messages, and if they don’t understand a message you sent, they can simply ask you to clarify what you mean. Dialogflow enables your business to be efficient at three things:</p><ol><li>Understanding that one message can mean the same thing as other messages because they have been grouped together (in Intents).</li><li>Setting the context for a group of Intents means you can understand that messages are within a dialog. A message of “Yes” from a user can mean different things depending on the context, for example. Dialogs should be short and goal-oriented though. A funnel that guides a user through a series of questions can help you collect data and the context can be maintained as you prompt users for responses and receive responses.</li><li>Getting usable data out of free form messages. For example, if a user says “I need 2 pizzas”, 2 can be a variable. It could be 1,2,3, or any number to indicate some quantity of pizzas, but you can extract that information from the user’s message, store that number temporarily in Dialogflow in a parameter, or export that data to another system where it’s standardized in a database so you can act on, or use data reliably.</li></ol><p><a href="https://medium.com/janis/nlp-1d3c781694ba">Setting realistic expectations for automated conversations powered by NLP</a></p><h3>2. Don’t train everything!</h3><p>For those of you who have worked with Dialogflow before, you already know that training AI is an ongoing process, but in my opinion, more AI training time doesn’t necessarily translate to a smarter chatbot. Time simply allows you to collect enough meaningful data and categorize that data so you can benefit from it in a meaningful way. If you try and train every message you receive, you risk producing inaccurate responses and it will be a nightmare to manage. Create a focused set of Intents and ensure that your training phrases are directly related to the goal of the Intent. A set of 50+ intents that can answer frequently asked questions (for sales and customer service) is a good use of Dialogflow.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/816/1*AeP8iDkuN7VvHtfMY383HQ.png" /><figcaption>A set of Intents to capture common messages and questions relating to eCommerce</figcaption></figure><p>You should have, at a minimum, 10 training phrases in each Intent so you can reliably trigger the Intent and deliver the right response.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*3fyhN_15JBbg8dI4zIDGIw.png" /></figure><p>Having a set of “Small talk” Intents isn’t going to solve any business problems, but does give your bot some personality and can delight your users. For example, if a user says “Thanks”, you’ll probably want to have an Intent to understand that message (including variations of thanks), and simply acknowledging the user with an automated response of “You’re welcome” is both delightful and engaging.</p><h3>3. Make Intents easy to manage</h3><p>Dialogflow doesn’t have a folder system for Intents, so that means you’ll need to get creative in how you name your Intents so it’s easy to manage. A good strategy is to name your Intents so they follow a clear, hierarchal structure. I generally name my Intents so they are grouped together, making it easy to access similar, or related Intents.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/771/1*e5yDrmIwy7FYgvYSaIhGDw.png" /></figure><p>I like to include version numbers in the Intent names. If you replace an Intent with a different Intent then Dialogflow will only look at the Intent name, not any of the other parts of the Intent to determine if the Intent is replaced. Version numbers allow me to maintain multiple versions of the same Intent, and then I can simply delete Intents I no longer need, or if I want to revert back to an older version of the same Intent, I can delete a newer version of it by referring to a version number.</p><h3>4. Create lots of Entities</h3><p>The most basic definition of an entity is that it’s a list of possible values. Dialogflow has built-in entities so you don’t have to create a list of every country for example. You can just highlight a country name in your training phrase and give it the @sys.geo-country entity, and then you only need one training phrase. A user’s country can be variable. I go overboard with my entities because even certain words can be expressed in different ways. In this example, a user may express that they want to change an order, but even the word “change” could be expressed differently from one user to the next. You can see how I’ll make even this word variable.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*J1AxOCy3ZOHLYUCgzmeZ8A.png" /></figure><p>If you can capture the different utterances that mean change then you can increase the accuracy that the user will trigger the right Dialogflow Intent and you can accurately respond. I just need one training phrase like “make a change to my order” and I’ll assign the word change my custom @order-change Entity.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UKafkEV1Nb3mpRyCfhEanQ.png" /></figure><h3>5. Use Different Entity Values In Your Training Phrases</h3><p>If you create an Entity with a number of different possible values, make sure you refer to the entity by using different values in your training phrases. For example, let’s say you run an eCommerce business and create a custom entity called @shipping-countries and it’s a list of countries your business will ship to. There might be a number of ways users ask your bot about shipping, and you might have a number of different phrases in your intent (At least 10). Each phrase should be different, but if you refer to a different value in your entity (the different countries that you ship to), this will improve matching and you’ll help ensure that Dialogflow triggers the right Intent by more deeply mapping an entity value to training phrases that refer to the Entity.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*4xdpA3d-Eo36XvGcztrCvA.png" /></figure><h3>6. Mask Failure</h3><p>Every Dialogflow agent has a Default Fallback Intent and when your bot doesn’t have a response for a user, you’ll trigger this Intent. Your users will hit this Intent probably more often than you like, at least in the early stages when you’re just starting to train your Dialogflow agent, but you can make your Dialogflow agent appear to be more reliable by only triggering this Intent periodically instead of every time the user sends a message that has no trained response. Simply roll over the Default Fallback Intent and add a <strong>follow-up intent. </strong>From the menu that pops up select Fallback and you’ll add a follow-up intent that is also a fallback!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OokLbdG_wuam-8rSvZRlHA.png" /></figure><p>The first time a user sends a message the bot doesn’t understand, I’ll simply respond with a random message like “Got your message” or “Can you rephrase that?”. Then, if they send another message right after that and the bot doesn’t understand that either, I’ll respond with “I’ve passed that message on to the team”, and in the third fallback follow-up intent, I don’t include any response at all for the user! This way I’m able to handle bot failure more gracefully. Even though the bot didn’t have a response to the user’s message, the bot still appears to be intelligent. Because these follow-up fallback intents are connected, context is maintained through successive messages. You could add more follow-ups too if you want, but at least you don’t have to respond with “Sorry I didn’t get that” every time the bot can’t respond to a message. You can mask failure and funnel users through that and by doing so, turn a negative experience for the user into a positive and reliable experience.</p><p>At the very least, consider multiple fallback messages and rotate them so that any misunderstanding doesn’t seem like messaging’s equivalent to an error 404 page on the web. You, nor your users want to hit a dead end, but if your fallback responses are creative enough, then you might just delight users with the unexpected.</p><h3>7. Refocus users</h3><p>When communication with your bot breaks down in the middle of a conversational funnel, you can respond with two messages in succession. The first is the fallback message and the second is a reminder of the context.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/602/1*aOyRV4wXfCRAMbCgeMEbdg.png" /></figure><p>In this sense, you’re able to move the focus back to your goals and not let the misunderstanding become a distraction in your user experience. You can accomplish this by adding a “Follow-up Intent” that’s a fallback and in that Intent simply have two responses.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*deqCBr4Hzck8Aolisf1nmg.png" /></figure><p>Add two follow-up Intents that connect to the fallback Intent, one for yes, and the other for no.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Yh4bLu9gP9JI0SeRRBzWUg.png" /></figure><p>Now when you ask the user if they are still interested in whatever it was you’re selling them and they respond “Yes” (or some variation of yes), you’ll know the context of their response.</p><h3>8. Make Help Obvious and Accessible</h3><p>A good strategy is to tell the user right at the beginning of a conversation that if they get stuck they can always just ask for help. You’re giving them an escape path right away that is universally understood. When your bot receives a request it doesn’t understand, you can serve up your creative fallback message, followed by a second reminder that help is one input away.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/602/0*192UM8PdWUj7V8yU.png" /></figure><p>Just because a bot fails at providing a response desired by the user, it doesn’t mean an intelligent response can’t be provided to the user.</p><h3>9. Take a Hybrid Approach</h3><p>Don’t rely on Dialogflow to automate your entire experience. If you have that mindset then you’re going to be disappointed (At least for the foreseeable future). There will always be scenarios when NLP can’t respond, no matter how much time you invest in training your AI. It’s just the nature of the beast. Users may send messages to see how smart your bot is and break it, or users simply will write long messages that are too complex for today’s technology to determine intent. Let Dialogflow be your front line for marketing and support and take on your FAQ and be positioned to take over live when needed. Fortunately, you can pause your Dialogflow responses if a user triggers any Dialogflow Intent and get notified when it’s your turn to solve problems better solved by humans.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fauq_7Tw65zc%3Ffeature%3Doembed&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dauq_7Tw65zc&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fauq_7Tw65zc%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/4c4ee63f4200e6c93413aa4208cd78f1/href">https://medium.com/media/4c4ee63f4200e6c93413aa4208cd78f1/href</a></iframe><p>The technology is still relatively new but it’s always evolving. Rest assured that Google doesn’t want to lose the AI race to companies like Microsoft and Amazon and so they will continue to invest heavily in the development and evolution of Dialogflow.</p><h3>Before you go</h3><p><em>If you like this story, consider taking my </em><a href="https://www.schoolofbots.co/dialogflow"><em>Dialogflow Course</em></a><em>.</em></p><p>Already a member of the Janis Community on Facebook? If not, you should <a href="https://www.facebook.com/groups/JanisCommunity/">join</a>!</p><p><em>I’m a Co-founder at </em><a href="https://www.janis.ai/"><em>Janis.ai</em></a><em>, a SaaS platform that helps businesses integrate conversational AI and manage a path to automation. Janis helps non-technical teams connect AI, train AI, monitor AI for problems and fix problems fast. Businesses adopt AI faster, and through intuitive AI management tools and system integrations, achieve their automation goals for marketing and customer support.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2b455f1a5b8b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/janis/9-ways-to-make-your-dialogflow-agents-more-reliable-2b455f1a5b8b">9 Ways To Make Your Dialogflow Agents More Reliable</a> was originally published in <a href="https://medium.com/janis">Being Janis</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to know if you’re giving the right Dialogflow response to a chatbot user]]></title>
            <link>https://medium.com/janis/how-to-know-if-youre-giving-the-right-dialogflow-response-to-a-chatbot-user-e366b2ffcc87?source=rss----f77757888b04---4</link>
            <guid isPermaLink="false">https://medium.com/p/e366b2ffcc87</guid>
            <category><![CDATA[chatbots]]></category>
            <category><![CDATA[dialogflow]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[bots]]></category>
            <category><![CDATA[manychat]]></category>
            <dc:creator><![CDATA[Josh Barkin]]></dc:creator>
            <pubDate>Mon, 18 Nov 2019 13:54:37 GMT</pubDate>
            <atom:updated>2021-06-21T21:27:50.668Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/995/1*wUVqw3-Saat-WatFkuuhkw.jpeg" /></figure><p><em>If you like this story, consider taking my </em><a href="https://www.schoolofbots.co/dialogflow"><em>Dialogflow Course</em></a><em>.</em></p><p>So you’ve trained your AI to respond to a user’s message, but how do you know if the user is satisfied with the response? Even if a user doesn’t trigger your Default message, it’s very possible that a trained response didn’t meet the user’s expectations, or perhaps the user’s message simply triggered the wrong Dialogflow Intent.</p><p>The easiest way to know if a trained response is the right response is to ask your users. If the user responds <strong>yes</strong>, then great, your bot is doing its job. If the user responds with <strong>no</strong>, then you can act immediately to retain your users and improve your AI training.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/1*djN8NwxsVvTWr29EXm2bhg.jpeg" /></figure><p>You wouldn’t want to use implement this for every message. If a user simply types a message of “Thanks” then surveying the user to provide input on that would be annoying and disruptive. However, it would be appropriate when your bot responds with an automated answer to a FAQ.</p><p>I’m going to show you how to survey a user and get their input using Dialogflow and Manychat, but most of the logic is set up in Dialogflow, so illustrating this concept would work the same for a Chatfuel user, or really any bot making tool connected to <a href="https://www.janis.ai/">Janis.ai</a></p><h4>Let’s look at an example</h4><p>Let’s say you sell something to your customers through your chatbot. Your customers might ask your bot about your refund policy. You can see here that I have a Dialogflow Intent that will capture different things users might ask about our refund policy:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WRTBwXfVGQ-FMb8e1uZK7g.png" /></figure><p>In the response section of the Dialogflow Intent, I’ve just included a text response to the user’s question:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*G9k7Si-jNNFKT9JH1oDtQg.png" /></figure><p>This is a good example of where you might want to survey your customers to determine if the response your bot provided is acceptable.</p><p>First, you’ll need to create the survey and trigger the survey response after the initial response to the user is sent (the response to their question).</p><p>I created a simple flow in Manychat that will prompt users with quick reply buttons and to keep it simple I use the thumbs up and thumbs down emoji. You could get fancy and ask users to rate your response on a scale, but since you might survey the user often for a number of messages, just two simple quick replies ask very little from your user and will do the trick.</p><p>Create a flow and name it something like <em>Response Survey.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*4VuzRcLfDuST0LdRyYQYMg.png" /></figure><h4>Let&#39;s trigger our survey response after the initial response.</h4><p>You’re going to want to trigger the Intent Survey that you set up after the initial response to find out if the response your bot provided is accurate. Remember that for our example we created an Intent to capture questions about our refund policy, but rather than include a custom payload in a number of different intents (One for every question) and trigger a second response with our survey, we can simply refer to the survey. If you’re not familiar with the concept of “Intent Chains” which allows you to create just one Intent and then link to it from any other Intent, watch this video.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fuj1CfxbE-14%3Ffeature%3Doembed&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Duj1CfxbE-14&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fuj1CfxbE-14%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="640" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/a02d803704978211809c71cbb15e29a7/href">https://medium.com/media/a02d803704978211809c71cbb15e29a7/href</a></iframe><p>Let’s create a Dialogflow Intent where the only purpose of the Intent is to include respond with our survey. You’ll see here that I created a new intent and I named it “Intent Survey”. In the Intent, I added to the <strong>Events </strong>field <strong>Intent-Survey</strong> and I added a Custom Payload response that refers to my Manychat flow with the survey.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xzdwDEGMo9QL6o04oTJStg.png" /></figure><p>If you’re not sure how to create a Custom Payload response with a Manychat flow, <a href="https://janis.ai/docs/manychat/responses.html">read this</a>. If you’re already familiar with using Manychat flows for a Dialogflow response, let’s continue.</p><p>Now, we’ll want to link to the Intent with the survey as our response, so let’s go back to our Dialogflow Intent where we capture questions about our refund policy and we just need to add the parameter <strong>event </strong>and set the parameter value to <strong>Intent-Survey. </strong>This is the value that we added to the Events field of our Dialogflow Intent that has the custom payload response for the Manychat flow.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BR-fwbbuvpmoQZEqZSDeZQ.png" /></figure><p>Now, when you users trigger a Dialogflow Intent because they asked a question about your refund policy, the bot will respond with text to the user and immediately trigger the Dialogflow Intent with the survey flow in Manychat.</p><p>I think this approach scales nicely. You just need one intent that responds with the survey flow in Manychat and anytime you want to have the second response with the survey, you just need to add the parameter <strong>event </strong>and set the parameter value to <strong>Intent-Survey</strong>. You’ll respond to the user’s question, and then automatically trigger the survey response right after.</p><h4>Get Notified</h4><p>You’ll probably want to get an alert if you survey the user and your Dialogflow response wasn’t accurate so that you can fix problems fast and improve your Dialogflow intents. You can easily add a <em>Notify Admin </em>action to notify you on Messenger that your bot’s response wasn’t acceptable (and if take over live from the Facebook Inbox, Janis will pause your Dialogflow responses).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*J9mOO9AyL4uppb9Eyk36jA.png" /></figure><p>Alternatively, if you’re using Janis to help you train your bot and want to get notified in Slack instead of notifying you on Facebook, you could set an Action with the Custom User Field <strong>event </strong>(It has to be lower case) and set the value to “Intent-Problem”, then trigger your Default Reply so the <strong>event </strong>Custom Field value gets sent to Dialogflow:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tmz0iHsZVLDi1mFbxlVnOA.png" /></figure><p>You can then reate a new Dialogflow Intent and name it something like “Intent Problem”. The only purpose of this Intent is to alert you. If you add the Custom User Field value for <strong>event </strong>that you added in your Manychat flow to the <strong>Events </strong>field in the Dialogflow intent, it will trigger this Dialogflow Intent. Remember that <strong>Events </strong>are an alternative way of triggering a Dialogflow Intent, so you don’t need to add any training phrases to the Intent in order to trigger the Intent.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vEBtdprBGK94vT7g1mkhSw.png" /></figure><p>In the Action and parameters section of the Intent, add the parameter <strong>human </strong>and set the parameter value to <strong>true</strong>. This will tell Janis to alert you in Slack every time this Intent is triggered! In fact, you can add the <strong>human </strong>parameter and set the value to<strong> true</strong> for any Dialogflow and Janis will alert you, or you can add the parameter <strong>pause </strong>and set the parameter value to <strong>true</strong> and Janis will not only alert you, but also automatically pause your Dialogflow responses. Watch this video on how to pause Dialogflow responses when any Intent is triggered by a user.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fauq_7Tw65zc%3Ffeature%3Doembed&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dauq_7Tw65zc&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fauq_7Tw65zc%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/4c4ee63f4200e6c93413aa4208cd78f1/href">https://medium.com/media/4c4ee63f4200e6c93413aa4208cd78f1/href</a></iframe><p>Want to learn more Dialogflow tips and tricks? <br>Join the <a href="https://www.facebook.com/groups/JanisCommunity/">Janis community</a> on Facebook!</p><p><em>If you like this story, consider taking my </em><a href="https://www.schoolofbots.co/dialogflow"><em>Dialogflow Course</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e366b2ffcc87" width="1" height="1" alt=""><hr><p><a href="https://medium.com/janis/how-to-know-if-youre-giving-the-right-dialogflow-response-to-a-chatbot-user-e366b2ffcc87">How to know if you’re giving the right Dialogflow response to a chatbot user</a> was originally published in <a href="https://medium.com/janis">Being Janis</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>