With Opal’s Linear integration, you can sync access requests with your Linear support tickets to grant access for the lifetime of the support ticket. When the ticket is closed (marked Done, Canceled, or Trashed), access is also revoked.
To enable the Linear integration, your Linear workspace administrator should create a Personal API key. Enter a label for the key, click Create Key and save the generated key. You’ll use it in the following step.
In the Opal dashboard, go to the Configuration > Settings > Productivity Integrations. Select Linear and enter the API key from the previous step. Once complete, you’ve successfully integrated Linear with Opal. You can then load and bind Linear issues.
For any access request, binding to a support ticket is optional. After you integrate Linear, when making a request, you can enable the option to Expire access when ticket is closed.When you select Search for tickets, a list of Linear issues populates, only including issues assigned to you in Linear, based on the Linear account which corresponds to your Opal email address.Click on any of these support tickets to attach the ticket to the access request.By default, an expiration time bound is required when making any access request.After the request is approved, access expiration is determined by the combination of this expiration time bound and the closure of the support ticket. Access will expire according to the minimum of these two events: if the ticket is closed before the expiration time bound is reached, access will be revoked when the ticket is closed.Similarly, if the expiration time bound is reached before the closure of the ticket, access is revoked when the expiration time bound is reached.If you want to attach an access request to a support ticket, without an expiration time bound, you may select Indefinite under the expiration options and bind the request to a support ticket
Last modified on September 10, 2026
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Opal Security Docs","colors":{"primary":"#0C7997","light":"#EDFCFC","dark":"#074055"},"logo":{"light":"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=93a4bd75f157f9f0ab43cdf4d715b5cd","dark":"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-light.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=1774b545e4f1c5cad647f5194f7b26d9"},"favicon":{"light":"https://mintcdn.com/opalsecurity/DRAwGKUXMxLRQouh/logo/icon-opal-black.svg?fit=max\u0026auto=format\u0026n=DRAwGKUXMxLRQouh\u0026q=85\u0026s=9c8bd1204b6b5b83542c2ab5be549858","dark":"https://mintcdn.com/opalsecurity/DRAwGKUXMxLRQouh/logo/icon-opal-white.svg?fit=max\u0026auto=format\u0026n=DRAwGKUXMxLRQouh\u0026q=85\u0026s=73b53b4ceab6ae0b00e30b2042a6020a"},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","latex":false},"integrations":{"ga4":{"measurementId":"G-1PPPM1WF6D"}},"errors":{"404":{"redirect":false,"title":"Page can't be found","description":"Sorry! This page might have been moved, or the link might be broken. Go back to our documentation via https://docs.opal.dev/docs/welcome."}},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"opalsecurity","hasAudioNarration":false,"actualSubdomain":"opalsecurity","customDomains":["docs.opal.dev"],"gitSource":{"type":"github","owner":"opalsecurity","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3718e0ce5564250d481af","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API Reference","count":217},{"language":"default","tag":"Opal API","count":212},{"language":"default","tag":"Integrations","count":102},{"language":"default","tag":"Documentation","count":100},{"language":"default","tag":"Entitlement Management","count":68},{"language":"default","tag":"resources","count":34},{"language":"default","tag":"groups","count":32},{"language":"default","tag":"Getting Started","count":25},{"language":"default","tag":"Access Management","count":22},{"language":"default","tag":"Infrastructure","count":22}]},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"deflection":{"enabled":true,"email":"support@opal.dev","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"integrations/linear-ticketing","slug":"/integrations/linear-ticketing","pageMetadata":{"title":"Linear","description":null,"href":"/integrations/linear-ticketing"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,em:`em`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,OptimizedImage}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`With Opal’s Linear integration, you can sync access requests with your Linear support tickets to grant access for the lifetime of the support ticket. When the ticket is closed (marked `,_jsx(_components.em,{children:`Done`}),`, `,_jsx(_components.em,{children:`Canceled`}),`, or `,_jsx(_components.em,{children:`Trashed`}),`), access is also revoked.`]}),`\n`,_jsx(Heading,{level:`2`,id:`1-create-a-linear-personal-api-key`,children:`1. Create a Linear Personal API key`}),`\n`,_jsxs(_components.p,{children:[`To enable the Linear integration, your Linear workspace administrator should `,_jsx(_components.a,{href:`https://linear.app/settings/account/security`,children:`create a Personal API key`}),`. Enter a label for the key, click `,_jsx(_components.strong,{children:`Create Key`}),` and save the generated key. You’ll use it in the following step.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/opalsecurity/lt0M-hBs5yNe5ff5/images/docs/9a09bab8863e1e6d44e2fc6cab7858b733b78d5ad5f8519ff8e785dbdc58ad93-linear-api-key.png?fit=max\u0026auto=format\u0026n=lt0M-hBs5yNe5ff5\u0026q=85\u0026s=ba846454bcdf554b81d7f9d0221e718e`,alt:``,\"data-og-width\":`3097`,width:`3097`,\"data-og-height\":`1356`,height:`1356`,\"data-path\":`images/docs/9a09bab8863e1e6d44e2fc6cab7858b733b78d5ad5f8519ff8e785dbdc58ad93-linear-api-key.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/opalsecurity/lt0M-hBs5yNe5ff5/images/docs/9a09bab8863e1e6d44e2fc6cab7858b733b78d5ad5f8519ff8e785dbdc58ad93-linear-api-key.png?w=280\u0026fit=max\u0026auto=format\u0026n=lt0M-hBs5yNe5ff5\u0026q=85\u0026s=a88dbfaf128330bdcc91ae30e1507742 280w, https://mintcdn.com/opalsecurity/lt0M-hBs5yNe5ff5/images/docs/9a09bab8863e1e6d44e2fc6cab7858b733b78d5ad5f8519ff8e785dbdc58ad93-linear-api-key.png?w=560\u0026fit=max\u0026auto=format\u0026n=lt0M-hBs5yNe5ff5\u0026q=85\u0026s=6799c12045d0150165b37dce72a738ab 560w, https://mintcdn.com/opalsecurity/lt0M-hBs5yNe5ff5/images/docs/9a09bab8863e1e6d44e2fc6cab7858b733b78d5ad5f8519ff8e785dbdc58ad93-linear-api-key.png?w=840\u0026fit=max\u0026auto=format\u0026n=lt0M-hBs5yNe5ff5\u0026q=85\u0026s=4c08a323cfe6e91304db81cc63cd2056 840w, https://mintcdn.com/opalsecurity/lt0M-hBs5yNe5ff5/images/docs/9a09bab8863e1e6d44e2fc6cab7858b733b78d5ad5f8519ff8e785dbdc58ad93-linear-api-key.png?w=1100\u0026fit=max\u0026auto=format\u0026n=lt0M-hBs5yNe5ff5\u0026q=85\u0026s=a5e558814e78ebd5a35791cd5add9422 1100w, https://mintcdn.com/opalsecurity/lt0M-hBs5yNe5ff5/images/docs/9a09bab8863e1e6d44e2fc6cab7858b733b78d5ad5f8519ff8e785dbdc58ad93-linear-api-key.png?w=1650\u0026fit=max\u0026auto=format\u0026n=lt0M-hBs5yNe5ff5\u0026q=85\u0026s=df01bea9b3b3b2c856a09df24f7c90a1 1650w, https://mintcdn.com/opalsecurity/lt0M-hBs5yNe5ff5/images/docs/9a09bab8863e1e6d44e2fc6cab7858b733b78d5ad5f8519ff8e785dbdc58ad93-linear-api-key.png?w=2500\u0026fit=max\u0026auto=format\u0026n=lt0M-hBs5yNe5ff5\u0026q=85\u0026s=3febde4757430a2ec84fb680e578ad31 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`2-add-your-linear-personal-api-key-to-opal`,children:`2. Add your Linear Personal API key to Opal`}),`\n`,_jsxs(_components.p,{children:[`In the Opal dashboard, go to the `,_jsx(_components.strong,{children:`Configuration`}),` > `,_jsx(_components.strong,{children:`Settings`}),` > `,_jsx(_components.strong,{children:`Productivity Integrations`}),`. Select `,_jsx(_components.strong,{children:`Linear`}),` and enter the API key from the previous step. Once complete, you’ve successfully integrated Linear with Opal. You can then load and bind Linear issues.`]}),`\n`,_jsx(Heading,{level:`2`,id:`access-requests-with-linear-tickets`,children:`Access requests with Linear tickets`}),`\n`,_jsxs(_components.p,{children:[`For any access request, binding to a support ticket is optional. After you integrate Linear, when making a request, you can enable the option to `,_jsx(_components.strong,{children:`Expire access when ticket is closed`}),`.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/opalsecurity/odnvD_MsXBxTor9u/images/docs/8b2545b49a18fd4d7fa6c935eb5947188330aa7629a19991bb73eb68a3dcb2f4-request-access-linear-ticket.png?fit=max\u0026auto=format\u0026n=odnvD_MsXBxTor9u\u0026q=85\u0026s=eeff720e274c708e3037fc13ac1178a8`,alt:`2408`,\"data-og-width\":`2582`,width:`2582`,\"data-og-height\":`1499`,height:`1499`,\"data-path\":`images/docs/8b2545b49a18fd4d7fa6c935eb5947188330aa7629a19991bb73eb68a3dcb2f4-request-access-linear-ticket.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/opalsecurity/odnvD_MsXBxTor9u/images/docs/8b2545b49a18fd4d7fa6c935eb5947188330aa7629a19991bb73eb68a3dcb2f4-request-access-linear-ticket.png?w=280\u0026fit=max\u0026auto=format\u0026n=odnvD_MsXBxTor9u\u0026q=85\u0026s=58690f0f497322c13cb544f74a312daf 280w, https://mintcdn.com/opalsecurity/odnvD_MsXBxTor9u/images/docs/8b2545b49a18fd4d7fa6c935eb5947188330aa7629a19991bb73eb68a3dcb2f4-request-access-linear-ticket.png?w=560\u0026fit=max\u0026auto=format\u0026n=odnvD_MsXBxTor9u\u0026q=85\u0026s=c27df5d8bc9b3ca4fb2e06c1080774bc 560w, https://mintcdn.com/opalsecurity/odnvD_MsXBxTor9u/images/docs/8b2545b49a18fd4d7fa6c935eb5947188330aa7629a19991bb73eb68a3dcb2f4-request-access-linear-ticket.png?w=840\u0026fit=max\u0026auto=format\u0026n=odnvD_MsXBxTor9u\u0026q=85\u0026s=5dd16ae2f6d6ef340da55d1e9068dc44 840w, https://mintcdn.com/opalsecurity/odnvD_MsXBxTor9u/images/docs/8b2545b49a18fd4d7fa6c935eb5947188330aa7629a19991bb73eb68a3dcb2f4-request-access-linear-ticket.png?w=1100\u0026fit=max\u0026auto=format\u0026n=odnvD_MsXBxTor9u\u0026q=85\u0026s=00952108ff799aa798e04a16799f4efc 1100w, https://mintcdn.com/opalsecurity/odnvD_MsXBxTor9u/images/docs/8b2545b49a18fd4d7fa6c935eb5947188330aa7629a19991bb73eb68a3dcb2f4-request-access-linear-ticket.png?w=1650\u0026fit=max\u0026auto=format\u0026n=odnvD_MsXBxTor9u\u0026q=85\u0026s=509e62d2cdfdca33372a5abe2b6205cc 1650w, https://mintcdn.com/opalsecurity/odnvD_MsXBxTor9u/images/docs/8b2545b49a18fd4d7fa6c935eb5947188330aa7629a19991bb73eb68a3dcb2f4-request-access-linear-ticket.png?w=2500\u0026fit=max\u0026auto=format\u0026n=odnvD_MsXBxTor9u\u0026q=85\u0026s=9573efcde9affdba521c954a4e35461c 2500w`}),`\n`,_jsxs(_components.p,{children:[`When you select `,_jsx(_components.strong,{children:`Search for tickets`}),`, a list of Linear issues populates, only including issues assigned to you in Linear, based on the Linear account which corresponds to your Opal email address.`]}),`\n`,_jsx(_components.p,{children:`Click on any of these support tickets to attach the ticket to the access request.`}),`\n`,_jsx(_components.p,{children:`By default, an expiration time bound is required when making any access request.`}),`\n`,_jsx(_components.p,{children:`After the request is approved, access expiration is determined by the combination of this expiration time bound and the closure of the support ticket. Access will expire according to the minimum of these two events: if the ticket is closed before the expiration time bound is reached, access will be revoked when the ticket is closed.`}),`\n`,_jsx(_components.p,{children:`Similarly, if the expiration time bound is reached before the closure of the ticket, access is revoked when the expiration time bound is reached.`}),`\n`,_jsxs(_components.p,{children:[`If you want to attach an access request to a support ticket, without an expiration time bound, you may select `,_jsx(_components.strong,{children:`Indefinite`}),` under the expiration options and bind the request to a support ticket`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Linear","description":null,"href":"/integrations/linear-ticketing"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"1. Create a Linear Personal API key","slug":"1-create-a-linear-personal-api-key","depth":2,"children":[]},{"title":"2. Add your Linear Personal API key to Opal","slug":"2-add-your-linear-personal-api-key-to-opal","depth":2,"children":[]},{"title":"Access requests with Linear tickets","slug":"access-requests-with-linear-tickets","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/opalsecurity/d0e14c3cf9bbd682/changelog-scraper.js"],"subdomain":"opalsecurity","siteName":"Opal Security Docs","title":"Linear - Opal Security Docs","contextualStarterQuestions":[{"_id":"6aeb810e56a1453b3c380aa5","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"How does ticket status affect access?","status":"active","generatedBy":"contextual","path":"integrations/linear-ticketing","createdAt":"2026-11-04T19:01:34.554Z","updatedAt":"2026-11-04T19:01:34.554Z","__v":0},{"_id":"6aeb810e56a1453b3c380aa3","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"How do I create a Linear API key?","status":"active","generatedBy":"contextual","path":"integrations/linear-ticketing","createdAt":"2026-11-04T19:01:34.554Z","updatedAt":"2026-11-04T19:01:34.554Z","__v":0},{"_id":"6aeb810e56a1453b3c380aa4","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"When is access automatically revoked?","status":"active","generatedBy":"contextual","path":"integrations/linear-ticketing","createdAt":"2026-11-04T19:01:34.554Z","updatedAt":"2026-11-04T19:01:34.554Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-04T19:01:23.150Z","gitLastModified":"2026-09-10T17:14:39.000Z","originalFileLocation":"integrations/linear-ticketing.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Opal Security Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Linear - Opal Security Docs\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Opal Security Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.opal.dev/integrations/linear-ticketing\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://opalsecurity.mintlify.site/_mintlify/api/og/v2?division=Ticketing\u0026amp;title=Linear\u0026amp;theme=156eb1ba223f12a303f95077\u0026amp;signature=d6c4558da1ec05c61d5f1bd416a3a2bdf662d9c75633d71743841eb9eebf53f9\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Linear - Opal Security Docs\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://opalsecurity.mintlify.site/_mintlify/api/og/v2?division=Ticketing\u0026amp;title=Linear\u0026amp;theme=156eb1ba223f12a303f95077\u0026amp;signature=d6c4558da1ec05c61d5f1bd416a3a2bdf662d9c75633d71743841eb9eebf53f9\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Opal Security Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0C7997\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.opal.dev/integrations/linear-ticketing\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/linear-ticketing.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.opal.dev/#organization\",\"name\":\"Opal Security Docs\",\"url\":\"https://docs.opal.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=93a4bd75f157f9f0ab43cdf4d715b5cd\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.opal.dev#website\",\"name\":\"Opal Security Docs\",\"url\":\"https://docs.opal.dev\",\"publisher\":{\"@id\":\"https://docs.opal.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.opal.dev/integrations/linear-ticketing#webpage\",\"url\":\"https://docs.opal.dev/integrations/linear-ticketing\",\"name\":\"Linear\",\"dateModified\":\"2026-09-10T17:14:39.000Z\",\"isPartOf\":{\"@id\":\"https://docs.opal.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.opal.dev/integrations/linear-ticketing#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.opal.dev/integrations/linear-ticketing#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Productivity Tools\",\"item\":\"https://docs.opal.dev/integrations/google-chat\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ticketing\",\"item\":\"https://docs.opal.dev/integrations/freshservice\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Linear\",\"item\":\"https://docs.opal.dev/integrations/linear-ticketing\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.opal.dev/integrations/linear-ticketing#article\",\"headline\":\"Linear\",\"name\":\"Linear\",\"url\":\"https://docs.opal.dev/integrations/linear-ticketing\",\"mainEntityOfPage\":{\"@id\":\"https://docs.opal.dev/integrations/linear-ticketing#webpage\"},\"dateModified\":\"2026-09-10T17:14:39.000Z\",\"publisher\":{\"@id\":\"https://docs.opal.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.opal.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Opal Security Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Opal Security Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/integrations/linear-ticketing.md","siteName":"Opal Security Docs","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/welcome"}]},{"tab":"Integrations","pages":[{"title":"Integrations","sidebarTitle":"Overview","mode":"wide","href":"/integrations/overview"},{"group":"IDP \u0026 HRIDP","pages":[{"group":"Okta","pages":[{"title":"Okta","sidebarTitle":"Connect to Okta","href":"/integrations/okta"},{"title":"Okta IDP/HRIS Integration","href":"/integrations/okta-idphris-integration"},{"title":"Import Okta apps","href":"/integrations/okta-apps"},{"title":"Okta rate limits","href":"/integrations/okta-rate-limits"}]},{"group":"OneLogin","pages":[{"title":"OneLogin IDP/HRIS Integration","href":"/integrations/onelogin-idphris-integration"}]},{"group":"Google","pages":[{"title":"Google","sidebarTitle":"Connect to Google","href":"/integrations/google"},{"title":"Google IDP/HRIS Integration","href":"/integrations/google-idphris-integration"},{"title":"Google Groups","href":"/integrations/google-groups"},{"title":"Google Shared Drive","href":"/integrations/google-shared-drive"},{"title":"Google Workspace","href":"/integrations/google-workspace"}]},{"group":"Azure","pages":[{"title":"Azure","sidebarTitle":"Connect to Azure","href":"/integrations/azure"},{"title":"Azure Entra IDP/HRIS Integration","href":"/integrations/azure-entra-idphris-integration"},{"title":"Azure Infrastructure Setup","href":"/integrations/azure-infrastructure-setup"},{"title":"Add Azure Databases","href":"/integrations/adding-azure-sql-databases"},{"title":"Azure Real Time Sync Setup","href":"/integrations/azure-real-time-sync"}]},{"group":"Active Directory","pages":[{"title":"Overview","sidebarTitle":"Connect to Active Directory","href":"/integrations/active-directory"},{"title":"Active Directory IDP/HRIS Integration","href":"/integrations/active-directory-idphris-integration"}]},{"group":"Workday","pages":[{"title":"Overview","sidebarTitle":"Connect to Workday","href":"/integrations/workday"},{"title":"Workday IDP/HRIS Integration","href":"/integrations/workday-idphris-integration"}]},{"group":"Rippling","pages":[{"title":"Rippling IDP/HRIS Integration","href":"/integrations/rippling-idphris-integration"}]}]},{"group":"Entitlement Management","pages":[{"group":"Infrastructure","expanded":true,"pages":[{"group":"Amazon Web Services (AWS)","expanded":false,"pages":[{"title":"Amazon Web Services (AWS)","href":"/integrations/setting-up-your-aws-organization-in-opal"},{"title":"Configure AWS for self-hosted Opal","href":"/integrations/aws-integration-on-prem-setup"},{"title":"Configure additional AWS accounts to manage in Opal","href":"/integrations/configure-additional-aws-accounts-to-manage-in-opal"},{"title":"AWS IAM Identity Center Workflows","href":"/integrations/aws-iam-identity-center-formerly-aws-sso"},{"title":"Add an IAM role","href":"/integrations/adding-an-iam-role"},{"title":"Add an RDS database","href":"/integrations/adding-an-rds-database"},{"title":"Add an EC2 instance","href":"/integrations/adding-an-ec2-instance"},{"title":"Add an EKS cluster","href":"/integrations/adding-an-eks-cluster"},{"title":"Adding AWS Resources to Opal Groups via AWS Tags","href":"/integrations/adding-aws-resources-to-opal-groups-via-aws-tags"},{"title":"AWS Real Time Sync Setup","href":"/integrations/aws-real-time-sync"}]},{"group":"Google Cloud Platform (GCP)","expanded":false,"pages":[{"title":"Google Cloud Platform (GCP)","sidebarTitle":"Connect to GCP","href":"/integrations/google-cloud-platform"},{"title":"Add an organization","href":"/integrations/adding-gcp-organization"},{"title":"Add a project","href":"/integrations/adding-gcp-project"},{"title":"Add a folder","href":"/integrations/adding-gcp-folder"},{"title":"Add a BigQuery Dataset","href":"/integrations/adding-bigquery-dataset"},{"title":"Add a Cloud Storage bucket","href":"/integrations/adding-gcp-bucket"},{"title":"Add a Cloud SQL Instance","href":"/integrations/adding-sql-instance"},{"title":"Add a Compute Engine Instance","href":"/integrations/adding-compute-instance"},{"title":"Google Kubernetes Engine (GKE)","href":"/integrations/google-kubernetes-engine-getting-started"},{"title":"GCP Service Accounts","href":"/integrations/gcp-service-accounts"}]},{"group":"Snowflake","expanded":false,"pages":[{"title":"Snowflake","sidebarTitle":"Connect to Snowflake","href":"/integrations/snowflake"},{"title":"Snowflake User Provisioning","href":"/integrations/snowflake-user-provisioning"}]}]},{"title":"1Password","href":"/integrations/1password"},{"title":"Anthropic Platform","href":"/integrations/anthropic"},{"title":"Astra","href":"/integrations/astra"},{"title":"Axiom","href":"/integrations/axiom"},{"title":"Box","href":"/integrations/box"},{"title":"Clickhouse","href":"/integrations/clickhouse"},{"title":"Atlassian Confluence","sidebarTitle":"Atlassian Confluence","href":"/integrations/confluence"},{"title":"Coupa","href":"/integrations/coupa"},{"title":"Cursor","href":"/integrations/cursor"},{"title":"Databricks","href":"/integrations/databricks"},{"title":"Datadog","href":"/integrations/datadog"},{"title":"Devin AI","href":"/integrations/devin"},{"title":"Docusign","href":"/integrations/docusign"},{"title":"Duo","href":"/integrations/duo"},{"title":"GitGuardian","href":"/integrations/gitguardian"},{"title":"GitHub","href":"/integrations/github"},{"title":"GitHub Enterprise","href":"/integrations/github-enterprise"},{"title":"GitLab","href":"/integrations/gitlab"},{"title":"Grafana","href":"/integrations/grafana"},{"title":"Hubspot","href":"/integrations/hubspot"},{"title":"Incident.io","href":"/integrations/incidentio"},{"title":"Atlassian Jira","sidebarTitle":"Atlassian Jira","href":"/integrations/jira"},{"title":"LDAP","href":"/integrations/ldap"},{"title":"Linear","sidebarTitle":"Linear","href":"/integrations/linear"},{"title":"NetSuite","href":"/integrations/netsuite"},{"title":"Okta CIAM","href":"/integrations/okta-ciam"},{"title":"OneLogin","tag":"NEW","href":"/integrations/onelogin"},{"title":"OpenAI Platform","href":"/integrations/openai"},{"title":"Oracle Fusion Cloud","href":"/integrations/oracle-fusion-cloud"},{"title":"PagerDuty","href":"/integrations/pagerduty-entitlements"},{"title":"Ramp","tag":"NEW","href":"/integrations/ramp"},{"title":"Rippling","tag":"NEW","href":"/integrations/rippling"},{"title":"Rootly","href":"/integrations/rootly"},{"title":"Salesforce","href":"/integrations/salesforce"},{"title":"Slack users and groups","href":"/integrations/slack-user-groups"},{"title":"Square","tag":"NEW","href":"/integrations/square"},{"title":"Salesforce Tableau","href":"/integrations/tableau"},{"title":"Tailscale","href":"/integrations/tailscale"},{"title":"Teleport","href":"/integrations/teleport"},{"title":"Twingate","href":"/integrations/twingate"},{"title":"Vercel","tag":"NEW","href":"/integrations/vercel"},{"title":"Workato","href":"/integrations/workato"},{"title":"Workday groups and roles","href":"/integrations/workday-groups-and-roles"},{"title":"Wrike","tag":"NEW","href":"/integrations/wrike"},{"title":"Zendesk","href":"/integrations/zendesk"},{"title":"Zoom","href":"/integrations/zoom"}]},{"group":"Productivity Tools","pages":[{"group":"Communication","expanded":true,"pages":[{"title":"Google Chat","href":"/integrations/google-chat"},{"title":"Lark","href":"/integrations/lark"},{"title":"Microsoft Teams","tag":"NEW","href":"/integrations/microsoft-teams"},{"title":"Slack","href":"/integrations/slack"}]},{"group":"Ticketing","expanded":true,"pages":[{"title":"Freshservice","href":"/integrations/freshservice"},{"title":"Jira","description":"Learn how to connect your Opal instance with Jira.","href":"/integrations/jira-ticketing"},{"title":"Linear","href":"/integrations/linear-ticketing"},{"title":"Notion","description":"Learn how to connect your Opal instance with Notion.","href":"/integrations/notion"},{"title":"Risotto","tag":"BETA","href":"/integrations/risotto"},{"title":"ServiceNow","href":"/integrations/servicenow"},{"title":"Shortcut","href":"/integrations/shortcut"}]},{"group":"On-call","expanded":true,"pages":[{"title":"Opsgenie","deprecated":true,"href":"/integrations/opsgenie"},{"title":"PagerDuty","deprecated":true,"href":"/integrations/pagerduty-oncall"}]}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/authentication"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/changelog"}]}]},"basePath":"","title":"Linear - Opal Security Docs","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-C5F0mVLH.js","lightbox-handle-r17bVUz3.js"]}