The problem
Suppose you have an AI agent setup using MCP. Each time the agent runs, it rediscovers context about your workspace:The solution
terse generate compiles that context into typed code once. It also encodes how your organization
uses the tools so your coding agents can build automations quickly and with the right context.
How it works
Connect integrations
Connect your CRM, enrichment provider, and messaging tools in the Terse app,
or run
terse integrate.Run `terse generate`
Terse reads your connected integrations and their resources: lists, records,
channels, owners, endpoints, and more.
The CLI writes `src/terse.generated.ts`
The generated file contains typed exports for triggers, skills,
deterministic tools, and workspace constants specific to your account.
Key terms
| Term | Meaning |
|---|---|
| Workflow | A TypeScript automation with triggers, skills, and a handler that you deploy with the CLI |
| Trigger | The event (e.g. CRM record created) or schedule (e.g. cron) that starts the workflow |
| Skill | A capability the workflow can use after you connect an integration (e.g. Attio.skill(), Apollo.skill()) |
| Generated helpers | Typed exports in src/terse.generated.ts — triggers, skills, resource constants, and agent.tools.* wrappers |
Benefits
- Less runtime drift — workspace structure is compiled into code.
- Lower latency — no API calls to discover lists, channels, or owners.
- Type safety — broken references fail at build time instead of in production.
- Better prompts — workflows start with real context, not guesses.
Where to go next
Quickstart
Get a workflow live fast.
Templates
Templates
