Linear - Setup Guide
Setup and configuration guide for Linear integration
Linear project management and issue tracking integration for Axellero.
For detailed instructions on managing credentials, connectors, and triggers in Axellero Studio, see the Integration Guide.
Step 1: Create Credential
Getting Your API Key
- Log in to your Linear workspace
- Click on your profile avatar in the top-left corner
- Navigate to Settings > Security & access > API keys
- Click Create new API key
- Enter a descriptive name (e.g., "Axellero Integration")
- Copy the generated API key immediately (it won't be shown again)
Adding Credential to Axellero
- Navigate to Application > Integrations > Credentials
- Click "Add Credential"
- Select Bearer
- Enter:
- Name: "Linear Production"
- Access Token: Your Linear API key
- Click Save
Axellero securely encrypts credentials and handles authentication automatically.
Step 2: Create Connector
- Navigate to Application > Integrations > Connectors
- Click "Add Connector"
- Select Linear from the list
- Configure:
- Name: "Linear - Production"
- Credential: Select the Bearer credential you created
- Click Save
- Test the connection using the "Test" button
The connector is now available in any workflow or agentflow.
Step 3: Create Trigger
For supported events and payload examples, see main documentation.
3.1 Create Webhook in Linear
Linear requires manual webhook registration:
- Go to Linear Settings > API > Webhooks
- Click New Webhook
- Enter the webhook URL (you'll get this from Axellero in Step 3.2)
- Copy the Signing secret (you'll need this for Axellero)
- Select the events you want to receive:
- Issue events (create, update, remove)
- Comment events (create, update, remove)
- Project events (create, update, remove)
- Cycle events (create, update, remove)
- Label events (create, update, remove)
- Click Create webhook
3.2 Create Trigger in Axellero
- Navigate to Integrations > Triggers
- Click "Add Trigger" (+) button
- Select your Linear connector
- Configure trigger options (see table below)
- Click Save
- Copy the generated Webhook URL
- Go back to Linear and update your webhook with this URL
Trigger Configuration Options
| Option | Type | Required | Description |
|---|---|---|---|
secret | TEXT | Yes | Signing secret from Linear webhook settings for HMAC-SHA256 signature verification |
events | TEXT | No | Filter by event types (leave empty for all events) |
Available Event Types:
| Event | Description |
|---|---|
Issue:create | New issue created |
Issue:update | Issue updated |
Issue:remove | Issue deleted |
Comment:create | New comment added |
Comment:update | Comment edited |
Comment:remove | Comment deleted |
Project:create | New project created |
Project:update | Project updated |
Project:remove | Project deleted |
Cycle:create | New cycle/sprint created |
Cycle:update | Cycle updated |
Cycle:remove | Cycle deleted |
IssueLabel:create | New label created |
IssueLabel:update | Label updated |
IssueLabel:remove | Label deleted |
Manual webhook registration required: Linear webhooks must be configured in the Linear dashboard. Copy the Axellero webhook URL and register it in Linear Settings > API > Webhooks.
3.3 Add Trigger to Workflow
- Open Workflow Builder
- Find your Linear trigger in the Triggers section
- Drag to canvas as starting node
- Build workflow logic after the trigger
3.4 Test the Trigger
- Create or update an issue in Linear
- Check workflow execution logs in Axellero
- Verify trigger data via
{{ctx.nodes.linear_trigger.outputs.data}}
Workflow Examples
Example 1: Issue Notification to Telegram
Send Telegram notifications when new issues are created.
Workflow Steps:
- Linear Trigger: Events =
Issue:create - Telegram - sendMessage: Send notification
Configuration:
{
"chatId": "{{ctx.vars.teamChatId}}",
"text": "New issue: {{ctx.nodes.linear_trigger.outputs.data.data.identifier}} - {{ctx.nodes.linear_trigger.outputs.data.data.title}}"
}Example 2: Auto-Label High Priority Issues
Automatically add labels to urgent issues.
Workflow Steps:
- Linear Trigger: Events =
Issue:create - Condition: Check if priority is Urgent (1)
- Linear - updateIssue: Add "Urgent" label
Configuration:
{
"id": "{{ctx.nodes.linear_trigger.outputs.data.data.id}}",
"labelIds": "urgent-label-id"
}Example 3: Daily Sprint Summary via Gmail
Send daily sprint progress via email.
Workflow Steps:
- Schedule Trigger: Daily at 9:00 AM
- Linear - listCycles: Get current cycle
- Linear - listIssues: Filter by cycle
- Gmail - sendMessage: Send summary email
Configuration for listCycles:
{
"teamId": "{{ctx.vars.teamId}}",
"filter": "current"
}Example 4: Sync Issues to GitLab
Create GitLab issues when Linear issues are created.
Workflow Steps:
- Linear Trigger: Events =
Issue:create - GitLab - createIssue: Create corresponding issue
Configuration:
{
"projectId": "{{ctx.vars.gitlabProjectId}}",
"title": "[Linear] {{ctx.nodes.linear_trigger.outputs.data.data.title}}",
"description": "{{ctx.nodes.linear_trigger.outputs.data.data.description}}\n\nLinear: {{ctx.nodes.linear_trigger.outputs.data.url}}"
}Troubleshooting
| Error | Cause | Solution |
|---|---|---|
| 401 Unauthorized | Invalid API key | Verify API key is correct and not expired |
| 403 Forbidden | Insufficient permissions | Check API key has required scopes |
| 404 Not Found | Resource doesn't exist | Verify IDs are correct |
| 429 Rate Limited | Too many requests | Reduce request frequency |
| Missing Linear-Signature header | Webhook not configured | Verify webhook URL in Linear settings |
| Invalid webhook signature | Secret mismatch | Check signing secret matches Linear webhook |
Common Issues
Webhook not receiving events
- Verify webhook URL is correctly registered in Linear
- Check webhook is enabled in Linear settings
- Ensure signing secret matches between Linear and Axellero
API key not working
- API keys may be revoked if account permissions change
- Generate a new API key if the current one doesn't work
- Ensure you copied the full key without extra spaces
Connection test fails
- Verify credential is correctly configured as Bearer type
- Check network/firewall rules allow connections to api.linear.app
- Ensure API key has not been deleted in Linear
Security Best Practices
- Store credentials in Axellero Credential Manager (encrypted)
- Use webhook signature verification (always configure the secret)
- Use API keys with minimum required permissions
- Rotate API keys periodically
- Never share API keys in code or logs