Custom Workflows
Stock workflows cover common patterns. Create your own to automate anything else.
Two ways to create
Or just ask your assistant
The easiest way to create a workflow? Email your assistant.
“Create a workflow that labels emails from my team and keeps them in inbox”
“I want a weekly summary of all newsletters I received”
“Make a workflow that alerts me when I get emails with ‘urgent’ in the subject”
Your assistant understands what you want, generates the configuration, tests it, and enables it for you.
Start by asking your assistant. If you need more control, use the Workflow Builder or manual configuration.
What you can automate
Workflows have access to all the tools your assistant can use:
| Category | What you can do |
|---|---|
| Read, search, label, archive, send, create drafts | |
| Calendar | View events, create meetings, check availability |
| Research | Web search, analyze results, run code |
| Integrations | GitHub, Slack, Linear, Notion, HubSpot |
| Self-reference | Query what other workflows have done |
Workflow types
Prompt-based workflows
The default type. You describe behavior in natural language, and the AI decides how to execute it.
{
"prompt": "When I receive a newsletter, archive it and add the 'newsletters' label",
"tools": ["read_email", "add_label", "archive_email"]
}Best for: Flexible reasoning, open-ended tasks, quick iteration.
Code workflows
For deterministic, multi-step processes. You write TypeScript that runs in a sandbox.
const emails = await step('gather', async () => {
return await tool('search_emails', { query: 'from:newsletter' });
});
await step('process', async () => {
for (const email of emails) {
await tool('add_label', { emailId: email.id, label: 'newsletters' });
await tool('archive_email', { emailId: email.id });
}
});
complete();Best for: Complex orchestration, precise formatting, aggregating data from multiple sources.
Learn more in Concepts.
Safety controls
Workflows respect the same safety controls as stock workflows:
- Modes — Autonomous, approval-required, or read-only
- Per-tool controls — Different approval levels for different actions
- Blocked combinations — Certain tool combinations aren’t allowed for security
Learn more in Safety.
Getting started
- Try asking your assistant — Email yourname@town.com with what you want
- Use the Workflow Builder — For more control, describe your workflow in the UI
- Go manual — For full control, configure every setting yourself
Related
- Workflow Builder — Guided creation with natural language
- Manual Configuration — Full control over settings
- Concepts — Technical deep-dives
- Safety — Control and approval settings