---
description: Personalize the chatbot responses by configuring intents.
title: Dialogflow: Managing Intents
image: https://assets1-proxy.respond.io/api/v1/image/assets%2F11f7a662b80a4675973850b067c01fa5%2F3f43c48b21b24f4e8b02b100c0c8fab0
---

[New🌍 WhatsApp API Calling is now available globally! Start making calls with respond.io today. Learn more![arrow-icon](https://assets1-proxy.respond.io/api/v1/image/assets%2F11f7a662b80a4675973850b067c01fa5%2Fe43213a7a9314673bd8d2060c25f9b87)](/whatsapp-business-calling-api)

Help me with... ⌘ 

1. [All Collections >](/help)
2. [ Integrations >](/help/integrations)
3. [ Dialogflow >](/help/dialogflow)
4. Dialogflow: Managing Intents

# Dialogflow: Managing Intents

![Avatar](https://assets2-proxy.respond.io/ph8r57dk1q9w/4IHLTWbmWN0uXBc5x4jthC/59252fcdb357304ce07be76043047b7a/Susan_Swier_Avatar.svg)

Susan Swier

· 04 Apr 2025

6 min read

## What is an Intent?

Dialogflow's definition of Intent:

_An intent categorizes an end-user's intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression, Dialogflow matches the end-user expression to the best intent in your agent. Matching an intent is also known as intent classification._

A basic intent contains the following :

* **Training phrases** \- These are example phrases for what end-users might say. When an end-user expression resembles one of these phrases, Dialogflow matches the intent.

> The template phrases will be deprecated and ignored during training. Learn more [here](https://cloud.google.com/dialogflow/es/docs/intents-training-phrases#example%5Fand%5Ftemplate%5Fmodes).

* **Action** \- You can define an action for each intent. When an intent is matched, Dialogflow provides the action to your system, and you can use the action to trigger certain actions defined in your system.
* **Parameters** \- When an intent is matched at runtime, Dialogflow provides the extracted values from the end-user expression as parameters. Each parameter has a type, called the entity type, which dictates exactly how the data is extracted.
* **Responses** \- You define text, speech, or visual responses to return to the end-user. These may provide the end-user with answers, ask the end-user for more information, or terminate the conversation.

A more complex intent may also contain the following:

* **Contexts:** Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what the person is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent.
* **Events:** With events, you can invoke an intent-based on something that has happened, instead of what an end-user communicates.

> The intents can be triggered based on your contacts' **Country** and **Language**. If your contact has a country or language value present in their contact details, the intents can be triggered based on the different values of country and language.

## Viewing Intents

**Step 1: Login to Dialogflow**

Navigate to the [Dialogflow](https://dialogflow.cloud.google.com/#/agent/appointmentscheduler-fiqd/intents) console and login with your user credentials.

**Step 2: Navigate to Intents**

Select the agent you would like to configure and select Intents from the side navigation menu

> All the default intents and created intents will be listed in this view.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/7sH34htzQGOIS93HcPioUT/efa9d6411d2088f35b5f1eee619365c6/dialogflow-intents-1.jpeg?fm=avif&w=1000) 

## Default Intents

When you create an agent, two default intents will be created for you by Dialogflow.

* **Default Welcome Intent:** This intent is matched when the contact begins a conversation with the platform. This intent should return a response that lets the end-user know what your agent does or what they can say to begin a conversation.
* **Default Fallback Intent:** This intent is matched when the agent cannot match the end-user expression to any other intent.

### Default Welcome Intent

> **Tip:** Learn more about [Dialogflow's definition of Default Welcome Intent](https://cloud.google.com/dialogflow/es/docs/intents-default#welcome).

As you can see, the Default Welcome Intent has a pre-requisite of Welcome event and greetings phrases. When a contact messages you for the first time, this intent will be matched according to what was specified.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/zgjLBugNO1akhcYEr5a7P/ba8a1b41fc1fa5a3c2220b2b32a4f651/dialogflow-intent-2.jpeg?fm=avif&w=1000) 

Refer to the following example:

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/3uTBWsGOqOEX9EWftHDSR5/63e1d5154642de78dd1d0fef3e644fdc/dialogflow-managing-intent-3.gif?fm=avif&w=1000) 

> **Suggestion:** To manage Contact's expectations, we suggest including responses that inform the contact that they are interacting with a chatbot.

### Default Fallback Intent

> **Tip:** Learn more about Dialogflow's [definition of Default Fallback Intent](https://cloud.google.com/dialogflow/es/docs/intents-default#welcome).

When the incoming message or event does not match any of the existing intents, a fallback intent will be matched instead.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/7CYNH7LrPL2JdgG7VUU5PN/2ac3da64796ef50cf2826193a9ca7e99/dialogflow-intent-3.jpeg?fm=avif&w=1000) 

Refer to the following example :

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/47SWbPuWgRrcDOQUwChgt3/b2ff755f55ef2ab5c51a5e438b707acd/dialogflow-managing-intent-5.gif?fm=avif&w=1000) 

> **Suggestion:** If the Agent cannot understand the message, the Agent should offer to hand off the conversation to a live agent to help with the contact's issue.

## Creating an Intent

You can create new intents if you would like to create automated processes for specific use cases. With Parameters and Events, intents can be created to suit multiple use cases.

In order to help you better understand, the following guide will be based on a specific use case as described below:

_Company XYZ often receives queries on order status from the website's webchat. As they were going through the conversations, they detected a common pattern where their agents would ask for the customer's customer ID to further check the issue or resolve the enquiry. Once they obtained the customer ID from the customer, they would update the custom field and add it as a tag._

Based on the scenario above, the process of obtaining the customer ID can be done by the chatbot. Once the customer ID is obtained, the contact will be handoff to a human agent for further assistance.

Let's break it down into simpler steps:

1. Create an intent to prompt for customer ID.
2. Create an intent to obtain the customer ID.
3. Save the customer ID as a custom field on respond.io.
4. Add a tag.
5. Hand off the conversation to a human agent.
6. Notify the human agent.
7. Disable the bot.

**Expected Outcome**

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/1qKoTayV3pJNJ7DPeGp1Rp/19cacfc5d2b02c0e88ccd763f2922117/dialogflow-managing-intent-6.gif?fm=avif&w=1000) 

