Skip to main content
A Twenty app’s logic layer is the code that runs — server-side TypeScript handlers reacting to HTTP requests, cron schedules, and record changes; AI skills and agents that live inside the workspace; and OAuth connections that let your functions act on a user’s behalf in third-party services.

In this section

Logic Functions

The core building block — trigger types, payloads, and the typed API client.

Skills & Agents

Reusable AI agent instructions and assistants with custom system prompts.

Connections

OAuth credentials your app holds for third-party services — Linear, GitHub, Slack, and more.

Key-Value Store

Persist state between logic function runs — caches, cursors, and cross-workspace claims.

Trigger types at a glance

A logic function picks one or more triggers — every entry below is a separate field on defineLogicFunction(): Functions run sandboxed in isolated Node.js processes and access the workspace through a typed API client scoped to the role declared on defineApplication().
Install-time hooks — code that runs before or after the install — share this runtime but use their own define functions and live under Config → Install Hooks.