> For the complete documentation index, see [llms.txt](https://docs.onerpa.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.onerpa.ru/ai-platforma-oneapa/spravochniki/triggery.md).

# Триггеры

Справочник `APA_Триггеры` определяет события, которые запускают работу агентов.

## Назначение

Триггер определяет, при каком событии агент начинает работу:

* Сообщение в чате
* Входящий email
* API запрос
* Изменение буфера обмена
* Запись объекта в 1С

## Характеристики справочника

| Параметр      | Значение      |
| ------------- | ------------- |
| Имя           | APA\_Триггеры |
| Иерархический | Нет           |
| Владельцы     | Нет           |

## Реквизиты

| Реквизит         | Тип          | Обязательный | Описание               |
| ---------------- | ------------ | ------------ | ---------------------- |
| **Код**          | Строка(9)    | Да           | Уникальный код         |
| **Наименование** | Строка(150)  | Да           | Название триггера      |
| **ТипТригера**   | Перечисление | Да           | Тип события            |
| **ТекстУсловия** | Строка(0)    | Нет          | Дополнительное условие |

## Типы триггеров

### Перечисление "Типы триггеров"

| Значение          | Описание         | Использование          |
| ----------------- | ---------------- | ---------------------- |
| **Чат**           | Сообщение в чате | Основной способ        |
| **EMail**         | Входящее письмо  | Автоматизация по email |
| **API**           | HTTP запрос      | Внешние системы        |
| **БуферОбмена**   | Изменение буфера | Быстрые действия       |
| **ЗаписьОбъекта** | Событие в 1С     | Автоматизация 1С       |

## Триггер "Чат"

### Описание

Агент запускается, когда пользователь отправляет сообщение в чат.

### Настройка

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Триггер: Чат по умолчанию                                              │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Тип триггера: [Чат                                              ▼]    │
│                                                                          │
│  Условие: (не требуется для чата)                                       │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

### Пример использования

```
Агент: Помощник
Триггер: Чат

Пользователь отправляет сообщение → Агент получает и обрабатывает
```

## Триггер "EMail"

### Описание

Агент запускается при получении email на определённый адрес.

### Настройка

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Триггер: Обращения на support@                                         │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Тип триггера: [EMail                                            ▼]    │
│                                                                          │
│  Условие:                                                                │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ {                                                                  │ │
│  │   "to": "support@company.ru",                                      │ │
│  │   "subject_contains": "Заявка"                                     │ │
│  │ }                                                                  │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

### Пример использования

```
Агент: Обработчик обращений
Триггер: EMail на support@company.ru

Входящее письмо → Агент читает и классифицирует → Отправляет ответ
```

### Условия для EMail

| Параметр           | Описание            |
| ------------------ | ------------------- |
| `to`               | Адрес получателя    |
| `from`             | Адрес отправителя   |
| `subject_contains` | Текст в теме        |
| `body_contains`    | Текст в теле письма |

## Триггер "API"

### Описание

Агент запускается при получении HTTP запроса на специальный endpoint.

### Настройка

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Триггер: API для внешних систем                                        │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Тип триггера: [API                                              ▼]    │
│                                                                          │
│  Условие:                                                                │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ {                                                                  │ │
│  │   "endpoint": "/api/process",                                      │ │
│  │   "method": "POST"                                                 │ │
│  │ }                                                                  │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

### Пример вызова

```bash
curl -X POST http://proxy:9000/api/process \
  -H "Content-Type: application/json" \
  -d '{"message": "Обработай заказ #123"}'
```

## Триггер "Буфер обмена"

### Описание

Агент запускается при изменении содержимого буфера обмена.

### Настройка

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Триггер: Буфер обмена                                                  │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Тип триггера: [БуферОбмена                                      ▼]    │
│                                                                          │
│  Условие:                                                                │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ {                                                                  │ │
│  │   "pattern": "^ИНН:\\s*\\d{10,12}$"                                │ │
│  │ }                                                                  │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

### Пример использования

```
Пользователь копирует ИНН → Агент автоматически ищет контрагента
```

## Триггер "Запись объекта"

### Описание

Агент запускается при записи объекта в 1С (документа, справочника).

### Настройка

```
┌─────────────────────────────────────────────────────────────────────────┐
│  Триггер: При создании заявки на отпуск                                 │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│  Тип триггера: [ЗаписьОбъекта                                    ▼]    │
│                                                                          │
│  Условие:                                                                │
│  ┌────────────────────────────────────────────────────────────────────┐ │
│  │ {                                                                  │ │
│  │   "object_type": "Документ.ЗаявкаНаОтпуск",                        │ │
│  │   "event": "ПриЗаписи",                                            │ │
│  │   "new_only": true                                                 │ │
│  │ }                                                                  │ │
│  └────────────────────────────────────────────────────────────────────┘ │
│                                                                          │
└─────────────────────────────────────────────────────────────────────────┘
```

### Пример использования

```
Создаётся заявка на отпуск → Агент проверяет корректность → Отправляет уведомление
```

### Параметры условия

| Параметр              | Описание                                   |
| --------------------- | ------------------------------------------ |
| `object_type`         | Тип объекта (Документ.XXX, Справочник.XXX) |
| `event`               | Событие (ПриЗаписи, ПередЗаписью)          |
| `new_only`            | Только для новых объектов                  |
| `modified_attributes` | Изменённые реквизиты                       |

## Создание триггера

### Шаг 1: Определение события

Определите, при каком событии должен запускаться агент:

| Сценарий                       | Триггер       |
| ------------------------------ | ------------- |
| Ответы на вопросы в чате       | Чат           |
| Обработка входящих писем       | EMail         |
| Интеграция с внешней системой  | API           |
| Быстрые действия с данными     | БуферОбмена   |
| Автоматизация бизнес-процессов | ЗаписьОбъекта |

### Шаг 2: Создание

1. Откройте справочник "Триггеры"
2. Нажмите "Создать"
3. Выберите тип триггера
4. При необходимости укажите условие
5. Сохраните

### Шаг 3: Привязка к агенту

1. Откройте агента
2. Выберите триггер в поле "Триггер"
3. Сохраните

## Условия триггеров

### Формат условий

Условия задаются в формате JSON:

```json
{
  "параметр1": "значение1",
  "параметр2": "значение2"
}
```

### Примеры условий

**EMail с определённой темой:**

```json
{
  "to": "hr@company.ru",
  "subject_contains": "Отпуск"
}
```

**API с определённым endpoint:**

```json
{
  "endpoint": "/agent/invoke",
  "method": "POST",
  "required_headers": ["Authorization"]
}
```

**Буфер обмена с шаблоном:**

```json
{
  "pattern": "^\\d{10}$",
  "description": "10-значный номер"
}
```

## Устранение проблем

### Триггер не срабатывает

1. Проверьте тип триггера
2. Проверьте условия
3. Убедитесь, что триггер привязан к активному агенту

### EMail триггер не работает

1. Проверьте настройки почтового сервера
2. Проверьте адрес получателя в условии
3. Проверьте логи обработки писем

### API триггер не отвечает

1. Проверьте endpoint в условии
2. Проверьте метод HTTP
3. Проверьте логи Proxy

## Далее

{% content-ref url="/pages/a84enPzGmQjkGVxH6NL6" %}
[Форматы](/ai-platforma-oneapa/spravochniki/formaty.md)
{% endcontent-ref %}
