--- title: 概览 description: 在 Twenty 内运行的服务端 TypeScript,可由 HTTP 路由、Cron 调度、数据库事件、AI 工具或工作流动作触发。 icon: bolt --- Twenty 应用的 **逻辑层** 是实际*运行*的代码——用于响应 HTTP 请求、cron 调度和记录变更的服务端 TypeScript 处理程序;存在于工作区内的 AI 技能和智能体;以及让你的函数能够代表用户在第三方服务中执行操作的 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) │ └────────────────────────────┘ ``` ## 本节内容 核心构建块——触发器类型、载荷以及类型化的 API 客户端。 可复用的 AI 智能体指令和助手,支持自定义系统提示词。 你的应用为第三方服务(如 Linear、GitHub、Slack 等)持有的 OAuth 凭证。 ## 触发器类型一览 逻辑函数选择一个或多个触发器——下面的每一项都是 `defineLogicFunction()` 上的一个独立字段: | 触发器 | 触发时机 | 设置 | | ----------- | --------------------------------------- | ------------------------------- | | **HTTP 路由** | 请求命中你的 `/s/\` 端点 | `httpRouteTriggerSettings` | | **Cron** | 匹配到一个 CRON 表达式时 | `cronTriggerSettings` | | **数据库事件** | 当工作区记录被创建、更新或删除时 | `databaseEventTriggerSettings` | | **AI 工具** | 某个 Twenty AI 功能决定调用你的函数时 | `toolTriggerSettings` | | **工作流动作** | 当工作流步骤调用你的函数时 | `workflowActionTriggerSettings` | 函数在隔离的 Node.js 进程沙箱中运行,并通过限定在 [`defineApplication()`](/l/zh/developers/extend/apps/config/application) 上声明角色范围内的类型化 API 客户端访问工作区。 **安装时钩子(Install-time hooks)**——在安装前或安装后运行的代码——与上述共享同一运行时,但使用它们自己的 define 函数,并位于 [Config → Install Hooks](/l/zh/developers/extend/apps/config/install-hooks) 下。