# (7) Set Rules

### Things you should know

Rules are a set of certain conditions to tell the bot what to respond. To put it simply, rules are the connections between **“what bot understands”** (e.g., NLU) and **”what bot responds”** (e.g., message). Setting rules means to set up which message the bot will respond with, once the bot understands certain contents.

### Steps

1. Click on **`My Bot`** > **`Dialogue`**
2. Select the **message** that you want to add rules on.
3. On the top, select **`Rules`** , then add a rule by clicking **`+ Rule`**
4. On **`Type`** , choose the type of rule (Types are illustrated as follow.)

![](/files/-LpSH_sqCyWXYiI5qaj-)

### Types of Rules

1. NLU (Intent and Entity)
2. Keyword matching (one or more keywords)
3. Regular expression

Method 1 and 2 are more commonly used. Below is an in-depth description on the differences.

#### 1. Using NLU as a rule

‌Set a rule with intents and/ or entity as a rule.&#x20;

For example: Intent **“Take away”**, **“Price”**, Entity **“Drinks”**

![](/files/-LpSHdDlA4ci21iZ7bFm)

![](/files/-LpSHgA795SCPvcPTUgD)

#### 2. Using keyword matching as a rule

For instance, you can set keywords such as “take away” or “order” as a rule. When any of these keywords appears in the sentence, it tells the bot to respond with this message.

![](/files/-LpSHiu77Kggful1jVUh)

#### ‌3. Using regular expressions as a rule

Regular expression is a sequence of characters that define a search pattern. \
For instance, you want to set up a rule that can match the words including “order” and “take away”, you can use regular expression as the rule.&#x20;

**I want to order drinks.**\
**I want to take away .**

The above sentences, you can use a single regular expression to match both of them.

**^I (want|would like to) (order|take away)(drinks)?.$**

For more detailed tutorial, check out [Regular Expression](https://app.gitbook.com/@docs-en-yoctol-ai/s/yoctol/~/edit/drafts/-LnQJsTXatUDJ-slOjKr/v/master/term-translations/regular-expression)

![](/files/-LpSHlyBs_M9YNnuQUhN)

{% hint style="danger" %}
Note: A particular rule can be only used in one message. A message can contain several rules.
{% endhint %}

##


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-en.yoctol.ai/chatbot-building-guide/7-set-rules.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