### Creating a Basic Intent

**Step 1: Create Intent**

Navigate to the [Dialogflow console](https://dialogflow.cloud.google.com/#/agent/appointmentscheduler-fiqd/intents) and press Intents from the side navigation menu. Press the ➕

or **CREATE INTENT** from the top of the module.

**Step 2: Name your Intent**

Enter a name for your intent. Your intent name should represent the end-user expressions it recognizes.

For this scenario, we'll name it `order_status_enquiry`.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/3xx0QqTbePbdBfHKhqf4o/c1d40b96c578921de8a72abb59e6867a/dialogflow-intent-4.jpeg?fm=avif&w=1000) 

**Step 3: Include Training Phrases**

Based on the scenario above, we should include training phrases that asked for order status specifically. Start by typing in the placeholders in Training Phrases section. You can include multiple phrases to cater for different type of phrases.

For example:

_where is my order_ 
_could you help me check my order please_ 
_what is the status of my order_

**Step 4: Build Intent Response**

For this intent, the response should prompt the Contact for their customer ID to be used for the following intent.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/NWENFvhH8IFaBveaX1aot/c8245cf7ba34d7e9e7c3f384862a8780/dialogflow-intent-5.jpeg?fm=avif&w=1000) 

Scroll down to the **Responses** section and type in the response. You can either add a **Text Response** or **Custom Payload**. For this scenario, **Text Response** will serve the purpose.

> **Tips:**  
> \- You can send multiple responses at one time for better readability.  
> \- You may add a few variants of the response and they will be randomized when sent to Contacts.

The response we will build for this intent is:

_I apologize in advance if your order is taking too long._ 
_Can I have your customer ID please?_

> **Tip:** Learn more about [response templates here](https://respond.io/help/dialogflow/dialogflow-response-templates).

### Creating an Entity

Before we can save the value as a custom field, we will need to create an entity to detect the value from incoming messages.

Based on the scenario above, we will name this entity as `customerId` and it will be used to store the customer ID for a customer.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/6DQR0ICItpN9dPbjIcgW12/9bc4e36fdf1250dbf77ae472db6bb415/dialogflow-intent-6.jpeg?fm=avif&w=1000) 

**Step 1: Create an Entity**

Navigate to the Entities module. Press on the ➕ or **CREATE ENTITY**.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/6AOkbFF891e4yD8ozhz36j/39699e87765892cd32b11cf1b61ed928/dialogflow-intent-7.jpeg?fm=avif&w=1000) 

**Step 2: Name the Entity**

For this example, we will name it customer\_id.

**Step 3: Enter the possible values**

The entity should accept a string with 5 integers in length. Regular expression will be applied to validate the value.

For this example, the value will be `(\d){5}` that accepts any string with 5 digits.

> **Tip:** Learn more about [regular expressions here](https://github.com/google/re2/wiki/Syntax).

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/5dgdtVQivUOB2sRaZsxVWs/b048f7d66347e236b7f7615bf1c034ed/dialogflow-intent-8.jpeg?fm=avif&w=1000) 

