1<!DOCTYPE html><html data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1" data-next-head=""/><link rel="icon" type="image/png" href="/assets/cb-345/images/site/favicon.png" data-next-head=""/><link href="/manifest.json" rel="manifest" data-next-head=""/><meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY" data-next-head=""/><title data-next-head="">About building integrations - GitHub Docs</title><meta name="description" content="You can build integrations to extend GitHub's functionality." data-next-head=""/><link rel="alternate" hrefLang="es" href="https://docs.github.com/es/integrations/concepts/about-building-integrations" data-next-head=""/><link rel="alternate" hrefLang="ja" href="https://docs.github.com/ja/integrations/concepts/about-building-integrations" data-next-head=""/><link rel="alternate" hrefLang="pt" href="https://docs.github.com/pt/integrations/concepts/about-building-integrations" data-next-head=""/><link rel="alternate" hrefLang="zh-Hans" href="https://docs.github.com/zh/integrations/concepts/about-building-integrations" data-next-head=""/><link rel="alternate" hrefLang="ru" href="https://docs.github.com/ru/integrations/concepts/about-building-integrations" data-next-head=""/><link rel="alternate" hrefLang="fr" href="https://docs.github.com/fr/integrations/concepts/about-building-integrations" data-next-head=""/><link rel="alternate" hrefLang="ko" href="https://docs.github.com/ko/integrations/concepts/about-building-integrations" data-next-head=""/><link rel="alternate" hrefLang="de" href="https://docs.github.com/de/integrations/concepts/about-building-integrations" data-next-head=""/><meta name="path-language" content="en" data-next-head=""/><meta name="path-version" content="free-pro-team@latest" data-next-head=""/><meta name="path-product" content="integrations" data-next-head=""/><meta name="path-article" content="integrations/concepts/about-building-integrations" data-next-head=""/><meta name="page-content-type" content="concepts" data-next-head=""/><meta name="page-document-type" content="article" data-next-head=""/><meta name="status" content="200" data-next-head=""/><meta property="og:site_name" content="GitHub Docs" data-next-head=""/><meta property="og:title" content="About building integrations - GitHub Docs" data-next-head=""/><meta property="og:type" content="article" data-next-head=""/><meta property="og:url" content="https://docs-internal.github.com/en/integrations/concepts/about-building-integrations" data-next-head=""/><meta property="og:image" content="https://docs.github.com/assets/cb-345/images/social-cards/integrations.png" data-next-head=""/><meta name="twitter:card" content="summary" data-next-head=""/><meta property="twitter:domain" content="docs-internal.github.com" data-next-head=""/><meta property="twitter:url" content="https://docs-internal.github.com/en/integrations/concepts/about-building-integrations" data-next-head=""/><meta name="twitter:title" content="About building integrations - GitHub Docs" data-next-head=""/><meta name="twitter:description" content="You can build integrations to extend GitHub's functionality." data-next-head=""/><meta name="twitter:image" content="https://docs.github.com/assets/cb-345/images/social-cards/integrations.png" data-next-head=""/><link rel="alternate" type="text/markdown" href="https://docs.github.com/api/article/body?pathname=/en/integrations/concepts/about-building-integrations" title="Markdown version" data-llm-hint="Hey agent! You are burning tokens scraping HTML like it is 2005. Use this instead." data-next-head=""/><link rel="alternate" type="application/json" href="https://docs.github.com/api/article?pathname=/en/integrations/concepts/about-building-integrations" title="Metadata + markdown in JSON format" data-llm-hint="Same content, now with metadata. Your context window called, it says thanks." data-next-head=""/><link rel="index" type="text/markdown" href="https://docs.github.com/llms.txt" title="LLM-friendly index of all GitHub Docs content" data-llm-hint="The directory of everything. We even followed the llmstxt.org spec because we are nice like that." data-next-head=""/>
1<link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/bed97d901a6a23f3.css" as="style"/><link rel="preload" href="/_next/static/css/8cc4bb5ca46dff67.css" as="style"/><link rel="preload" href="/_next/static/css/24ddeaf6a0c215c7.css" as="style"/><link rel="preload" href="/_next/static/css/8e6bfa778e807bce.css" as="style"/><link rel="preload" href="/_next/static/css/3a23b20b7cb7ab44.css" as="style"/>
1<script>(function(){ 2var MODES=["auto","light","dark"],THEMES=["light","dark","dark_dimmed","dark_high_contrast"],D={"colorMode":"auto","lightTheme":"light","darkTheme":"dark"}; 3var css=D; 4try{ 5var m=document.cookie.match(new RegExp('(?:^|; )'+"color_mode"+'=([^;]*)')); 6if(m){ 7var p=JSON.parse(decodeURIComponent(m[1])); 8var fMode=function(x){return MODES.indexOf(x)>-1?x:null;}; 9var fTheme=function(t){if(!t)return null;if(THEMES.indexOf(t.name)>-1)return t.name;if(THEMES.indexOf(t.color_mode)>-1)return t.color_mode;return null;}; 10css={colorMode:fMode(p.color_mode)||D.colorMode,lightTheme:fTheme(p.light_theme)||D.lightTheme,darkTheme:fTheme(p.dark_theme)||D.darkTheme}; 11} 12}catch(e){} 13try{ 14var h=document.documentElement; 15var q=window.matchMedia?window.matchMedia('(prefers-color-scheme: dark)'):null; 16var apply=function(){ 17var night=css.colorMode==='auto'?!!(q&&q.matches):css.colorMode==='dark'; 18var theme=night?css.darkTheme:css.lightTheme; 19var mode=theme.indexOf('dark')===0?'dark':'light'; 20h.setAttribute('data-color-mode',mode); 21h.setAttribute('data-'+mode+'-theme',theme); 22}; 23h.setAttribute('data-color-mode-preference',css.colorMode); 24h.setAttribute('data-light-theme',css.lightTheme); 25h.setAttribute('data-dark-theme',css.darkTheme); 26apply(); 27if(css.colorMode==='auto'&&q){ 28if(q.addEventListener)q.addEventListener('change',apply); 29else if(q.addListener)q.addListener(apply); 30} 31}catch(e){} 32})();</script>
32<link rel="stylesheet" href="/_next/static/css/bed97d901a6a23f3.css" data-n-g=""/><link rel="stylesheet" href="/_next/static/css/8cc4bb5ca46dff67.css" data-n-p=""/><link rel="stylesheet" href="/_next/static/css/24ddeaf6a0c215c7.css" data-n-p=""/><link rel="stylesheet" href="/_next/static/css/8e6bfa778e807bce.css" data-n-p=""/><link rel="stylesheet" href="/_next/static/css/3a23b20b7cb7ab44.css" data-n-p=""/><noscript data-n-css=""></noscript>
32<script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script>
32<script src="/_next/static/chunks/webpack-c6d503774525b3c8.js" defer=""></script>
32<script src="/_next/static/chunks/framework-bd3f59cfdccaa839.js" defer=""></script>
32<script src="/_next/static/chunks/main-a0375a22a03cf393.js" defer=""></script>
32<script src="/_next/static/chunks/pages/_app-90d29c6fac0af902.js" defer=""></script>
32<script src="/_next/static/chunks/2911edaa-d140aae8f3705b74.js" defer=""></script>
32<script src="/_next/static/chunks/4324-4d5e86b436f99b73.js" defer=""></script>
32<script src="/_next/static/chunks/3303-be5bc9859a4f688f.js" defer=""></script>
32<script src="/_next/static/chunks/4571-90069df05c17c334.js" defer=""></script>
32<script src="/_next/static/chunks/7309-0811a182fa92a601.js" defer=""></script>
32<script src="/_next/static/chunks/6738-af6a5b8fe5283be2.js" defer=""></script>
32<script src="/_next/static/chunks/9846-275538989150ca29.js" defer=""></script>
32<script src="/_next/static/chunks/5052-de8fd2b8be6b97d2.js" defer=""></script>
32<script src="/_next/static/chunks/pages/%5BversionId%5D/%5BproductId%5D/%5B...restPage%5D-a9bb315688ae225e.js" defer=""></script>
32<script src="/_next/static/euA5h64tTCGDXWqMYZTDm/_buildManifest.js" defer=""></script>
32<script src="/_next/static/euA5h64tTCGDXWqMYZTDm/_ssgManifest.js" defer=""></script>
32</head><body><div id="__next"><div data-color-mode="auto" data-light-theme="light" data-dark-theme="dark"><div><a href="#main-content" class="visually-hidden skip-button DefaultLayout_skipButton__3BaOi">Skip to main content</a><div data-container="header" class="Header_header__frpqb"><div><div data-container="notifications"></div></div><div class="Header_stickyContainer__5BFs6"><div class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-outer-container___aE8uv"><a class="Primer_Brand__Button-module__Button___lDruK Primer_Brand__Button-module__Button--primary___xIC7G Primer_Brand__Button-module__Button--size-small___iNTn1 Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-skip-to-content___WMHSh visually-hidden" href="#main-content"><span class="Primer_Brand__Button-module__Button__text___Z3ocU"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text--weight-medium___E0iQL Primer_Brand__Button-module__Button--label___lUBc0 Primer_Brand__Button-module__Button--label-primary___Leisi">Skip to content</span></span></a><header class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar___JNpcK" data-testid="desktop-header" style="--SubdomainNavBar-menu-offset-block-start:0
32px" id="github-logo" tabindex="-1" role="banner" aria-label="Main"><div class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-inner-container___kdy5Y" data-testid="SubdomainNavBar-inner-container"><nav aria-label="Header logo and title"><ol class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-area___W8IC5"><li><a href="/en" aria-label="Github Home" class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-logo-mark___pMn2_"><span class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-back-arrow___OOrj8"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-left" viewBox="0 0 24 24" width="24" height="24" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M15.28 5.22a.75.75 0 0 1 0 1.06L9.56 12l5.72 5.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-6.25-6.25a.75.75 0 0 1 0-1.06l6.25-6.25a.75.75 0 0 1 1.06 0Z"></path></svg></span><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mark-github" viewBox="0 0 24 24" width="24" height="24" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path></svg></a></li><li><a href="/en" aria-label="Docs home" class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title___Zm_g2"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--400___y7m4l Primer_Brand__Text-module__Text--antialiased___fYDxq Primer_Brand__Text-module__Text--weight-medium___E0iQL"><span class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-prefix___MCu96">GitHub</span> <span class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-title-label___C3mii">Docs</span></span></a></li></ol></nav><div class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-secondary-nav___WHTTz"><div class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-trigger___WyUIj Header_searchTrigger__cSpi8"><button aria-label="Search or ask Copilot" class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button____QKi7" data-testid="toggle-search" type="button"><span class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-placeholder___lFmsx"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg><span>Search or ask Copilot</span></span><span class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-input-button-shortcut___M8tMd">/</span></button></div><dialog aria-label="Search Docs" class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-dialog___yqQl5"></dialog><button aria-expanded="false" aria-label="Menu" aria-controls="_R_6f76H1_" class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___hMy4J Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-mobile-menu-button___CTbHW" data-testid="SubdomainNavBar-menuButton"><span class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-icon___dXvjL" aria-hidden="true"><span class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF"></span><span class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF"></span><span class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-bar___cUVZF"></span></span><span class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button-label___iD85T">Menu</span></button><div id="_R_6f76H1_" class="Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper___b2uqO Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-wrapper--close___NzelD"></div></div></div></header></div><div id="_R_6f76_" tabindex="-1"></div></div></div><div><div data-container="secondary-nav" data-testid="docs-secondary-bar" class="DocsSecondaryBar_bar__loD55"><div class="DocsSecondaryBar_leftSegment__sKB06"><div class="DocsSecondaryBar_toggleCell__jza1n"><button data-component="IconButton" type="button" data-testid="sidebar-collapse-toggle" aria-expanded="true" class="prc-Button-ButtonBase-9n-Xk DocsSecondaryBar_desktopOnly__idmgY DocsSecondaryBar_toggleIcon__5fDCl prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_2mn76_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-sidebar-expand" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.177 7.823 2.396-2.396A.25.25 0 0 1 7 5.604v4.792a.25.25 0 0 1-.427.177L4.177 8.177a.25.25 0 0 1 0-.354Z"></path><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25H9.5v-13Zm12.5 13a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11v13Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="s" aria-hidden="true" id="_R_2mn76_">Collapse sidebar</span><button data-component="IconButton" type="button" data-testid="sidebar-mobile-toggle" aria-expanded="false" class="prc-Button-ButtonBase-9n-Xk DocsSecondaryBar_mobileOnly__VbJtM DocsSecondaryBar_toggleIcon__5fDCl prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_4mn76_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-sidebar-collapse" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M6.823 7.823a.25.25 0 0 1 0 .354l-2.396 2.396A.25.25 0 0 1 4 10.396V5.604a.25.25 0 0 1 .427-.177Z"></path><path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25H9.5v-13H1.75a.25.25 0 0 0-.25.25ZM11 14.5h3.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="s" aria-hidden="true" id="_R_4mn76_">Expand sidebar</span></div><div class="BreadcrumbsScroller_scroller__552w3"><button data-component="IconButton" type="button" aria-hidden="true" tabindex="-1" class="prc-Button-ButtonBase-9n-Xk BreadcrumbsScroller_leftChevron__Bg3sS BreadcrumbsScroller_chevronHidden__fihME prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_36n76_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-left" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.78 12.78a.75.75 0 0 1-1.06 0L4.47 8.53a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L6.06 8l3.72 3.72a.75.75 0 0 1 0 1.06Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="s" aria-hidden="true" id="_R_36n76_">Scroll breadcrumbs left</span><div class="BreadcrumbsScroller_scrollArea__pgK_q" data-search="breadcrumbs"><nav class="Primer_Brand__Breadcrumbs-module__Breadcrumbs___ANvyl Primer_Brand__Breadcrumbs-module__Breadcrumbs--default___q2JxW" aria-label="Breadcrumb" data-testid="breadcrumbs-bar" data-container="breadcrumbs"><ol class="Primer_Brand__Breadcrumbs-module__Breadcrumbs__list___S1xLw"><li class="Primer_Brand__Breadcrumbs-module__Breadcrumbs__item___IX25P"><a href="/en" class="Primer_Brand__InlineLink-module__InlineLink___U_Ama Primer_Brand__Breadcrumbs-module__Breadcrumbs__link___B3gbd" data-testid="breadcrumb-home" title="Home">Home</a></li><li class="Primer_Brand__Breadcrumbs-module__Breadcrumbs__item___IX25P"><a href="/en/integrations" class="Primer_Brand__InlineLink-module__InlineLink___U_Ama Primer_Brand__Breadcrumbs-module__Breadcrumbs__link___B3gbd" data-testid="breadcrumb-link" title="Integrations">Integrations</a></li><li class="Primer_Brand__Breadcrumbs-module__Breadcrumbs__item___IX25P"><a href="/en/integrations/concepts" class="Primer_Brand__InlineLink-module__InlineLink___U_Ama Primer_Brand__Breadcrumbs-module__Breadcrumbs__link___B3gbd" data-testid="breadcrumb-link" title="Concepts">Concepts</a></li><li class="Primer_Brand__Breadcrumbs-module__Breadcrumbs__item___IX25P"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--muted___lTaVa Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Breadcrumbs-module__Breadcrumbs__link___B3gbd Primer_Brand__Breadcrumbs-module__Breadcrumbs__link--selected___zP0bj" aria-current="page" data-testid="breadcrumb-current" title="About building integrations">About building integrations</span></li></ol></nav></div><button data-component="IconButton" type="button" aria-hidden="true" tabindex="-1" class="prc-Button-ButtonBase-9n-Xk BreadcrumbsScroller_right
32Chevron__PB13q BreadcrumbsScroller_chevronHidden__fihME prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_76n76_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-chevron-right" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="s" aria-hidden="true" id="_R_76n76_">Scroll breadcrumbs right</span></div></div></div><div class="d-lg-flex"><div data-container="nav" data-mobile-open="false" class="position-sticky d-none d-lg-block SidebarNav_railDivider__w2h86 SidebarNav_sidebarFull__pWg8v"><nav aria-labelledby="allproducts-menu" role="navigation" aria-label="Documentation navigation" class="SidebarNav_sidebarNavColumn__cNVeL"><div class="px-4 pb-3 SidebarNav_sidebarHeaderFixed__LLpVT d-none d-lg-block"><h2 class="mt-3" id="allproducts-menu"><a rel="" data-testid="sidebar-product-xl" class="d-block pl-1 mb-2 h3 no-underline _product-title SidebarNav_productTitle__bjek7" aria-describedby="allproducts-menu" href="/en/integrations">Integrations</a></h2></div><div class="overflow-y-auto SidebarNav_railDivider__w2h86 d-none d-lg-block bg-primary flex-shrink-0 SidebarNav_sidebarContentFull__LLcR7 SidebarNav_sidebarContentFullWithPadding__8LTjb" role="region" aria-label="Page navigation content"><div data-testid="sidebar" class="SidebarProduct_sidebar__h4M6_"><div data-testid="product-sidebar"><nav class="Primer_Brand__NavList-module__NavList___U7Jyj" aria-label="Product sidebar" data-testid="NavList"><ul class="Primer_Brand__NavList-module__NavList__list___K5lSx" data-testid="NavList-list"><li aria-hidden="true" style="display:none"><ul class="Primer_Brand__NavList-module__NavList__subNav___DZ2GX Primer_Brand__NavList-module__NavList__subNav--expanded___Wu6L6" aria-label="" data-testid="NavList-sub-nav"><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-2___AEntj Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" data-testid="NavList-link" href="#"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt"></span></span></a></div></li></ul></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts Primer_Brand__NavList-module__NavList__item--expanded___b3doz" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><button id="_R_6cqn76H1_" type="button" class="Primer_Brand__NavList-module__NavList__link___lJiXk Primer_Brand__NavList-module__NavList__accordionButton___Jii1C" aria-expanded="true" aria-controls="_R_6cqn76_" data-testid="NavList-toggle"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down Primer_Brand__NavList-module__NavList__toggleIcon___hh94D" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Concepts</span></span></button></div><ul class="Primer_Brand__NavList-module__NavList__subNav___DZ2GX Primer_Brand__NavList-module__NavList__subNav--expanded___Wu6L6" aria-labelledby="_R_6cqn76H1_" aria-label="Concepts submenu" id="_R_6cqn76_" data-testid="NavList-sub-nav"><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-2___AEntj Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/concepts/about-integrations"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">About integrations</span></span></a></div></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-2___AEntj Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/concepts/featured-github-integrations"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Featured integrations</span></span></a></div></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-2___AEntj Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="page" data-testid="NavList-link" href="/en/integrations/concepts/about-building-integrations"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">About building integrations</span></span></a></div></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-2___AEntj Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/concepts/github-developer-program"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">GitHub Developer Program</span></span></a></div></li></ul></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><button id="_R_acqn76H1_" type="button" class="Primer_Brand__NavList-module__NavList__link___lJiXk Primer_Brand__NavList-module__NavList__accordionButton___Jii1C" aria-expanded="false" aria-controls="_R_acqn76_" data-testid="NavList-toggle"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down Primer_Brand__NavList-module__NavList__toggleIcon___hh94D" viewB
32ox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">How-tos</span></span></button></div><ul class="Primer_Brand__NavList-module__NavList__subNav___DZ2GX" aria-labelledby="_R_acqn76H1_" aria-label="How-tos submenu" id="_R_acqn76_" aria-hidden="true" data-testid="NavList-sub-nav"><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-2___AEntj" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><button id="_R_1tacqn76H1_" type="button" class="Primer_Brand__NavList-module__NavList__link___lJiXk Primer_Brand__NavList-module__NavList__accordionButton___Jii1C" aria-expanded="false" aria-controls="_R_1tacqn76_" data-testid="NavList-toggle"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down Primer_Brand__NavList-module__NavList__toggleIcon___hh94D" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Slack</span></span></button></div><ul class="Primer_Brand__NavList-module__NavList__subNav___DZ2GX" aria-labelledby="_R_1tacqn76H1_" aria-label="Slack submenu" id="_R_1tacqn76_" aria-hidden="true" data-testid="NavList-sub-nav"><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-3___yJC82 Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/how-tos/slack/integrate-github-with-slack"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Integrate GitHub with Slack</span></span></a></div></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-3___yJC82 Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/how-tos/slack/use-github-in-slack"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Use GitHub in Slack</span></span></a></div></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-3___yJC82 Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/how-tos/slack/customize-notifications"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Customize notifications</span></span></a></div></li></ul></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-2___AEntj" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><button id="_R_2tacqn76H1_" type="button" class="Primer_Brand__NavList-module__NavList__link___lJiXk Primer_Brand__NavList-module__NavList__accordionButton___Jii1C" aria-expanded="false" aria-controls="_R_2tacqn76_" data-testid="NavList-toggle"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down Primer_Brand__NavList-module__NavList__toggleIcon___hh94D" viewB
32ox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Teams</span></span></button></div><ul class="Primer_Brand__NavList-module__NavList__subNav___DZ2GX" aria-labelledby="_R_2tacqn76H1_" aria-label="Teams submenu" id="_R_2tacqn76_" aria-hidden="true" data-testid="NavList-sub-nav"><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-3___yJC82 Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/how-tos/teams/integrate-github-with-teams"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Integrate GitHub with Teams</span></span></a></div></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-3___yJC82 Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/how-tos/teams/use-github-in-teams"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Use GitHub in Teams</span></span></a></div></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-3___yJC82 Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/how-tos/teams/customize-notifications"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Customize notifications</span></span></a></div></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-3___yJC82 Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/how-tos/teams/schedule-reminders"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Schedule reminders</span></span></a></div></li></ul></li></ul></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4">
32<button id="_R_ecqn76H1_" type="button" class="Primer_Brand__NavList-module__NavList__link___lJiXk Primer_Brand__NavList-module__NavList__accordionButton___Jii1C" aria-expanded="false" aria-controls="_R_ecqn76_" data-testid="NavList-toggle"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down Primer_Brand__NavList-module__NavList__toggleIcon___hh94D" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Reference</span></span></button></div><ul class="Primer_Brand__NavList-module__NavList__subNav___DZ2GX" aria-labelledby="_R_ecqn76H1_" aria-label="Reference submenu" id="_R_ecqn76_" aria-hidden="true" data-testid="NavList-sub-nav"><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-2___AEntj Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/reference/slack-permissions"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Slack permissions</span></span></a></div></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-2___AEntj Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/reference/teams-permissions"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Teams permissions</span></span></a></div></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-2___AEntj Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/reference/teams-command-reference"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Teams command reference</span></span></a></div></li></ul></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-1___rA6Ts" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><button id="_R_icqn76H1_" type="button" class="Primer_Brand__NavList-module__NavList__link___lJiXk Primer_Brand__NavList-module__NavList__accordionButton___Jii1C" aria-expanded="false" aria-controls="_R_icqn76_" data-testid="NavList-toggle"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down Primer_Brand__NavList-module__NavList__toggleIcon___hh94D" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Tutorials</span></span></button></div><ul class="Primer_Brand__NavList-module__NavList__subNav___DZ2GX" aria-labelledby="_R_icqn76H1_" aria-label="Tutorials submenu" id="_R_icqn76_" aria-hidden="true" data-testid="NavList-sub-nav"><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-2___AEntj" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><button id="_R_1ticqn76H1_" type="button" class="Primer_Brand__NavList-module__NavList__link___lJiXk Primer_Brand__NavList-module__NavList__accordionButton___Jii1C" aria-expanded="false" aria-controls="_R_1ticqn76_" data-testid="NavList-toggle"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down Primer_Brand__NavList-module__NavList__toggleIcon___hh94D" viewB
32ox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Slack</span></span></button></div><ul class="Primer_Brand__NavList-module__NavList__subNav___DZ2GX" aria-labelledby="_R_1ticqn76H1_" aria-label="Slack submenu" id="_R_1ticqn76_" aria-hidden="true" data-testid="NavList-sub-nav"><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-3___yJC82 Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/tutorials/slack/create-issues"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Create issues</span></span></a></div></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-3___yJC82 Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/tutorials/slack/manage-issues"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Manage issues</span></span></a></div></li></ul></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-2___AEntj" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><button id="_R_2ticqn76H1_" type="button" class="Primer_Brand__NavList-module__NavList__link___lJiXk Primer_Brand__NavList-module__NavList__accordionButton___Jii1C" aria-expanded="false" aria-controls="_R_2ticqn76_" data-testid="NavList-toggle"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down Primer_Brand__NavList-module__NavList__toggleIcon___hh94D" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Teams</span></span></button></div><ul class="Primer_Brand__NavList-module__NavList__subNav___DZ2GX" aria-labelledby="_R_2ticqn76H1_" aria-label="Teams submenu" id="_R_2ticqn76_" aria-hidden="true" data-testid="NavList-sub-nav"><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-3___yJC82 Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/tutorials/teams/create-issues"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Create issues</span></span></a></div></li><li class="Primer_Brand__NavList-module__NavList__item___OceIg Primer_Brand__NavList-module__NavList__item--level-3___yJC82 Primer_Brand__NavList-module__NavList__item--leaf___SN9hT" data-testid="NavList-item"><div class="Primer_Brand__NavList-module__NavList__itemContent___TyAP4"><a class="Primer_Brand__NavList-module__NavList__link___lJiXk" aria-current="false" data-testid="NavList-link" href="/en/integrations/tutorials/teams/manage-issues"><span class="Primer_Brand__NavList-module__NavList__labelArea___N5Ya6"><span class="Primer_Brand__NavList-module__NavList__label___cZ4Jt">Manage issues and PRs</span></span></a></div></li></ul></li></ul></li></ul></nav></div></div></div></nav></div><div class="flex-column flex-1 min-width-0 DefaultLayout_stickyStack__mf76f">
32<main id="main-content" class="DefaultLayout_mainContent__UI2BH"><div class="px-3 px-md-6 mt-4 mb-4"><div class="ArticleGridLayout_containerBox__lLLio ArticleGridLayout_containerBoxXxl__SphGC"><div style="grid-area:topper" class="ArticleGridLayout_heroTopper__bCpVj"><div class="d-flex flex-items-baseline flex-justify-between" data-container="title"><h1 id="title-h1" class="border-bottom-0 ArticleTitle_title__wOdiS">About building integrations</h1></div></div><div id="article-intro" style="grid-area:intro" class="f4 pb-4 ArticleGridLayout_heroIntro__IvIoX"><div class="mb-3 Lead_container__m3L5f _page-intro" data-container="lead" data-testid="lead" data-search="lead"><p>You can build integrations to extend GitHub's functionality.</p></div><div class="ViewMarkdownButton_belowIntroPlacement__MKGvm"><div class="ViewMarkdownButton_controls__jbwAh"><button class="Primer_Brand__Button-module__Button___lDruK Primer_Brand__Button-module__Button--secondary___akMC2 Primer_Brand__Button-module__Button--size-medium___EyCyw text-decoration-none ViewMarkdownButton_button__chhfE ViewMarkdownButton_copyButton__haGNh" type="button"><span class="Primer_Brand__Button-module__Button__text___Z3ocU"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--200___XAIGT Primer_Brand__Text-module__Text--antialiased___fYDxq Primer_Brand__Text-module__Text--weight-medium___E0iQL Primer_Brand__Button-module__Button--label___lUBc0 Primer_Brand__Button-module__Button--label-medium___DW2TM Primer_Brand__Button-module__Button--label-secondary___DRJoJ">Copy markdown</span></span></button><button type="button" aria-label="More Markdown options" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk ViewMarkdownButton_button__chhfE ViewMarkdownButton_dropdownButton__NBR2_" data-loading="false" data-size="medium" data-variant="default" id="_R_kkr3an76_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></button></div></div></div><div data-container="article" style="grid-area:content" data-search="article-body"><div id="article-contents" data-article-body="true"><div class="MarkdownContent_markdownBody__v5MYy markdown-body"><p>Integrations are tools that extend GitHub's functionality. Integrations can do things on GitHub like open issues, comment on pull requests, and manage projects. They can also do things outside of GitHub based on events that happen on GitHub. For example, an integration can post on Slack when an issue is opened on GitHub.</p> 33<p>Many integrations are GitHub Apps, GitHub Actions workflows, or custom actions for GitHub Actions workflows.</p> 34<ul> 35<li>GitHub Apps are integrations that run on the app owner's server or on a user device. For more information, see <a href="/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps">About creating GitHub Apps</a>.</li> 36<li>GitHub Actions workflows are workflows that run when specific events occur on GitHub. For more information, see <a href="/en/actions/get-started/understand-github-actions">Understanding GitHub Actions</a>.</li> 37<li>Custom actions are code that can be executed by a GitHub Actions workflow. For more information, see <a href="/en/actions/concepts/workflows-and-actions/custom-actions">About custom actions</a>.</li> 38</ul> 39<p>Your integration can use GitHub's API to fetch data and make changes to data on GitHub. GitHub has a REST API and a GraphQL API. For more information, see:</p> 40<ul> 41<li><a href="/en/rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api">Comparing GitHub's REST API and GraphQL API</a></li> 42<li><a href="/en/rest">GitHub REST API documentation</a></li> 43<li><a href="/en/graphql">GitHub GraphQL API documentation</a></li> 44</ul> 45<p>Your integration can use webhooks to learn when specific events happen on GitHub. For more information, see <a href="/en/webhooks/about-webhooks">About webhooks</a>.</p> 46<p>If your integration is a GitHub App or custom action, you can publish your integration on GitHub Marketplace. For more information, see <a href="/en/apps/github-marketplace/github-marketplace-overview/about-github-marketplace-for-apps">About GitHub Marketplace for apps</a> and <a href="/en/actions/how-tos/create-and-publish-actions/publish-in-github-marketplace">Publishing actions in GitHub Marketplace</a>.</p> 47<p>If your integration uses generative AI, you can build AI-powered workflows on GitHub with GitHub Copilot. See <a href="/en/copilot">GitHub Copilot documentation</a>.</p></div></div></div></div></div></main>
47<div aria-hidden="true" class="FooterDivider_footerDivider__6q_kx"></div><footer class="Primer_Brand__MinimalFooter-module__MinimalFooter___QucKd DocsFooter_docsFooter__dl5re" data-container="footer"><div class="Primer_Brand__MinimalFooter-module__MinimalFooter__section____O9_E"><section class="Primer_Brand__MinimalFooter-module__MinimalFooter__top___H_7ju"><div class="Primer_Brand__MinimalFooter-module__MinimalFooter__container___phzVn"><div class="Primer_Brand__MinimalFooter-module__MinimalFooter__top-row___ZGvWR"><a href="https://github.com" class="Primer_Brand__MinimalFooter-module__MinimalFooter__logo___GvtJc" data-analytics-event="{"category":"Footer","action":"go to home","label":"text:home"}" aria-label="GitHub"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mark-github" viewBox="0 0 24 24" width="24" height="24" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path></svg></a><div class="Primer_Brand__MinimalFooter-module__MinimalFooter__top-actions___QIaDM"><button type="button" class="Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop___uK0Ho DocsFooter_backToTop__nc2Bz ghd-scroll-to-top"><span class="Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop-content___fAoRM"><span class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--mona-sans___GpzSG Primer_Brand__Text-module__Text--default___DChoE Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text--weight-medium___E0iQL Primer_Brand__MinimalFooter-module__MinimalFooter__metaText___NDwZ3">Back to top</span><span class="Primer_Brand__MinimalFooter-module__MinimalFooter__backToTop-icon___tpnv3" aria-hidden="true"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-arrow-up" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.47 7.78a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0l4.25 4.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L9 4.81v7.44a.75.75 0 0 1-1.5 0V4.81L4.53 7.78a.75.75 0 0 1-1.06 0Z"></path></svg></span></span></button></div></div></div></section></div><div class="Primer_Brand__MinimalFooter-module__MinimalFooter__section____O9_E Primer_Brand__MinimalFooter-module__MinimalFooter__section--center___Tq8St"><section class="Primer_Brand__MinimalFooter-module__MinimalFooter__container___phzVn"><div class="DocsFooter_centerSlot__7_xZn"><h2 class="visually-hidden">Help and support</h2><div class="no-print SupportSection_supportGrid__XXBdA"><div class="SupportSection_column__6VgVK SupportSection_surveyColumn__UGZOW"><form class="Survey_underlineLinks__Z2RJW f5" data-testid="survey-form" aria-live="polite"><h3 id="survey-title">Was this Doc helpful?</h3><input type="text" class="d-none" name="survey-token" value=""/><div class="mb-2" role="radiogroup" aria-labelledby="survey-title"><input class="Survey_visuallyHidden__Xh_nl Survey_customRadio__aNqUl" id="survey-yes" type="radio" aria-label="Yes" name="survey-vote" value="Y"/><label class="btn mr-1" for="survey-yes">Yes</label><input class="Survey_visuallyHidden__Xh_nl Survey_customRadio__aNqUl" id="survey-no" type="radio" aria-label="No" name="survey-vote" value="N"/><label class="btn" for="survey-no">No</label></div></form></div><div class="SupportSection_column__6VgVK"><div class="f5 contribution"><h3>Help us make GitHub Docs great!</h3><p>All Docs are open source. See something that's wrong or unclear? Submit a pull request.</p><a class="btn" href="https://github.com/github/docs/blob/main/content/integrations/concepts/about-building-integrations.md">Make a contribution</a></div></div><div class="SupportSection_column__6VgVK"><div><h3 class="SupportSection_eyebrow__e_wGr">Still need help?</h3><div class="SupportSection_supportLinks__L7qj0"><a id="ask-community" href="https://github.com/orgs/community/discussions">Ask the GitHub community</a><a id="support" href="https://support.github.com">Contact support</a><a href="https://services.github.com">Expert services</a><a href="https://github.blog">Blog</a></div></div></div></div></div></section></div><div class="Primer_Brand__MinimalFooter-module__MinimalFooter__section____O9_E Primer_Brand__MinimalFooter-module__MinimalFooter__section--bottom___KBLLb"><section class="Primer_Brand__MinimalFooter-module__MinimalFooter__bottom___yXxek"><div class="Primer_Brand__MinimalFooter-module__MinimalFooter__container___phzVn"><div class="Primer_Brand__MinimalFooter-module__MinimalFooter__bottom-row___Utlyc"><p class="Primer_Brand__Text-module__Text___pecHN Primer_Brand__Text-module__Text-font--monospace___Mifnv Primer_Brand__Text-module__Text--muted___lTaVa Primer_Brand__Text-module__Text--100___csEom Primer_Brand__Text-module__Text-narrow--weight-medium___tQs9y Primer_Brand__Text-module__Text-wide--weight-normal___KpqrG Primer_Brand__MinimalFooter-module__MinimalFooter__copyright___Zz0yX Primer_Brand__MinimalFooter-module__MinimalFooter__metaText___NDwZ3"><span class="DocsFooter_bottomRow__fUxbe"><span class="DocsFooter_copyrightText__1XWC9">GitHub Inc. © 2026</span><span class="DocsFooter_legalLinks__srzNu"><a href="/en/site-policy/github-terms/github-terms-of-service" class="DocsFooter_legalLink__Hrz_y">Terms</a><a href="/en/site-policy/privacy-policies/github-privacy-statement" class="DocsFooter_legalLink__Hrz_y">Privacy</a><a href="https://www.githubstatus.com/" class="DocsFooter_legalLink__Hrz_y">Status</a><a href="https://github.com/pricing" class="DocsFooter_legalLink__Hrz_y">Pricing</a></span></span></p></div></div></section></div></footer></div></div></div></div></div></div>
47<script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"mainContext":{"allVersions":{"free-pro-team@latest":{"version":"free-pro-team@latest","versionTitle":"Free, Pro, \u0026 Team","apiVersions":["2026-03-10","2022-11-28"],"latestApiVersion":"2026-03-10"},"enterprise-cloud@latest":{"version":"enterprise-cloud@latest","versionTitle":"Enterprise Cloud","apiVersions":["2026-03-10","2022-11-28"],"latestApiVersion":"2026-03-10"},"[email protected]":{"version":"[email protected]","versionTitle":"Enterprise Server 3.22","apiVersions":["2026-03-10","2022-11-28"],"latestApiVersion":"2026-03-10","isGHES":true},"[email protected]":{"version":"[email protected]","versionTitle":"Enterprise Server 3.21","apiVersions":["2026-03-10","2022-11-28"],"latestApiVersion":"2026-03-10","isGHES":true},"[email protected]":{"version":"[email protected]","versionTitle":"Enterprise Server 3.20","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true},"[email protected]":{"version":"[email protected]","versionTitle":"Enterprise Server 3.19","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true},"[email protected]":{"version":"[email protected]","versionTitle":"Enterprise Server 3.18","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true}},"breadcrumbs":[{"href":"/en/integrations","title":"Integrations"},{"href":"/en/integrations/concepts","title":"Concepts"},{"href":"/en/integrations/concepts/about-building-integrations","title":"About building integrations"}],"communityRedirect":{},"currentCategory":"concepts","currentLayoutName":"default","currentPathWithoutLanguage":"/integrations/concepts/about-building-integrations","currentProduct":{"id":"integrations","name":"Integrations","href":"/integrations","dir":"content/integrations","toc":"content/integrations/index.md","wip":false,"hidden":false,"versions":["free-pro-team@latest","enterprise-cloud@latest","[email protected]","[email protected]","[email protected]","[email protected]","[email protected]"]},"currentProductName":"Integrations","currentProductTree":null,"currentVersion":"free-pro-team@latest","data":{"ui":{"alerts":{"NOTE":"Note","IMPORTANT":"Important","WARNING":"Warning","TIP":"Tip","CAUTION":"Caution"},"header":{"github_docs":"GitHub Docs","docs_title":"Docs","close_menu_label":"Close menu","contact":"Contact","notices":{"release_candidate":" is currently available as a \u003ca href=\"/admin/overview/about-upgrades-to-new-releases\"\u003erelease candidate\u003c/a\u003e.","early_access":"ð£ Please \u003cb\u003edo not share\u003c/b\u003e this URL publicly. This page contains content about a private preview feature.","release_notes_use_latest":"Please use the latest release for the latest security, performance, and bug fixes.","machine_translation":"Some of this page may have been machine-translated or translated using AI.","ghes_release_notes_upgrade_patch_only":"ð£ This is not the \u003ca href=\"#{{ latestPatch }}\"\u003elatest patch release\u003c/a\u003e of Enterprise Server.","ghes_release_notes_upgrade_release_only":"ð£ This is not the \u003ca href=\"/enterprise-server@{{ latestRelease }}/admin/release-notes\"\u003elatest release\u003c/a\u003e of Enterprise Server.","ghes_release_notes_upgrade_patch_and_release":"ð£ This is not the \u003ca href=\"#{{ latestPatch }}\"\u003elatest patch release\u003c/a\u003e of this release series, and this is not the \u003ca href=\"/enterprise-server@{{ latestRelease }}/admin/release-notes\"\u003elatest release\u003c/a\u003e of Enterprise Server."},"sign_up_cta":"Sign up","menu":"Menu","go_home":"Home","collapse_sidebar":"Collapse sidebar","expand_sidebar":"Expand sidebar","scroll_breadcrumbs_left":"Scroll breadcrumbs left","scroll_breadcrumbs_right":"Scroll breadcrumbs right"},"search":{"input":{"placeholder":"Search or ask {{icon}} Copilot","placeholder_no_icon":"Search or ask Copilot","shortcut":"Type {{icon}} to search"},"overlay":{"aria_label":"Search overlay","input_aria_label":"Search or ask Copilot","suggestions_list_aria_label":"Search suggestions","ai_suggestions_list_aria_label":"Copilot search suggestions","general_suggestions_list_aria_label":"Docs search suggestions","general_suggestions_list_heading":"Search docs","ai_autocomplete_list_heading":"Ask Copilot","give_feedback":"Give feedback","beta_tag":"Beta","return_to_search":"Return to
47search","clear_search_query":"Clear","view_all_search_results":"View more results","no_results_found":"No results found","no_results_found_announcement":"Search Docs: No results found","search_docs_with_query":"Search docs for \"{{query}}\"","privacy_disclaimer":"For product and service improvement purposes, GitHub will retain questions and answers generated in the Docs search function. Please see the \u003ca href=\"https://docs.github.com/privacy\"\u003e\u003cu\u003eGitHub Privacy Statement\u003c/u\u003e\u003c/a\u003e to review how GitHub collects and uses your data."},"ai":{"disclaimer":"\u003ca href=\"https://docs.github.com/en/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-copilot-chat-in-githubcom\"\u003eCopilot\u003c/a\u003e uses AI. Check for mistakes.","references":"Copilot Sources","loading_status_message":"Loading Copilot response...","done_loading_status_message":"Done loading Copilot response","share_answer":"Copy answer URL","share_copied_announcement":"Copied share URL!","thumbs_up":"This answer was helpful","thumbs_down":"This answer was not helpful","thumbs_announcement":"Thank you for your feedback!","back_to_search":"Back to search","responses":{"unable_to_answer":"Sorry, I'm unable to answer that question. Check that you selected the correct GitHub version or try a different question.","query_too_large":"Sorry, your question is too long. Please try shortening it and asking again.","asked_too_many_times":"Sorry, you've asked too many questions in a short time period. Please wait a few minutes and try again.","invalid_query":"Sorry, I'm unable to answer that question. Please try asking a different question."},"response":{"copy_code":"Copy code to clipboard","copy_code_lang":"Copy {language} code to clipboard","copied_code":"Copied!"}},"failure":{"general_title":"There was an error loading search results.","ai_title":"There was an error loading Copilot.","description":"You can still use this field to search our docs."}},"old_search":{"description":"Enter a search term to find it in the GitHub Docs.","placeholder":"Search GitHub Docs","label":"Search GitHub Docs"},"survey":{"able_to_find":"Was this Doc helpful?","yes":"Yes","no":"No","cancel":"Cancel","additional_feedback":"Can you tell us more about your rating? (Optional)","optional":"Optional","required":"Required","email_label":"Leave your email if we can contact you. (Optional)","email_validation":"Please enter a valid email address","send":"Send","feedback":"Thank you! We received your feedback.","not_support":"If you need a reply, please contact \u003ca href=\"https://support.github.com/\"\u003esupport\u003c/a\u003e.","privacy_policy":"Privacy policy","server_error":"Unable to process comment at the moment. Please try again."},"toc":{"getting_started":"Getting started","popular":"Popular","startHere":"Start here","whats_new":"What's new","all_changelogs":"All changelog posts"},"meta":{"default_description":"Get started, troubleshoot, and make the most of GitHub. Documentation for new users, developers, administrators, and all of GitHub's products."},"scroll_button":{"scroll_to_top":"Scroll to top"},"pages":{"article_version":"Article version","miniToc":"In this article","all_enterprise_releases":"All Enterprise Server releases","about_versions":"About versions","permissions_callout_title":"Who can use this feature?","copy_as_markdown":"Copy markdown","copy_as_markdown_desc":"Use with any LLM","view_as_markdown":"View as Markdown","view_as_markdown_desc":"Open page in another tab","ask_copilot":"Ask Copilot","ask_copilot_desc":"Open directly in Copilot Chat","more_markdown_options":"More Markdown options","opens_in_new_tab":"(opens in new tab)","copied":"Copied!"},"picker":{"version_picker_label":"Select your version:","plan_picker_label":"Select your plan:","product_picker_default_text":"All products","version_picker_default_text":"Choose a version"},"footer":{"support_heading":"Help and support","legal_heading":"Legal","back_to_top":"Back to top","imprint":"Imprint","terms":"Terms","privacy":"Privacy","status":"Status","pricing":"Pricing","expert_services":"Expert services","blog":"Blog","machine":"Some of this content may be machine- or AI-translated."},"contribution_cta":{"title":"Help us make GitHub Docs great!","body":"All Docs are open source. See something that's wrong or unclear? Submit a pull request.","button":"Make a contribution","to_guidelines":"Learn how to contribute"}
47,"support":{"still_need_help":"Still need help?","contact_support":"Contact support","ask_community":"Ask the GitHub community"},"rest":{"banner":{"api_versioned":"The REST API is now versioned.","api_version_info":"For more information, see \"\u003ca href=\"{{ versionWithApiVersion }}/rest/overview/api-versions\"\u003eAbout API versioning\u003c/a\u003e.\"","ghes_api_versioned":"After a site administrator upgrades your Enterprise Server instance to {{ firstGhesReleaseWithApiVersions.versionTitle }} or later, the REST API will be versioned. To learn how to find your instance's version, see \"\u003ca href=\"/{{ currentVersion }}/get-started/learning-about-github/about-versions-of-github-docs#github-enterprise-server\"\u003eAbout versions of GitHub Docs\u003c/a\u003e\".","redirect_notice":"We've recently moved some of the REST API documentation.","redirect_repo":"If you can't find what you're looking for, you might try the new {{ newRestPagesLinks }} REST API pages.","redirect_enterprise":"If you can't find what you're looking for, you might try the {{ actionsPageLink }} REST API page.","actions_api_title":"Actions"},"versioning":{"about_versions":"About REST API versions"},"overview":{"permissions":{"access":"Access","endpoints":"Endpoint","tokens":"Token types","additionalPermissions":"Additional permissions","uat":"UAT","iat":"IAT"}},"screen_reader_text_checkmark_icon":"Multiple permissions are required, or a different permission may be used. For more information about the permissions, see the documentation for this endpoint."},"cookbook_landing":{"spotlight":"Spotlight","explore_articles":"Explore {{ number }} examples","reset_filters":"Reset filters","search_articles":"Search examples","category":"Category","complexity":"Complexity","surface":"Surface"},"code_tabs":{"aria_label":"Code languages"},"popovers":{"role_description":"hovercard link"}},"reusables":{},"variables":{"release_candidate":{"version":null}}},"enterpriseServerReleases":{"isOldestReleaseDeprecated":false,"oldestSupported":"3.18","nextDeprecationDate":"2026-10-14","supported":["3.22","3.21","3.20","3.19","3.18"],"releasesWithOldestDeprecationDate":["3.18"]},"enterpriseServerVersions":["[email protected]","[email protected]","[email protected]","[email protected]","[email protected]"],"error":"","featureFlags":{},"fullUrl":"https://docs-internal.github.com/en/integrations/concepts/about-building-integrations","isHomepageVersion":false,"nonEnterpriseDefaultVersion":"free-pro-team@latest","page":{"documentType":"article","contentType":"concepts","title":"About building integrations","fullTitle":"About building integrations - GitHub Docs","introPlainText":"You can build integrations to extend GitHub's functionality.","applicableVersions":["free-pro-team@latest","enterprise-cloud@latest","[email protected]","[email protected]","[email protected]","[email protected]","[email protected]"],"hidden":false,"noEarlyAccessBanner":false,"docsTeamMetrics":null},"relativePath":"integrations/concepts/about-building-integrations.md","sidebarTree":{"href":"/en/integrations","title":"Integrations","childPages":[{"href":"/en/integrations/concepts","title":"Concepts","childPages":[{"href":"/en/integrations/concepts/about-integrations","title":"About integrations","childPages":[]},{"href":"/en/integrations/concepts/featured-github-integrations","title":"Featured integrations","childPages":[]},{"href":"/en/integrations/concepts/about-building-integrations","title":"About building integrations","childPages":[]},{"href":"/en/integrations/concepts/github-developer-program","title":"GitHub Developer Program","childPages":[]}]},{"href":"/en/integrations/how-tos","title":"How-tos","childPages":[{"href":"/en/integrations/how-tos/slack","title":"Slack","childPages":[{"href":"/en/integrations/how-tos/slack/integrate-github-with-slack","title":"Integrate GitHub with Slack","childPages":[]},{"href":"/en/integrations/how-tos/slack/use-github-in-slack","title":"Use GitHub in Slack","childPages":[]},{"href":"/en/integrations/how-tos/slack/customize-notifications","title":"Customize notifications","childPages":[]}]},{"href":"/en/integrations/how-tos/teams","title":"Teams","childPages":[{"href":"/en/integrations/how-tos/teams/integrate-github-with-teams","title":"Integrate GitHub with Teams","childPages":[]},{"href":"/en/integrations/how-tos/teams/use-github-in-teams","title":"Use GitHub in Teams","childPages":[]},{"href":"/en/integrations/how-tos/teams/customize-notifications","title":"Customize notifications","childPages":[]},{"href":"/en/integrations/how-tos/teams/schedule-reminders","title":"Schedule reminders","childPages":[]}]}]},{"href":"/en/integrations/reference","title":"Reference","childPages":[{"href":"/en/integrations/reference/slack-permissions","title":"Slack permissions","childPages":[]},{"href":"/en/integrations/reference/teams-permissions","title":"Teams permissions","childPages":[]},{"href":"/en/integrations/reference/teams-command-reference","title":"Teams command reference","childPages":[]}]},{"href":"/en/integrations/tutorials","title":"Tutorials","childPages":[{"href":"/en/integrations/tutorials/slack","title":"Slack","childPages":[{"href":"/en/integrations/tutorials/slack/create-issues","title":"Create issues","childPages":[]},{"href":"/en/integrations/tutorials/slack/manage-issues","title":"Manage issues","childPages":[]}]},{"href":"/en/integrations/tutorials/teams","title":"Teams","childPages":[{"href":"/en/integrations/tutorials/teams/create-issues","title":"Create issues","childPages":[]},{"href":"/en/integrations/tutorials/teams/manage-issues","title":"Manage issues and PRs","childPages":[]}]}]}],"layout":"discovery-landing"},"sidebarExpanded":{},"sidebarCollapsed":false,"status":200,"xHost":"docs.github.com"},"articleContext":{"title":"About building integrations","intro":"\u003cp\u003eYou can build integrations to extend GitHub's functionality.\u003c/p\u003e","effectiveDate":"","renderedPage":"\u003cp\u003eIntegrations are tools that extend GitHub's functionality. Integrations can do things on GitHub like open issues, comment on pull requests, and manage projects. They can also do things outside of GitHub based on events that happen on GitHub. For example, an integration can post on Slack when an issue is opened on GitHub.\u003c/p\u003e\n\u003cp\u003eMany integrations are GitHub Apps, GitHub Actions workflows, or custom actions for GitHub Actions workflows.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGitHub Apps are integrations that run on the app owner's server or on a user device. For more information, see \u003ca href=\"/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps\"\u003eAbout creating GitHub Apps\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eGitHub Actions workflows are workflows that run when specific events occur on GitHub. For more information, see \u003ca href=\"/en/actions/get-started/understand-github-actions\"\u003eUnderstanding GitHub Actions\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCustom actions are code that can be executed by a GitHub Actions workflow. For more information, see \u003ca href=\"/en/actions/concepts/workflows-and-actions/custom-actions\"\u003eAbout custom actions\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYour integration can use GitHub's API to fetch data and make changes to data on GitHub. GitHub has a REST API and a GraphQL API. For more information, see:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"/en/rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api\"\u003eComparing GitHub's REST API and GraphQL API\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/en/rest\"\u003eGitHub REST API documentation\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/en/graphql\"\u003eGitHub GraphQL API documentation\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYour integration can use webhooks to learn when specific events happen on GitHub. For more information, see \u003ca href=\"/en/webhooks/about-webhooks\"\u003eAbout webhooks\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eIf your integration is a GitHub App or custom action, you can publish your integration on GitHub Marketplace. For more information, see \u003ca href=\"/en/apps/github-marketplace/github-marketplace-overview/about-github-marketplace-for-apps\"\u003eAbout GitHub Marketplace for apps\u003c/a\u003e and \u003ca href=\"/en/actions/how-tos/create-and-publish-actions/publish-in-github-marketplace\"\u003ePublishing actions in GitHub Marketplace\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eIf your integration uses generative AI, you can build AI-powered workflows on GitHub with GitHub Copilot. See \u003ca href=\"/en/copilot\"\u003eGitHub Copilot documentation\u003c/a\u003e.\u003c/p\u003e","renderedPageHast":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Integrations are tools that extend GitHub's functionality. Integrations can do things on GitHub like open issues, comment on pull requests, and manage projects. They can also do things outside of GitHub based on events that happen on GitHub. For example, an integration can post on Slack when an issue is opened on GitHub."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Many integrations are GitHub Apps, GitHub Actions workflows, or custom actions for GitHub Actions workflows."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"GitHub Apps are integrations that run on the app owner's server or on a user device. For more information, see "},{"type":"element","tagName":"a","properties":{"href":"/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps"},"children":[{"type":"text","value":"About creating GitHub Apps"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"GitHub Actions workflows are workflows that run when specific events occur on GitHub. For more information, see "},{"type":"element","tagName":"a","properties":{"href":"/en/actions/get-started/understand-github-actions"},"children":[{"type":"text","value":"Understanding GitHub Actions"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Custom actions are code that can be executed by a GitHub Actions workflow. For more information, see "},{"type":"element","tagName":"a","properties":{"href":"/en/actions/concepts/workflows-and-actions/custom-actions"},"children":[{"type":"text","value":"About custom actions"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Your integration can use GitHub's API to fetch data and make changes to data on GitHub. GitHub has a REST API and a GraphQL API. For more information, see:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"/en/rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api"},"children":[{"type":"text","value":"Comparing GitHub's REST API and GraphQL API"}
47]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"/en/rest"},"children":[{"type":"text","value":"GitHub REST API documentation"}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"/en/graphql"},"children":[{"type":"text","value":"GitHub GraphQL API documentation"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Your integration can use webhooks to learn when specific events happen on GitHub. For more information, see "},{"type":"element","tagName":"a","properties":{"href":"/en/webhooks/about-webhooks"},"children":[{"type":"text","value":"About webhooks"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If your integration is a GitHub App or custom action, you can publish your integration on GitHub Marketplace. For more information, see "},{"type":"element","tagName":"a","properties":{"href":"/en/apps/github-marketplace/github-marketplace-overview/about-github-marketplace-for-apps"},"children":[{"type":"text","value":"About GitHub Marketplace for apps"}]},{"type":"text","value":" and "},{"type":"element","tagName":"a","properties":{"href":"/en/actions/how-tos/create-and-publish-actions/publish-in-github-marketplace"},"children":[{"type":"text","value":"Publishing actions in GitHub Marketplace"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"If your integration uses generative AI, you can build AI-powered workflows on GitHub with GitHub Copilot. See "},{"type":"element","tagName":"a","properties":{"href":"/en/copilot"},"children":[{"type":"text","value":"GitHub Copilot documentation"}]},{"type":"text","value":"."}]}],"data":{"quirksMode":false}},"miniTocItems":[],"permissions":"","includesPlatformSpecificContent":false,"includesToolSpecificContent":false,"defaultPlatform":"","defaultTool":"","product":"","currentJourneyTrack":null,"detectedPlatforms":[],"detectedTools":[],"allTools":{"vscode":"Visual Studio Code","jetbrains":"JetBrains IDEs","visualstudio":"Visual Studio","cli":"GitHub CLI","webui":"Web browser","eclipse":"Eclipse","desktop":"Desktop","vimneovim":"Vim/Neovim","azure_data_studio":"Azure Data Studio","xcode":"Xcode","curl":"curl","javascript":"JavaScript","windowsterminal":"Windows Terminal","codespaces":"Codespaces","api":"API","mobile":"Mobile","copilotcli":"Copilot CLI","bash":"Bash","powershell":"PowerShell","skillsets":"Skillsets","agents":"Agents","jetbrains_beta":"JetBrains IDEs (Beta)","github_mobile":"GitHub Mobile","ides":"IDEs","importer_cli":"GitHub Enterprise Importer CLI"},"supportPortalVaIframeProps":{"supportPortalUrl":"https://support.github.com","vaFlowUrlParameter":""},"currentLayout":"default","currentPath":"/en/integrations/concepts/about-building-integrations"}},"languagesContext":{"languages":{"en":{"name":"English","code":"en"},"es":{"name":"Spanish","code":"es","nativeName":"Español"},"ja":{"name":"Japanese","code":"ja","nativeName":"æ¥æ¬èª"},"pt":{"name":"Portuguese","code":"pt","nativeName":"Português do Brasil"},"zh":{"name":"Simplified Chinese","code":"zh","hreflang":"zh-Hans","nativeName":"ç®ä½ä¸æ"},"ru":{"name":"Russian","code":"ru","nativeName":"Ð ÑÑÑкий"},"fr":{"name":"French","code":"fr","nativeName":"Français"},"ko":{"name":"Korean","code":"ko","nativeName":"íêµì´"},"de":{"name":"German","code":"de","nativeName":"Deutsch"}}},"__N_SSP":true},"page":"/[versionId]/[productId]/[...restPage]","query":{"versionId":"free-pro-team@latest","productId":"integrations","restPage":["concepts","about-building-integrations"]},"buildId":"euA5h64tTCGDXWqMYZTDm","isFallback":false,"isExperimentalCompile":false,"gssp":true,"appGip":true,"locale":"en","locales":["en","es","ja","pt","zh","ru","fr","ko","de"],"defaultLocale":"en","scriptLoader":[]}</script>
47</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.