Linear
Linear – Connector Configuration
Step 1: Access Linear & Create Developer Account
Sign in to your Linear workspace at Linear
You need admin permissions in your Linear workspace to create applications
Navigate to your workspace settings
⚠️ Note: Only workspace administrators can create OAuth applications in Linear.
Step 2: Create Your OAuth Application
Navigate to API Settings:
Go to Settings → Account → API
Or visit:
https://linear.app/[your-workspace]/settings/api
Create New Application:
Click "Create new" under OAuth applications
Fill in the application details:
Application name (e.g., "Appmixer Integration")
Description - Brief description of your integration
Website URL - Your organization's website
Callback URLs - OAuth redirect endpoints
Step 3: Configure OAuth Settings
Set Callback URLs:
Add your OAuth callback URL in the "Callback URLs" field
For Appmixer, set the redirect URI to:
https://[YOUR_API_BASE]/auth/linear/callback
Example:
https://api.appmixer.com/auth/linear/callback
Configure Scopes:
Linear uses specific scopes to control access:
read
- Read access to issues, projects, teams, and userswrite
- Write access to create and update issues and commentsadmin
- Administrative access (use with caution)
Application Details:
Application name: Your integration name
Description: Purpose of your integration
Website: Your application or company website
Step 4: Copy Your OAuth Credentials
After creating your application, you'll receive:
Client ID - Your OAuth application identifier
Client Secret - Your OAuth application secret (keep this secure!)
⚠️ Important: Store your Client Secret securely and never expose it in client-side code!
Step 5: Webhook Configuration (Optional)
Linear supports webhooks for real-time updates:
Create Webhook:
In API settings, go to "Webhooks" section
Click "Create webhook"
Configure Webhook Settings:
URL: Your endpoint to receive webhook notifications
Label: Descriptive name for the webhook
Secret: Optional signing secret for verification
Select Resources:
Choose which resources trigger webhooks:
Issue
- Issue creation, updates, deletionComment
- Comment creation and updatesProject
- Project changesProjectUpdate
- Project status updates
Step 6: Personal API Key (Alternative)
For server-to-server integrations, you can use personal API keys:
Generate Personal API Key:
Go to Settings → Account → API
Click "Create key" under Personal API keys
Add a descriptive label
Copy the generated key immediately (it won't be shown again)
⚠️ Note: Personal API keys have the same permissions as your user account.
Step 7: Connector Configuration
Go to the Appmixer BackOffice -> Configuration.
Add new configuration:
acme:linear
.Add your
clientId
andclientSecret
keys with values from Linear.

Test OAuth Flow:
Linear authorization URL:
https://linear.app/oauth/authorize
Required parameters:
client_id
,redirect_uri
,response_type=code
,scope
API Testing:
Linear GraphQL API endpoint:
https://api.linear.app/graphql
Include
Authorization: Bearer <access_token>
headerTest with a simple query like fetching the viewer:
{
viewer {
id
name
email
}
}
Step 8: GraphQL API Overview
Linear uses GraphQL exclusively:
Common Queries:
Issues:
issues
,issue
Teams:
teams
,team
Projects:
projects
,project
Users:
users
,user
Common Mutations:
Create Issue:
issueCreate
Update Issue:
issueUpdate
Create Comment:
commentCreate
Example Issue Query:
{
issues(first: 10) {
nodes {
id
title
description
state {
name
}
assignee {
name
}
}
}
}
Step 9: Rate Limits
Rate Limits:
Complexity-based limiting: Each query has a complexity score
Maximum complexity: 1000 points per query
Rate limit: 2000 requests per hour per access token
Burst limit: 120 requests per minute
Useful Links
Last updated
Was this helpful?