# Project Settings

In the project settings, you can select incoming notifications, configure work with funnels and then, set variables and constants, rename the project, and much more.

<figure><img src="/files/ITRhpgFiJjR3m4JQcqlD" alt="" width="210"><figcaption></figcaption></figure>

Instruction mentioned below.

## Main settings

<figure><img src="/files/rffJIcVyLlB8qyphW6gC" alt=""><figcaption></figcaption></figure>

In the main project settings, the user can change:

* the project name;
* time zone;
* the project owner;
* set the domain for links in the bot:

<figure><img src="/files/t3a0hg0xB8Hqxa8lIvla" alt=""><figcaption></figcaption></figure>

You will need to install your own domain if it is necessary that the proxy link be on your domain, and not on the Mavibot domain. This is an optional setting.

webhook URL

* Is needed to receive events from third-party services.

You can also activate checkboxes in the main project settings:

<figure><img src="/files/ACyHIlrH6rjko6QZjcsF" alt=""><figcaption></figcaption></figure>

* Automatically accept leads to the first stage of the funnel\
  This checkbox will immediately generate transaction cards at the first stage of the funnel in MaviCRM.
* Forbid operators to send files\
  After selecting this setting, employees of your project with the Operator role (or another manually configured role) will not be able to send files in dialogs.
* Clients waiting for a response are always at the top \
  It will display clients that you or your employees have not yet responded to at the top of the entire list.
* Do not check the format of post-json parameters\
  For settings in the bot
* The bot is turned on\
  A checkbox for turning on/off the bot in a project

## Callback's

In the project settings, you can configure which callbacks you want to receive in MaviBot:

<figure><img src="/files/Mg3ctwmoXLL7Xp8DhkKg" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Callback -   is a system notification that will help you track events in Mavibot without checking the lists, labels and funnels in CRM every time, which will significantly save your time.
{% endhint %}

{% hint style="info" %}
In this section, system notifications are configured only from the Mavibot sections. To see which callbacks come, for example from payment systems, messengers, and other integrations, you need to read the relevant documentation article.
{% endhint %}

&#x20;it is possible to set up callbacks for notifications:

* Adding/removing lists and labels
* Actions with tasks: create, delete, edit, and complete

For example, during creating a task linked to a specific client, a message with the text will appear in the "Clients" section of the dialog with him: new\_task\_added\_callback task\_id:#{task.id}, task\_name:#{task.name}

<figure><img src="/files/s3V1EeqnBrzcHQFSu5fO" alt="" width="375"><figcaption></figcaption></figure>

And when editing a task linked to a specific client, a comment will appear in the dialog with the client with the text: "The task has been edited" #{current\_user.display\_name}: edit\_task\_callback task\_id:#{task.id}, task\_name:#{task.name}"

<figure><img src="/files/u0h2T2utvao9u0vqJZc1" alt="" width="375"><figcaption></figcaption></figure>

* Changing the responsible person of the client

The callback includes the deal ID, as well as the name of the responsible person to whom your previous employee was replaced:

<figure><img src="/files/ZEwlXNPpPdz7YTm5Fq5k" alt="" width="375"><figcaption></figcaption></figure>

* Deal deleting

To see all actions in CRM, also monitor the deletion of transactions in your funnels so that you don't miss anything important:

<figure><img src="/files/jxtByoyjYBPakMvCyAIq" alt="" width="375"><figcaption></figcaption></figure>

* Dragging and dropping deals to a system state

There are system funnel states to which a trade can be moved in MavibotCRM:

It is possible to set the sending of callbacks during dragging and dropping deals by state: "delete deal", "deal completed", "successful deal", "archive". Then, in a dialogue with the client, you will receive a notification of the following type:

<figure><img src="/files/VWYci8ZmihNAAijsbaN3" alt="" width="375"><figcaption></figcaption></figure>

### Setting up callbacks during switching between CRM stages

<figure><img src="/files/O7YYctSZElEJgGJrEaxk" alt=""><figcaption></figcaption></figure>

After clicking on "Callback settings for CRM stage transitions", a modal window opens with all the funnels that exist in the project:

<figure><img src="/files/fdcP8U5kvK3hbXpLRppR" alt=""><figcaption></figcaption></figure>

