# Триггеры

Справочник `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 %}


---

# 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.onerpa.ru/ai-platforma-oneapa/spravochniki/triggery.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.
