{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Linear Ticketing Provider Configuration Guide","siteUrl":"https://docs.synqly.com","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"linear-ticketing-provider-configuration-guide","__idx":0},"children":["Linear Ticketing Provider Configuration Guide"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This guide explains how to configure a Linear Ticketing integration."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"overview","__idx":1},"children":["Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Linear uses personal API keys to authenticate API requests. Each key is scoped to the workspace of the user who creates it."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prerequisites","__idx":2},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A Linear account with access to the workspace you want to integrate"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Permissions to create API keys in that workspace"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"authentication-steps","__idx":3},"children":["Authentication Steps"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"1-generate-a-personal-api-key","__idx":4},"children":["1. Generate a Personal API Key"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the workspace name in the top left corner"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Settings"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Security & access"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Find ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Personal API Keys"]}," and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New API Key"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter a key name and configure the desired permissions"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Note down the API key in a secure place — it is shown only once"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The available permissions are Read, Write, Create Issues, and Create Comments. Enable the permissions appropriate for your use case."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For reference, see the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://linear.app/developers/graphql#personal-api-keys"},"children":["Linear API documentation on personal API keys"]},"."]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," Linear API keys start with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lin_api_"]},". If your key does not match this format, verify you copied it correctly."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"2-optional-identify-your-default-team-id","__idx":5},"children":["2. (Optional) Identify Your Default Team ID"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you want ticket creation requests to default to a specific team without requiring it in each request:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["From the sidebar, select the team name. The URL will look like ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://linear.app/acmecorp/team/DEV/overview"]}," — in this example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DEV"]}," is the team ID."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Alternatively, select the three-dot menu (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["..."]},") next to the team name, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Team settings"]}," > ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["General"]},", and find the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Identifier"]}," field."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configure-the-integration","__idx":6},"children":["Configure the Integration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create your integration by supplying the following values:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Credential"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The personal API key generated in step 1"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API URL"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["GraphQL API endpoint. Defaults to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.linear.app/graphql"]},". Only change this for custom deployments."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Default Team ID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional. The Linear team ID to use when creating tickets if no team is specified in the request."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"verification","__idx":7},"children":["Verification"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After configuring the integration, test the connection to ensure proper functionality."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"troubleshooting","__idx":8},"children":["Troubleshooting"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you encounter any issues:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Verify your API key starts with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lin_api_"]}," and has not been revoked"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm your Linear account has access to the target workspace"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Check that the API key owner has permissions to the teams and projects you need"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"additional-resources","__idx":9},"children":["Additional Resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developers.linear.app/"},"children":["Linear API Documentation"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://linear.app/developers/graphql#personal-api-keys"},"children":["Personal API Keys"]}]}]}]},"headings":[{"value":"Linear Ticketing Provider Configuration Guide","id":"linear-ticketing-provider-configuration-guide","depth":1},{"value":"Overview","id":"overview","depth":2},{"value":"Prerequisites","id":"prerequisites","depth":2},{"value":"Authentication Steps","id":"authentication-steps","depth":2},{"value":"1. Generate a Personal API Key","id":"1-generate-a-personal-api-key","depth":3},{"value":"2. (Optional) Identify Your Default Team ID","id":"2-optional-identify-your-default-team-id","depth":3},{"value":"Configure the Integration","id":"configure-the-integration","depth":2},{"value":"Verification","id":"verification","depth":2},{"value":"Troubleshooting","id":"troubleshooting","depth":2},{"value":"Additional Resources","id":"additional-resources","depth":2}],"frontmatter":{"slug":"guides/provider-configuration/linear-ticketing-setup","seo":{"title":"Linear Ticketing Provider Configuration Guide"}},"lastModified":"2026-07-02T16:27:34.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/provider-configuration/linear-ticketing-setup","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}