Linear Integration
Connect Otto to Linear to automatically respond to tickets and updates.
Connecting Linear
- Go to Settings → Integrations in your Otto dashboard
- Click Connect Linear
- Sign in to Linear and authorize Otto
- Select which teams Otto should have access to
Webhook Events
Otto listens for these Linear events:
| Event | Description |
|---|---|
| Issue created | New ticket is created |
| Issue updated | Ticket title, description, or fields change |
| Issue status changed | Ticket moves between statuses |
| Label added/removed | Labels are modified |
| Comment created | Someone comments on a ticket |
Setting Up Triggers
Status-Based Triggers
Trigger Otto when a ticket moves to a specific status:
- Go to Triggers → Create Trigger
- Select Linear status change
- Choose the status (e.g., "In Progress")
- Select which agent should handle it
- Optionally filter by team or project
Label-Based Triggers
Trigger Otto when a specific label is applied:
- Create a label in Linear (e.g.,
otto:implement) - In Otto, create a trigger for Linear label added
- Select the label
- Choose the agent
Comment-Based Triggers
Trigger Otto when someone mentions it in a comment:
- Create a trigger for Linear comment created
- Set a keyword filter (e.g.,
@ottoorotto:) - Otto will respond to comments containing that keyword
Project Mapping
Map Linear projects to GitHub repositories:
- Go to Projects in Otto
- Click Add Project
- Select a Linear project
- Select the corresponding GitHub repository
- Choose the default branch
Now Otto knows where to create PRs for tickets in that project.
Best Practices
Use Dedicated Statuses
Create a status specifically for Otto-handled work:
Backlog → Todo → Otto Working → In Review → Done
Prefix Labels
Use a consistent prefix for Otto-related labels:
otto:implement— Full implementationotto:plan— Planning onlyotto:review— Review existing code
Team Isolation
If you have multiple teams, consider separate agents for each with team-specific context.