> **Tip:** Learn more about [entities here](https://cloud.google.com/dialogflow/es/docs/entities-overview).

### Creating an Intent with Parameters

**Step 1: Create Follow Up Intent**

Navigate to the [Dialogflow console](https://dialogflow.cloud.google.com/#/agent/appointmentscheduler-fiqd/intents) and press **Intents** from the side navigation menu. Locate the previous intent created and press **Add follow-up intent**.

> A follow-up intent is used instead because this intent will need to be triggered after the specified intent.

By default, the context and action will be populated by default so that the intent will work in sequence.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/2qpvauxqyRWr5ojwVChXRa/27b9e082c60285c5504d7376ddde53c1/dialogflow-intent-9.jpeg?fm=avif&w=1000) 

**Step 2: Include Training Phrases**

The phrases to include in this intent will most likely be phrases that contain the customer ID. We can input a phrase and highlight the text that is likely to be the customer ID. Select the entity created earlier and annotate the text with it.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/44UNAtuqbS4Tq65JIi4EMn/5362e361732b9248f3a5a4313191c3c0/dialogflow-intent-10.jpeg?fm=avif&w=1000) 

By default, a parameter will be created when you annotate a text with an entity so store the values.

> **Tip:** Learn more about [annotating training phrases here](https://cloud.google.com/dialogflow/es/docs/intents-training-phrases#annotation).

**Step 3: Build Intent Response**

For this intent, the response should inform the contact that the customer ID has been received and a human agent will take over the conversation and resolve the issue.

Scroll down to the **Responses** section and type in the response. Add a **Text Response**.

The response we will build for this intent is :

> Thanks for providing your customer ID. Your issue is being assigned to our human agents.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/30APFJLy6nH6mLL0cF7deB/530d0f161b35b5392fcce7b3ab74f91c/dialogflow-intent-11.jpeg?fm=avif&w=1000) 

### Saving a Value as a Custom Field

When the contact responds with their customer ID, the value can be saved as a custom field in respond.io platform.

> In order to save the value to a custom field, please ensure the custom field is created on the respond.io platform.

To save the value, add a parameter `RB_FIELD_{custom field's name}`. In this case, the parameter will be `RB_FIELD_customerid` and set the entity `$customer_id` as the value.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/4dPQESMvXqT9qZ8VNquUEC/8a8ffd3c577d708b7beba388b970266a/dialogflow-intent-12.jpeg?fm=avif&w=1000) 

### Adding a Tag

Add a parameter `RB_ADDTAGS` and set the entity `$customer_id` as the value

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/3YvbEPhKBvKiJpUVGKLFa3/bb9ca31a9779b01e2d923e1cac1fe778/dialogflow-intent-13.jpeg?fm=avif&w=1000) 

### Handing Off the Conversation

Now, we want to hand off the conversation to a human agent. This can be achieved with another parameter, `RB_USER_ASSIGN` and set the user's email as the value

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/6s0IJYDXmNAMAxZZGSh1OK/abbb583901259a8da6b502d644986e87/dialogflow-intent-14.jpeg?fm=avif&w=1000) 

### Disabling the bot

The parameters will be executed in sequence. Lastly, we will disable the bot response for this contact because we do not want any intent to be triggered when the contact is handled by a human agent.

To do so, we will add another parameter, `RB_BOTSTATUS` and set `FALSE` as value.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/5QZYqvrHxApMOcTM2zjzkf/3506b47e96cb7e364d346e2f727855e5/dialogflow-intent-15.jpeg?fm=avif&w=1000) 

> When a bot is disabled, contacts can no longer receive messages from the bot until the bot status is enabled. The bot status can be enabled manually through the messaging console or via automation.

### Location Handling

When a location is received from a contact, an event of type `LOCATION` will be sent to Dialogflow. You may add `LOCATION` to the events to trigger the respective triggers.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/4rDExFmC8HMKZl1cgmo5w8/b977394644fafc67f746c0b785da0955/dialogflow-intent-16.jpeg?fm=avif&w=1000) 

Check out the other parameters available to use in Dialogflow:

* [Parameters](https://respond.io/help/dialogflow/dialogflow-parameters)

## Testing an Intent

If you need to test the intent, use the Testing panel located at the right side of Dialogflow console.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/3c2zdC3BN8qocp8BisICjk/3592d374200d9b8f8944c8d2749f4b20/dialogflow-intent-17.jpeg?fm=avif&w=1000) 

## Deleting an Intent

