Linear
Sync Linear issues and project data into structured JSON so agents can query task status, assignees, and priorities.
| Direction | Pull (Linear → PuppyOne) |
| Trigger | Manual |
| Auth | Linear OAuth |
| Output | JSON |
Data structure
All issues are stored in a single JSON node:
{
"issues": [
{
"id": "ENG-123",
"title": "Fix login page flickering",
"status": "in_progress",
"priority": "urgent",
"assignee": {
"name": "Alice Chen",
"email": "[email protected]"
},
"labels": ["bug", "frontend"],
"created_at": "2026-02-20T09:00:00Z",
"updated_at": "2026-02-25T14:30:00Z",
"due_date": "2026-03-01",
"description": "Users report flickering on the login page in Safari...",
"team": "Engineering",
"cycle": "Sprint 12"
}
],
"total": 87,
"synced_at": "2026-02-26T08:00:00Z"
}Setup steps
Step 1: Authorize Linear
- Open Project → Connections → Add Connection → Linear
- Click Connect with Linear and complete OAuth authorization
Step 2: Select sync scope
| Option | Description |
|---|---|
| Team | Select which team's issues to sync |
| Status filter | Only sync specific statuses (e.g. in_progress, todo) |
| Time range | Sync only recently updated issues |
Step 3: Start sync
Click Start Sync. Linear sync is currently manual, and the data becomes available immediately after it finishes.
Agent usage example
User: What urgent bugs are still open?
Agent: [calls query_data, filter: priority=urgent AND status!=done]
Found 3 urgent unresolved bugs:
1. ENG-123 - Login page flickering (Alice Chen, due 3/1)
2. ENG-156 - iOS crash (unassigned, due 2/28)
3. ENG-171 - Payment timeout (Bob Wang, due 3/5)Notes
- Linear sync currently supports Pull only. Agents cannot modify Linear issues directly through PuppyOne
- Each sync is a full pull, so large datasets may take a few minutes