> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://staging.chrisp.chat/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# How to use Triggers?

**Triggers can be used to send automated events to the chatbox of your visitors & users. Triggers are activated upon events, and execute a given set of actions. You can configure as many Triggers as you wish for the same website on Crisp.**

Triggers help you **automate your marketing** by triggering automated chatbox actions, based on events, on the screen of your visitors. You can, for instance, **send automated messages** based on what page your visitor is visiting.

Here is a full guide about [live chat trigger example](https://crisp.chat/en/blog/live-chat-triggers-25-ideas-customers-engagement/).

This guide goes into explaining the general concepts of triggers, and how everything is linked together.

Don't forget to [subscribe to our Youtube Channel](https://www.youtube.com/channel/UCBgCqEfwt_454jVG7qpi_KQ?sub_confirmation=1) for tips and tricks about Crisp and customer service.

| Triggers are available on the Crisp Mini, Essentials and Plus plans  
---

# Video tutorial:

${frame}[](https://www.youtube.com/embed/XAjSzgxziSw?rel=0)

## Create your first trigger

### Go to the triggers plugin

* Go to app.crisp.chat  
* Then go to Plugins (from the sidebar)  
* Search for "Triggers"

### New trigger

* Click on the **new trigger** button.  
* Then name your trigger. You can for instance name it `My First Trigger`,  
* An identifier will be required. It can be useful in the future. You can name it `my-first-trigger`  
* Then scrolldown and toggle **Show a message**

![Show a message](https://storage.crisp.chat/users/helpdesk/website/-/c/a/9/2/ca9291753dcf3800/e74108be-85b3-41cb-b8b5-72f73b_1pegbiq.png)

* Once it's done, click **Add a localized message**  
* Set a custom message. You can style it by using [markdown](https://help.crisp.chat/en/article/how-to-format-crisp-messages-ocvf0j/)  
* Then scroll down a little bit and toggle on **"On Pages"**

![Add a page](https://storage.crisp.chat/users/helpdesk/website/-/4/c/b/0/4cb02e9d5928c000/820721bd-8286-4352-832e-7e7e8b_4e8oko.png)

* Then select the page you want to target. For instance you can target `mywebsite.com/pricing` . If you want to target multiple pages, like all the pages that starts with the word article, you can use `mywebsite.com/article/*`. You can have more information about how it works by going to the section **Show on specific pages**, in this article. You can also negate watch a page: `!mywebsite.com/sales` . This will **exclude** the matching pages.  
* **You should also consider adding a delay**. Adding a delay allows to send your message after a certain time. A 10 second delay is great!

# What is an action?

**An action tells what to do** on the visitor chatbox once a Trigger is executed.

_The following actions are available:_

* **Show a message**  
* **Play a sound**  
* **Open chatbox**

|| Modern browsers enforce strict autoplay policies. For instance, notifications may require the user to first interact with the website before a sound can be played.

# What is an event?

**An event tells when to execute** a given Trigger, and thus, a given action.

_The following events are available:_

* **Delay** (eg. after 20 seconds on website, trigger the action)  
* **Leave intent** (eg. when user intents to leave the website by moving the mouse out of the tab)  
* **Click on link** (eg. when the user clicks on a certain link)  
* **Page** (eg. when the user accesses a certain page)  
* **User event** (eg. when a certain user event is pushed using `$crisp.push(["set", "session:event", ["your_event_text"]])`)  
* **User data** (eg. when a certain user data is set using `$crisp.push(["set", "session:data", ["your_key", "your_value"]])`)

| Tip: When passing User Data to initiate a trigger, the value should be something other than _true_ or _false_; as this is sent to the contact profile as a __boolean value__, whereas the trigger checks for a string match instead.

The events can be combined. For instance, _we can have the following combinations_ (other non-listed combinations are possible, of course):

* **After 1 minute on a given page** (Delay + Page)  
* **When leave intent after 2 seconds** (Leave + Delay)

# Show on specific pages

To show triggers on a specific subset of pages, you can use wildcards and negate matches. Here are few examples:

| Tip: If the domain you are using is `www.example.com`, please provide `www.example.com` as URL. The Crisp match system is really strict. If you provide example.com and your website is in fact using `www.example.com`, **it won't work**

**Simple Wildcard**

`[https://example.com/*/pricing](https://example.com/*/pricing)` will show triggers on all pages like:

* [https://example.com/fr/pricing](https://example.com/fr/pricing)  
* [https://example.com/en/pricing](https://example.com/en/pricing)  
* [https://example.com/es/pricing](https://example.com/es/pricing)

**Double Wildcard**

Using a double wildcard such as `[https://example.com/product/**](https://example.com/product/**)`, it will send a trigger on all subdirectories such as

* [https://example.com/product/aaaaaa/bbbbbb](https://example.com/product/aaaaaa/bbbbbb)  
* [https://example.com/product/ccccccc/dddddd](https://example.com/product/ccccccc/dddddd)

**Negate Match**

Using a negate match such as `!https://example.com/product/*/bbbbbb`, it will **exclude** pages such as

* [https://example.com/product/aaaaaa/bbbbbb](https://example.com/product/aaaaaa/bbbbbb)  
* [https://example.com/product/ccccccc/bbbbbb](https://example.com/product/ccccccc/bbbbbb)

|| Want to have a quick overview of the feature? Here is a specific page about live chat triggers (also known as [chat greetings](https://crisp.chat/en/blog/live-chat-welcome-message-best-tips-greetings/)).

# Can I pause a specific Trigger?

It is **possible to pause a specific Trigger** by disabling it in the sidebar in the plugin options.

It will not remove the Trigger configuration; thus you can re-enable the Trigger anytime.

# Why doesn't my Trigger work?

**If a Trigger you created doesn't seem to work**, consider the following:

1. Triggers are only executed **when your website is set as online** (support is online in chatbox) if you have enabled the `Execute only if website online` parameter  
2. Triggers are ignored if the **chatbox is blocked for current user** (eg. page blocked, or locale blocked in website settings)  
3. Triggers are ignored if the **chatbox already contains a trigger** (eg. for already active chat sessions) if you have enabled `Execute only if no other trigger is used` parameter  
4. Triggers are ignored if the **visitor already has a previous conversation** if you have enabled the `Execute only upon first visit` parameter  
5. A trigger will only start once per user ( We remember if a trigger has already fired for a user, and we won’t start it again next time, even if the conditions are met).

Here is a full guide about [live chat trigger example](https://crisp.chat/en/blog/live-chat-triggers-25-ideas-customers-engagement/)

Don't forget to [subscribe to our Youtube Channel](https://www.youtube.com/channel/UCBgCqEfwt_454jVG7qpi_KQ?sub_confirmation=1) for tips and tricks about Crisp and customer service