Bulk-Plan Your Ticket Backlog
Multi-select tickets in Linear and get confidence-scored implementation plans for your entire backlog.Connect Linear
Go to Settings > Integrations > Linear and click Connect. You’ll authorize Devin to access your workspace and choose which teams it can see. You can also use Jira instead if that’s your team’s ticketing system.Once your Linear integration is active, check the Synced playbook labels section in the Linear settings. The
!plan playbook is set as the default — it tells Devin to analyze and comment on tickets without writing code.For playbook labels to sync to Linear automatically, your Linear workspace must have Manage workspace labels set to All members (found under Linear’s Settings > Security). If that’s not enabled, you’ll need to create the labels manually in Linear.
Select tickets and add the Devin label
Open your backlog in Linear, press Cmd+A to multi-select tickets (or Shift+Click for a specific range), then right-click and select Add label > Devin. To use a specific playbook, choose a synced label like
!plan from the Devin Playbooks label group instead.Devin begins scoping every selected ticket in parallel. Within a few minutes, each ticket gets a detailed comment with a confidence score and implementation plan.Read Devin's analysis on each ticket
Devin posts a structured comment directly on every ticket. Each comment includes a confidence score (🟢 🟡 🔴), the relevant files and modules it found in your codebase, a step-by-step implementation plan, and any open questions that need a human answer before Devin can proceed.
What the scores mean:
| Ticket | Title | Score | What Devin found |
|---|---|---|---|
| FE-412 | Dark mode toggle | 🟢 | Theme context exists at src/contexts/ThemeContext.tsx; toggle pattern used in 3 other settings |
| FE-419 | Date picker timezone bug | 🟢 | Bug isolated to formatLocalDate() in src/utils/dates.ts; unit test missing |
| BE-203 | Migrate prefs to Postgres | 🟡 | 14 call sites across 6 services — needs clarification on rollback strategy |
| BE-210 | Rate limiting on webhooks | 🟢 | Existing rate limiter middleware at src/middleware/rateLimiter.ts; just needs config |
| INF-102 | k8s health check | 🟢 | Readiness probe already exists at /healthz; liveness probe follows same pattern |
- 🟢 Green — Devin can handle this autonomously. Click the link in Devin’s comment to kick off a session immediately.
- 🟡 Yellow — Devin has specific questions. Answer them in the ticket thread or in Spaces, and Devin re-evaluates — often upgrading to green.
- 🔴 Red — Best assigned to a human engineer, but Devin’s codebase analysis gives you a head-start on scoping.
Set up automation triggers for continuous planning
Instead of manually labeling tickets each time, configure an automation trigger so new tickets are planned the moment they hit your backlog.In Settings > Integrations > Linear, scroll to Automation triggers and click Add trigger:
- Teams: Select the teams to auto-plan (e.g., “Engineering”, “Platform”)
- Statuses: Fire when a ticket moves to a specific status like “Triage” or “Todo”
- Labels: Optionally restrict to specific labels (e.g., only
FeatureorImprovementtickets) - Playbook: Select
!planso Devin scopes and comments without writing code