This setting will help to activate the bot during the client’s switching to a certain funnel state. For this is enough to select either the entire funnel (then any switching of the client's deal through the funnel will activate the bot) or only a switching to a certain state:

<figure><img src="/files/rpu6XkBnKkYa8ek1VGBO" alt="" width="375"><figcaption></figcaption></figure>

Now, during the deal status changes (automatically or manually), a notification is generated from anywhere on the site that can launch the bot.

{% hint style="info" %}
The notification looks like this: crm\_state\_changed Funnel name:Stage name
{% endhint %}

The callback\_query\_id variable will also appear in the client's card, which will store the identifier of the transaction for which the notification was sent:

<figure><img src="/files/rvRG89vBP0ri8e6SOUUV" alt="" width="375"><figcaption></figcaption></figure>

To launch the bot for this event, you must specify the notification text in the Condition field of the arrow or any block with a condition (a block of primary condition verification, not a state condition).

## Constants

{% hint style="danger" %}
Please note!

It is necessary to take into account the limits on variables and constants in the project:

* The maximum number of template variables is 100;
* The name of a template variable cannot exceed 100 symbols;
* The maximum number of project constants is 50;
* The name of the constant cannot exceed 100 symbols;
* The value of a constant cannot exceed 5000 symbols.
  {% endhint %}

A project constant is a constant, immutable variable. For example, you may need it to work with payments in a bot.

<figure><img src="/files/dIqtj0mYcnpeiN7pjQGM" alt="" width="563"><figcaption></figcaption></figure>

To add project constants, click on the pencil icon. Then a modal window will open where you can enter the name of the variable and its value:

<figure><img src="/files/hWwqRrKhHcIBNhht5AQ5" alt="" width="375"><figcaption></figcaption></figure>

Next, you just need to enter a variable:

<figure><img src="/files/BHqSDGl2jD8PH3B0gB7Q" alt="" width="375"><figcaption></figcaption></figure>

Then, in a dialogue with the client, the bot pulls the values from the project constant:

<figure><img src="/files/gCaw8D8nfxpOiCWWwTWT" alt="" width="375"><figcaption></figcaption></figure>

## Variables

{% hint style="danger" %}
Please note!

It is necessary to take into account the limits on variables and constants in the project:

* The maximum number of template variables is 100;
* The name of a template variable cannot exceed 100 symbols;
* The maximum number of project constants is 50;
* The name of the constant cannot exceed 100 symbols;
* The value of a constant cannot exceed 5000 symbols.
  {% endhint %}

The assigned variables in the project settings can also be used inside your chatbot (including an [AI chatbot](/chatbot/ai/online-booking.md)).&#x20;

<figure><img src="/files/7pubkfNT8iaCK1MmsIp7" alt=""><figcaption></figcaption></figure>

The assigned variables in the project settings can also be used inside your chatbot (including an AI chatbot).

{% hint style="warning" %}
Difference between variables and constants

* Variables can be changed through bots, whereas you can only take a value from a constant.
* The value of the variables is the same for all users. This means that if you change the value of a variable through the bot, it will change for all clients, including in the project settings. You can't change a constant like that.
* The value of the constant can only be changed uniquely for one client, respectively, in the project settings, the constant will remain unchanged with the previously set value.
* If you access a variable in the bot using the "project." construct, you can change the value of the variable.
  {% endhint %}

{% hint style="success" %}
A clear example of working with a variable through a bot and the project construct. you can read in the article "[Chatbot with AI for online booking](/chatbot/ai/online-booking.md)".&#x20;
{% endhint %}

### How to assign variables/constants correctly in project settings

{% hint style="danger" %}
PLEASE NOTE!

You cannot use variable interpolation in the value of a variable/constant IN the PROJECT SETTINGS!

Interpolation is the assignment of one variable to another through the construction #{}.
{% endhint %}

<mark style="color:red;">**WRONG:**</mark>

<figure><img src="/files/XOp8Y8R6sk9LCPi8OPKb" alt="" width="375"><figcaption></figcaption></figure>

<mark style="color:green;">**CORRECT:**</mark>

During assigning variables in the project settings, you can use different values:

<figure><img src="/files/EgsNULpR5YP4JlV8o6wi" alt="" width="375"><figcaption></figcaption></figure>

For example, the variables from the screenshot above were cached in the project via the bot using the constructor blocks and installed functions:

<figure><img src="/files/I3Jr5LgERurODfUQyhiT" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
The get\_info\_for\_booking() function only works when the "Services" section is configured for online recording and takes values for available free recording slots.
{% endhint %}

Please note that the variable is cached in the project settings via the "project." construct:

<figure><img src="/files/pxnORVg9JApYczXMXiiw" alt="" width="563"><figcaption></figcaption></figure>

You can also add a variable in the project settings by clicking on the pencil icon:

<figure><img src="/files/NOt1okVePUyB1c2drNxa" alt=""><figcaption></figcaption></figure>

After that a modal window opens with an existing list of variables, where you need to click on "Add variable":

<figure><img src="/files/ozSglXC3Riyhko4a0EyE" alt="" width="375"><figcaption></figcaption></figure>

Moreover, you can set the name of the variable at your discretion, [avoiding naming system variables](/chatbot/functions/variables.md#how-to-work-with-variables)

<figure><img src="/files/6YKeDKouG4Blna80q9xJ" alt="" width="375"><figcaption></figcaption></figure>

### Variable templates

Using the "Project Variable Templates" function, you can quickly assemble variables, regardless of their types.

To assemble a variable using a template, click on the button of the same name:

<figure><img src="/files/SHTnRo5n18wu2QFVBmvd" alt="" width="375"><figcaption></figcaption></figure>

You will see a modal window in which you will see an empty field for the variable name and a drop-down list with the type:

<figure><img src="/files/GqnNCHhlfwCX3u3ID34M" alt=""><figcaption></figcaption></figure>

If you have selected the "List" variable type, then you can specify possible values for the variable.:

<figure><img src="/files/CjRwjaUDS4Ib9sO7LtsA" alt=""><figcaption></figcaption></figure>

To add multiple values:

Step 1: Enter the name of the variable;

Step 2: Enter the value 1 for the variable;

Step 3: click on the plus in the row with the value: after you click on the plus for one of the variable values, a bar will appear under the field with the data you entered for the variable:

<figure><img src="/files/WlBuweCtFMr5R2S7BiSo" alt=""><figcaption></figcaption></figure>

Step 4. Enter the following value of the variable and press the plus button again: you must click on the plus button after each time you enter one of the variable values.

Step 5. Click "Create": then the variable will be added at the bottom of the modal window:

<figure><img src="/files/9YSpROMHgWuC7ZjeGt3i" alt=""><figcaption></figcaption></figure>

## Messages

This section covers all the necessary points when working with chatbots:

<figure><img src="/files/coxZqvkuznXNFPmaS7xb" alt="" width="375"><figcaption></figcaption></figure>

1. You can specify your own address/multiple email addresses to receive orders/requests to your email without missing a single event.
2. If necessary, there is a setting for automatic response to the user's first message in an online chat window or messenger with buttons.

{% hint style="info" %}
For more information, see the article [The first message in messengers](/chatbot/messengers/message.md)&#x20;
{% endhint %}

3. You can also insure yourself so that the bot  never stops: set the text of the message if the bot does not know the user's answer.
4. Also, by activating the notification boxes, you will be able to see the customers who wrote to you in the bot, even if you are currently in another Salebot project.

### Duplicate messages

Also, in the project settings in the Messages section, you can set duplicate messages to the mail of your students and clients:

<figure><img src="/files/e9QEc55nid2mI7O4qmBV" alt=""><figcaption></figcaption></figure>

If a student / client writes to you in an online chat, and after the message is not read by them, then when this setting is set, a message will be sent to the student / client after a specified period of time.

{% hint style="warning" %}
Important! For this feature to work, you need a connected and authorized email bot.
{% endhint %}

{% hint style="info" %}
How to connect an email bot was described in the article "[Email mailings](/mailings/email-campaigns.md)". — вставить ссылку
{% endhint %}

In order for email duplication to work, it is necessary to set the interval after which the unread student/client message will be duplicated to the mail:

<figure><img src="/files/h4J5HuwRyHLItGx7oFOx" alt="" width="375"><figcaption></figcaption></figure>

If several email bots are connected to the project, then you can choose which one the duplicated message will be sent from:

<figure><img src="/files/mS8sylMVmlgR6WdRiYRm" alt=""><figcaption></figcaption></figure>

#### Video tutorial

{% embed url="<https://youtu.be/Teb_onsWUYA>" %}


---

# 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.mavibot.ai/us/admin/settings.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.
