---
title: Обзор
description: Серверный TypeScript, который выполняется внутри Twenty — запускается HTTP-маршрутами, расписаниями cron, событиями базы данных, инструментами ИИ или действиями рабочих процессов.
icon: bolt
---

**Логический слой** приложения Twenty — это код, который *выполняется*: серверные обработчики TypeScript, реагирующие на HTTP-запросы, расписания cron и изменения записей; навыки ИИ и агенты, работающие внутри рабочего пространства; а также OAuth-подключения, позволяющие вашим функциям действовать от имени пользователя в сторонних сервисах.

```text
            ┌─ HTTP route      ──┐
            │  Cron schedule     │
            │  Database event    │      ┌────────────────────┐
  triggers ─┤  AI tool call      ├─────▶│ Logic function     │
            │  Workflow action   │      │ (your handler)     │
            │  Manual exec       │      └────────────────────┘
            └────────────────────┘                │
                                                  ▼
                                  ┌────────────────────────────┐
                                  │ Twenty API (records)       │
                                  │ Third-party API            │
                                  │   (via Connection token)   │
                                  └────────────────────────────┘
```

## В этом разделе

<CardGroup cols={2}>
  <Card title="Логические функции" icon="bolt" href="/l/ru/developers/extend/apps/logic/logic-functions">
    Основной строительный блок — типы триггеров, полезные данные (payloads) и типизированный клиент API.
  </Card>
  <Card title="Навыки и агенты" icon="robot" href="/l/ru/developers/extend/apps/logic/skills-and-agents">
    Повторно используемые инструкции агента ИИ и ассистенты с пользовательскими системными подсказками.
  </Card>
  <Card title="Подключения" icon="plug" href="/l/ru/developers/extend/apps/logic/connections">
    OAuth-учетные данные, которые ваше приложение хранит для сторонних сервисов — Linear, GitHub, Slack и других.
  </Card>
</CardGroup>

## Типы триггеров вкратце

Логическая функция выбирает один или несколько триггеров — каждая запись ниже — это отдельное поле в `defineLogicFunction()`:

| Триггер                        | Когда запускается                                                    | Настройка                       |
| ------------------------------ | -------------------------------------------------------------------- | ------------------------------- |
| **HTTP-маршрут**               | Запрос попадает на вашу конечную точку `/s/\<path>` | `httpRouteTriggerSettings`      |
| **Cron**                       | Срабатывает выражение CRON                                           | `cronTriggerSettings`           |
| **Событие базы данных**        | Запись рабочего пространства создается, обновляется или удаляется    | `databaseEventTriggerSettings`  |
| **Инструмент ИИ**              | Возможность Twenty AI решает вызвать вашу функцию                    | `toolTriggerSettings`           |
| **Действие рабочего процесса** | Шаг рабочего процесса вызывает вашу функцию                          | `workflowActionTriggerSettings` |

Функции выполняются в изолированных процессах Node.js в песочнице и получают доступ к рабочему пространству через типизированный клиент API с областью действия, ограниченной ролью, объявленной в [`defineApplication()`](/l/ru/developers/extend/apps/config/application).

<Note>
**Хуки времени установки** — код, который выполняется до или после установки, — используют то же окружение выполнения, но свои собственные функции `define*` и находятся в разделе [Config → Install Hooks](/l/ru/developers/extend/apps/config/install-hooks).
</Note>
