Linear
Use Cheqpoint to gate AI-driven Linear actions — issue creation, triage updates, project changes, and team assignments — behind human approval before they execute.
Use case
AI Assistants integrated with Linear can create issues, move tickets across cycles, close bugs, or reassign work — all autonomously. Cheqpoint adds a pause before any write operation executes, giving your engineering team visibility and control over what the AI is changing in your project tracker.
Common actions to gate
- Creating new issues (especially bulk creation from AI triage)
- Changing issue status, priority, or assignee
- Moving issues between projects or cycles
- Archiving or deleting issues
- Creating or modifying project milestones
Prerequisites
@linear/sdk(Node.js) orlinear-sdk(Python) configured with a Linear API key.- Cheqpoint Connection Key.
Sample request payload — issue creation
{
"action": "linear_create_issue",
"summary": "AI requesting creation of 8 bug issues from error log analysis",
"details": {
"teamId": "ENG",
"issueCount": 8,
"titles": [
"NullPointerException in checkout flow",
"Timeout on payment gateway webhook"
],
"priority": 2,
"labels": ["bug", "ai-triage"]
}
}Sample Cheqpoint response
{
"status": "approved",
"modifiedDetails": {
"issueCount": 2,
"titles": ["NullPointerException in checkout flow", "Timeout on payment gateway webhook"]
},
"decisionNote": "Only the 2 P1 bugs approved. Deprioritise remaining."
}import os
from cheqpoint import CheqpointClient
cheq = CheqpointClient(api_key=os.environ["CQ_API_KEY"])
def create_linear_issue_with_approval(team_id: str, title: str, priority: int):
"""Submit a Cheqpoint approval before creating a Linear issue."""
approval = cheq.request_sync(
action="linear_create_issue",
summary=f"AI requesting creation of Linear issue: {title}",
details={"teamId": team_id, "title": title, "priority": priority},
timeout_ms=30_000,
)
if approval["status"] != "approved":
raise ValueError(f"Issue creation blocked: {approval.get('decisionNote', 'rejected')}")
effective = approval.get("modifiedDetails") or {
"teamId": team_id, "title": title, "priority": priority
}
# Call Linear GraphQL API or SDK with effective payload
return call_linear_api("issueCreate", effective)Routing tip
Create a dedicated Review Group in Cheqpoint for your engineering team to handle Linear approval requests, separate from customer-facing operations queues. Set an SLA of 30 minutes for engineering triage actions.
Get your Connection Key at cheqpoint.co/signup.