# AmoCRM: Процедуры

## AmoCRM: Процедуры для настройки сценариев

***

* [Чат с оператором](#chat-s-operatorom)
* [Контакты](#kontakty)
  * [Новый контакт](#sozdanie-kontakta)
  * [Список контактов](#spisok-kontaktov)
  * [Поиск контакта](#poisk-kontakta)
  * [Изменение контакта](#izmenenie-kontakta)
  * [Список доп. полей](#spisok-dop.-polei)
  * [Задача для контакта](#zadacha-dlya-kontakta)
* [Сделки](#sdelki)
  * [Новая сделка](#sozdanie-sdelki)
  * [Список сделок](#spisok-sdelok)
  * [Поиск сделки](#poisk-sdelki)
  * [Изменение сделки](#izmenenie-sdelki)
  * [Список доп. полей](#spisok-dop.-polei-1)
  * [Значение доп. поля](#znachenie-dop.-polei)
  * [Заметка для сделки](#zametka-dlya-sdelki)
  * [Задача для сделки](#zadacha-dlya-sdelki)

***

## Чат с оператором

Начать чат с оператором через AmoCRM.

```
{% amo.enable text=<Тест сообщения> <параметры> %}
```

* `text` *(str)* <mark style="color:red;">\*</mark> – Текст сообщения

Параметры процедуры:

* `team` *(str)* – Название команды операторов в Fasttrack
* `operator_email` *(str)* – Почта оператора в Fasttrack

\[ ⚠️ ] Ограничения:

* Нельзя одновременно указывать `team` и `operator_email`

## Контакты

Процедуры для работы с контактами в AmoCRM.

### Новый контакт

Создать контакт в AmoCRM.

```
{% amo.create_contact <поля контакта> need_save=True as contact %}
```

* `need_save` *(bool)* <mark style="color:red;">\*</mark> – Сохранить ID контакта в атрибутах (по умолчанию `False`)

Поля для заполнения:&#x20;

* `first_name` *(str)* – Имя
* `last_name` *(str)* – Фамилия
* `phone_number` *(str)* – Номер телефона
* `email` *(str)* – Адрес электронной почты
* `custom_fields` *(dict)* – Дополнительные поля

### Список контактов

Получить список контактов из AmoCRM.

```
{% amo.get_contacts_by_phone_number phone_number=<телефон> need_save=True as contacts %}
```

* `phone_number` *(str)* <mark style="color:red;">\*</mark> – Номер телефона

### Поиск контакта

Получить информацию о контакте в AmoCRM по его id, телефону или почте.

#### Найти контакт по ID

```
{% amo.get_contact_by_uid uid=<id контакта> as contact %}
```

* `uid` *(int)* <mark style="color:red;">\*</mark> – Идентификатор контакта в AmoCRM
* `need_save` *(bool)* <mark style="color:red;">\*</mark> – Сохранить ID контакта в атрибутах (по умолчанию `False`)

#### Найти контакт по номеру телефона

```
{% amo.get_contact_by_phone_number phone_number=<телефон> as contact %}
```

* `phone_number` *(str)* <mark style="color:red;">\*</mark> – Номер телефона
* `need_save` *(bool)* <mark style="color:red;">\*</mark> – Сохранить ID контакта в атрибутах (по умолчанию `False`)

#### Найти контакт по адресу эл. почты

```
{% amo.get_contact_by_email email=<почта> as contact %}
```

* `email` *(str)* <mark style="color:red;">\*</mark> – Адрес электронной почты
* `need_save` *(bool)* <mark style="color:red;">\*</mark> – Сохранить ID контакта в атрибутах (по умолчанию `False`)

### Изменение контакта

Изменить информацию о контакте в AmoCRM по его id, телефону или почте.

#### Редактировать контакт по ID

```
{% amo.edit_contact_by_uid uid=<id контакта> <поля контакта> as contact %}
```

* `uid` *(int)* <mark style="color:red;">\*</mark> – Идентификатор контакта в AmoCRM
* `need_save` *(bool)* <mark style="color:red;">\*</mark> – Сохранить ID контакта в атрибутах (по умолчанию `False`)

Поля для редактирования:

* `first_name` *(str)* – Имя
* `last_name` *(str)* – Фамилия
* `phone_number` *(str)* – Номер телефона
* `email` *(str)* – Адрес электронной почты
* `custom_fields` *(dict)* – Дополнительные поля

#### Редактировать контакт по номеру телефона

```
{% amo.edit_contact_by_phone_number phone_number=<телефон> as contact %}
```

* `phone_number` *(str)* <mark style="color:red;">\*</mark> – Номер телефона
* `need_save` *(bool)* <mark style="color:red;">\*</mark> – Сохранить ID контакта в атрибутах (по умолчанию `False`)

Поля для редактирования:

* `first_name` *(str)* – Имя
* `last_name` *(str)* – Фамилия
* `email` *(str)* – Адрес электронной почты
* `custom_fields` *(dict)* – Дополнительные поля

#### Редактировать контакт по адресу эл. почты

```
{% amo.edit_contact_by_email email=<почта> as contact %}
```

* `email` *(str)* <mark style="color:red;">\*</mark> – Адрес электронной почты
* `need_save` *(bool)* <mark style="color:red;">\*</mark> – Сохранить ID контакта в атрибутах (по умолчанию `False`)

Поля для редактирования:

* `first_name` *(str)* – Имя
* `last_name` *(str)* – Фамилия
* `phone_number` *(str)* – Номер телефона
* `custom_fields` *(dict)* – Дополнительные поля

### Список доп. полей

Получить список дополнительных (кастомных) полей контакта в AmoCRM.

```
{% amo.get_contact_custom_fields limit=100 as custom_fields %}
```

* `limit` *(int)* <mark style="color:red;">\*</mark> – Ограничение на кол-во полей в ответе (по умолчанию 100)

### Задача для контакта

Создать задачу, связанную с контактом в AmoCRM.

```
{% amo.create_task contact_id=<id контакта> text=<задача> due_at=<дедлайн> as task %}
```

* `contact_id` *(int)* <mark style="color:red;">\*</mark> – Идентификатор контакта
* `text` *(str)* <mark style="color:red;">\*</mark> – Содержание задачи
* `due_at` *(datetime)* <mark style="color:red;">\*</mark> – Срок выполнения

Параметры процедуры:

* `responsible_id` *(int)* – Идентификатор ответственного

## Сделки

Процедуры для работы со сделками в AmoCRM.

### Новая сделка

Создать сделку в AmoCRM.

```
{% amo.create_deal <параметры> is_unsorted=False as deals %}
```

* `is_unsorted` *(bool)* <mark style="color:red;">\*</mark> – Создать сделку в "Неразобранном" (по умолчанию `False`)

Параметры процедуры:

* `name` *(str)* – Название
* `title` *(str)* – Заголовок
* `status_id` *(int)* – Идентификатор статуса
* `pipeline_id` *(int)* – Идентификатор шага (этапа)
* `responsible_id` *(int)* – Идентификатор ответственного
* `contact_id` *(int)* – Идентификатор контакта
* `custom_fields` *(dict)* – Дополнительные поля
* `tags` *(list\[int])* – Список тегов

\[ ⚠️ ] Ограничения:

* Чтобы создать сделку в "Неразобранном", в процедуре не должно быть параметров `status_id` и `responsible_id`, убедитесь, что вы их не используете.

### Список сделок

Получить список сделок из AmoCRM.

```
{% amo.get_deals query=<value> <параметры> limit=100 as deals %}
```

* `query` *(str)* <mark style="color:red;">\*</mark> – Параметры запроса
* `limit` *(int)* <mark style="color:red;">\*</mark> – Ограничение на кол-во сделок в ответе (по умолчанию 100, не больше 250)

Параметры процедуры:

* `exclude_status_ids` *(set\[int] или list\[int])* – Статусы, которые нужно исключить из ответа

### Поиск сделки

Получить информацию о сделке в AmoCRM.

```
{% amo.get_deal uid=<id сделки> as deal %}
```

* `uid` *(int)* <mark style="color:red;">\*</mark> – Идентификатор сделки в AmoCRM

### Изменение сделки

Редактировать информацию о сделке в AmoCRM.

```
{% amo.edit_deal uid=<id сделки> <поля сделки> as deal %}
```

* `uid` *(int)* <mark style="color:red;">\*</mark> – Идентификатор сделки в AmoCRM

Поля для редактирования:

* `name` *(str)* – Название сделки
* `status_id` *(int)* – Идентификатор статуса
* `pipeline_id` *(int)* – Идентификатор шага (этапа)
* `custom_fields` *(dict)* – Дополнительные поля
* `tags` *(list\[int])* – Список тегов

### Список доп. полей

Получить список дополнительных (кастомных) полей для сделки в AmoCRM.

```
{% amo.get_deal_custom_fields limit=100 as custom_fields %}
```

* `limit` *(int)* <mark style="color:red;">\*</mark> – Ограничение на кол-во полей в ответе (по умолчанию 100)

Параметры процедуры:

### Значение доп. поля

Фильтр, чтобы получить значение дополнительного (кастомного) поля для сделки в AmoCRM.

{% hint style="info" %}
Информация в этом блоке обновляется.
{% endhint %}

### Заметка для сделки

Создать заметку, связанную со сделкой в AmoCRM.

```
{% amo.create_note deal_id=<id сделки> text=<текст заметки> <параметры> as note %}
```

* `deal_id` *(int)* <mark style="color:red;">\*</mark> – Идентификатор сделки в AmoCRM
* `text` *(str)* <mark style="color:red;">\*</mark> – Содержание заметки

Параметры процедуры:

* `owner_id` *(int)* – Идентификатор создателя заметки

### Задача для сделки

Создать задачу, связанную со сделкой в AmoCRM.

```
{% amo.create_task deal_id=<id сделки> text=<текст задачи> due_at=<дедлайн> as task %}
```

* `deal_id` *(int)* <mark style="color:red;">\*</mark> – Идентификатор сделки
* `text` *(str)* <mark style="color:red;">\*</mark> – Содержание задачи
* `due_at` *(datetime)* <mark style="color:red;">\*</mark> – Срок выполнения

Параметры процедуры:

* `responsible_id` *(int)* – Идентификатор ответственного


---

# 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.fstrk.io/knowledge_base/intagrations/amocrm/methods.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.