From the intent list, hover over the intent you wish to delete. Press the trash icon of the intent.

![](https://assets2-proxy.respond.io/ph8r57dk1q9w/3yBXUQoNMW4Ca1hdtKgI8h/441e54d9768c7971dc74a2c029403455/dialogflow-managing-intent-20.gif?fm=avif&w=1000) 

Share this article

[![Telegram](https://assets1-proxy.respond.io/api/v1/image/assets%2F11f7a662b80a4675973850b067c01fa5%2F44daca77a4844f0c8fd29040ddeba057?width=22)](https://api.whatsapp.com/send?text=https://respond.io/help/dialogflow/dialogflow-managing-intents)[![Facebook](https://assets1-proxy.respond.io/api/v1/image/assets/11f7a662b80a4675973850b067c01fa5/fff57eeb01160bc604392f519b4f3461ca16f0fa1b6a587b20b142cdf1ad0ba7?placeholderIfAbsent=true&width=22)](https://www.facebook.com/sharer/sharer.php?u=https://respond.io/help/dialogflow/dialogflow-managing-intents)[![Linkedin](https://assets1-proxy.respond.io/api/v1/image/assets/11f7a662b80a4675973850b067c01fa5/7aaf8d87b5410844d83e06a4ed663e4f551b8c5ef51dbb20a8ff064a1eed9a0f?placeholderIfAbsent=true&width=22)](https://www.linkedin.com/sharing/share-offsite/?url=https://respond.io/help/dialogflow/dialogflow-managing-intents)[![Twitter](https://assets1-proxy.respond.io/api/v1/image/assets%2F11f7a662b80a4675973850b067c01fa5%2F4e03e02422a94e8eab9b8b41457c2371?width=22)](http://twitter.com/share?url=https://respond.io/help/dialogflow/dialogflow-managing-intents)

## 

Related articles 👩‍💻

* [Dialogflow: Fulfillment Webhook RequestLearn how to use fulfillment webhook requests to pass data from respond.io to Dialogflow. ](/help/dialogflow/dialogflow-fulfillment-webhook-requests)
* [Dialogflow: Custom PayloadsLearn about supported Custom Payloads on respond.io. ](/help/dialogflow/dialogflow-custom-payloads)
* [Dialogflow: Response TemplatesLearn how to use Response Templates to send responses to Contacts. ](/help/dialogflow/dialogflow-response-templates)
* [Dialogflow: EventsLearn how to use events to trigger Dialogflow intents. ](/help/dialogflow/dialogflow-events)
* [Dialogflow: ParametersLearn how to use custom Dialogflow parameters for multiple use cases. ](/help/dialogflow/dialogflow-parameters)

Can't find what you're looking for? 🔎

[Contact Support](/contact-us)

2025-12-05T03:58:10.271Z

help

```json
[{"@context":"https://schema.org","@type":"TechArticle","articleBody":"Personalize the chatbot responses by configuring intents.","author":{"@type":"Person","image":"https://assets2-proxy.respond.io/ph8r57dk1q9w/4IHLTWbmWN0uXBc5x4jthC/59252fcdb357304ce07be76043047b7a/Susan_Swier_Avatar.svg","name":"Susan Swier","url":"https://respond.io/author/susan-swier"},"dateCreated":"2023-03-29T16:25:45.000Z","dateModified":"2025-04-04T09:55:13.514Z","datePublished":"2023-03-29T16:25:45.000Z","headline":"Dialogflow: Managing Intents","image":"https://assets2-proxy.respond.io/ph8r57dk1q9w/7sH34htzQGOIS93HcPioUT/efa9d6411d2088f35b5f1eee619365c6/dialogflow-intents-1.jpeg","mainEntityOfPage":"https://respond.io/help/dialogflow","publisher":{"@type":"Organization","logo":"https://respond.io/favicon/favicon.svg","name":"respondio"},"thumbnailUrl":"https://assets2-proxy.respond.io/ph8r57dk1q9w/7sH34htzQGOIS93HcPioUT/efa9d6411d2088f35b5f1eee619365c6/dialogflow-intents-1.jpeg","url":"https://respond.io/help/dialogflow/dialogflow-managing-intents"},{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Help","item":"https://respond.io/help","position":1},{"@type":"ListItem","name":"Integrations ","item":"https://respond.io/help/integrations","position":2},{"@type":"ListItem","name":"Dialogflow","item":"https://respond.io/help/dialogflow","position":3},{"@type":"ListItem","name":"Dialogflow: Managing Intents","item":"https://respond.io/help/dialogflow/dialogflow-managing-intents","position":4}]}]
```
