Connect your GitHub organization to Paradime to power dbt™ development, CI/CD, and let DinoAI manage pull requests on your behalf.
GitHub is where your dbt™ repositories live. Installing the Paradime GitHub app connects those repositories to Paradime and lets DinoAI access GitHub on your behalf.
DinoAI PR management: Once connected, DinoAI can create and manage pull requests on your behalf using the GitHub PR Management Tool.
Repository connection without a deploy key: a workspace can reach its repository through the app. Paradime clones over HTTPS, and each person pushes as themselves. See Connect through the GitHub App.
DinoAI Code Review and @paradime: DinoAI reviews pull requests, posts a Paradime Code Review check, and answers @paradime mentions in pull request comments. See DinoAI Code Review.
To install the GitHub integration, follow these steps:
In Paradime, go to Settings → Integrations (see connecting integrations), find GitHub, and click Connect.
Authenticate with GitHub: You’ll be redirected to GitHub to complete the authentication process.
Select Git Repositories: Based on your GitHub organization role, follow the steps below.
GitHub Organization Owner
Request from Organization Owner
Update GitHub app permissions
Choose Repositories: After authenticating, select the repositories you want to connect to Paradime from the dropdown list.
Authorize the GitHub App: Click Install and authorize to complete the Github Installation process.
If you are not a GitHub organization owner, you can request the installation by following these steps:
Select GitHub Organization: After authenticating, choose the GitHub organization where you want the Paradime integration installed.
Click “Authorize & Request”: This will send an automated installation request to your GitHub organization owner.
Notify Your Admin: Paradime will send an automated email to your GitHub organization Owner with instructions on how to complete the installation. You can also forward this email to the admin or provide the admin’s email to send it directly through Paradime.
Completing the Installation
To complete the configuration, the GitHub admin will need to enter your Paradime organization name as part of the installation.
To finalize the installation, the GitHub Org Owner will need to follow these this guide to complete the installation:Once approved, the GitHub integration will be active and ready to use.
If you have already connected the Paradime GitHub app and want to grant access to more repositories connected in your Paradime Workspace follow the below steps:
Navigate to Settings: In your GitHub Organization home page, click on the setting option (Not your repository settings).
Select GitHub Apps: In the left panel, under “Third-party Access”, select “GitHub Apps”
Configure the Paradime App: find the Paradime App you have already installed, and click on the “Configure” button.
Update Repository Access: In the repository access section, you should see the list of repositories for which the Paradime App has been already granted access. Click on the “Select repositories” menu and select your new repository.
Save your settings: When done, click on the “Save” button to update the permissions.
A company can hold more than one installation of the Paradime GitHub App, for example one for each GitHub organization. The first installation is the company’s primary one. A later installation is added next to it and does not replace it.To see the installations, go to Settings → Integrations, open GitHub, and find the App installations card. Each installation shows its account, the account type, and whether the app reaches all repositories or selected repositories. Two badges can show:
Suspended: an owner suspended the installation on GitHub.
Not linked: the installation exists on GitHub, but your company does not hold it yet.
From the card you can:
Click Add or remove repositories to change which repositories the app can reach. Paradime sees only the repositories that you grant the app on GitHub.
Click Manage on GitHub to open the installation’s settings on GitHub.
Click Unlink installation to stop Paradime from using an installation.
When you unlink an installation, each workspace connected through it falls back to its deploy key if it still has one. A workspace without a deploy key is marked disconnected. The app stays installed on GitHub. Only an organization owner can remove it there, with Uninstall on GitHub.
After connecting the GitHub app integration to Paradime, Paradime user should complete the user level OAuth to complete the setup and use CI/CD features.
To set up user-level OAuth:
Go to Settings > Integrations and open the Personal tab.
On the Github tile, click Connect. Paradime redirects you to GitHub.
Click Authorize Paradime.
On a workspace connected through the GitHub App, this link also lets you push from the Code IDE as yourself. If you push before you link your account, the push notice has a link that starts the GitHub sign-in in one click. See Push from the Code IDE as yourself.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Paradime","colors":{"primary":"#726AE3","light":"#9291F4","dark":"#5943D6"},"logo":{"light":"https://mintcdn.com/paradime-docs/C-R77mCdstNPsNTv/logo/paradime-logo-light-mode.svg?fit=max\u0026auto=format\u0026n=C-R77mCdstNPsNTv\u0026q=85\u0026s=7a32141c8f01f795c35f0c3c48b2f26a","dark":"https://mintcdn.com/paradime-docs/C-R77mCdstNPsNTv/logo/paradime-logo-dark-mode.svg?fit=max\u0026auto=format\u0026n=C-R77mCdstNPsNTv\u0026q=85\u0026s=e8b1dae8a943bf2a7c4d0088d7cc107b"},"favicon":"https://mintcdn.com/paradime-docs/F1X35JoCsYMKtOFi/favicon.svg?fit=max\u0026auto=format\u0026n=F1X35JoCsYMKtOFi\u0026q=85\u0026s=4ba032ce7ca6b66ccd44805e1e22567a","appearance":{"default":"system"},"background":{"decoration":"gradient"},"navbar":{"links":[{"href":"mailto:support@paradime.io","label":"Support"}],"primary":{"type":"button","label":"Launch Paradime","href":"https://app.paradime.io"}},"footer":{"socials":{"x":"https://x.com/paradimelabs","github":"https://github.com/paradime-io","linkedin":"https://www.linkedin.com/company/paradimelabs"},"links":[{"header":"Resources","items":[{"label":"Paradime Blog","href":"https://www.paradime.io/blog"},{"label":"SQL Resources Hub","href":"https://www.paradime.io/sql"},{"label":"Community","href":"https://paradimers.slack.com/join/shared_invite/zt-1mzax4sb8-jgw~hXRlDHAx~KN0az18bw"}]}]},"fonts":{"family":"Geist"},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","codeblocks":"system","latex":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"thumbnails":{"appearance":"light"},"markdown":{"schema":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"paradime-docs","hasAudioNarration":false,"actualSubdomain":"paradime-docs","customDomains":["docs.paradime.io"],"gitSource":{"type":"github","owner":"paradime-io","repo":"paradime-docs-mintlify","deployBranch":"main","contentDirectory":"paradime-docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae9aad85ef2c10d596e22d0","collectionId":"0ae7ba9e-9bdb-49b2-acf1-c49a95f71a3e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae9aad85ef2c10d596e22d0"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aedf586aaaef32f9954dbde","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"Products","count":286},{"language":"default","tag":"Guides","count":182},{"language":"default","tag":"Integrations","count":163},{"language":"default","tag":"Changelog","count":101},{"language":"default","tag":"DinoAI","count":88},{"language":"default","tag":"Bolt","count":83},{"language":"default","tag":"Developers","count":57},{"language":"default","tag":"Orchestrate data pipelines","count":45},{"language":"default","tag":"Schedule Anatomy","count":45},{"language":"default","tag":"Administration","count":44}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","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":"vite-origin","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":"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},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"custom.css","content":"#navigation-items>ul.sidebar-group~ul.sidebar-group{margin-top:0}#navigation-items a .rounded-md[style*=\"background\"] svg{background:white!important}div[class*=\"w-[160px]\"] .flex.flex-wrap>span.inline-block.rounded-lg.font-medium{padding:2px 8px;background-color:rgba(114, 106, 227, 0.12);color:#5943D6}#content-area h1,#content-area h2,#content-area h3,#content-area h4{letter-spacing:-0.03em}#content-area #page-title{font-size:2.25rem;line-height:1.1}.nav-logo{height:22px}#background-color::after{content:\"\";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right, rgba(114, 106, 227, 0.13) 1px, transparent 1px),\n linear-gradient(to bottom, rgba(114, 106, 227, 0.13) 1px, transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(700px circle at 100% 0%, black 12%, transparent 68%),\n radial-gradient(700px circle at 0% 0%, black 12%, transparent 68%);-webkit-mask-composite:source-over;mask-image:radial-gradient(700px circle at 100% 0%, black 12%, transparent 68%),\n radial-gradient(700px circle at 0% 0%, black 12%, transparent 68%);mask-composite:add}#sidebar .sidebar-group-header{color:rgb(113, 113, 122)}#sidebar div:has(>.sidebar-group-header)~div:has(>.sidebar-group-header){border-top:1px solid rgba(128, 128, 140, 0.18);padding-top:1.25rem}img[src*=\"dino-ai\"]{background:transparent!important;filter:brightness(0) invert(0.64)}a[aria-current=\"location\"] img[src*=\"dino-ai\"],a.group:hover img[src*=\"dino-ai\"]{filter:brightness(0) invert(1)}img.sidebar-group-icon[src*=\"slack\"]{filter:brightness(0) invert(0.44)}"}],"page":{"pagePath":"integrations/github/github-app","slug":"/integrations/github/github-app","pageMetadata":{"title":"GitHub App","sidebarTitle":"GitHub App","description":"Connect your GitHub organization to Paradime to power dbt™ development, CI/CD, and let DinoAI manage pull requests on your behalf.","href":"/integrations/github/github-app"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Connect your GitHub organization to Paradime to power dbt™ development, CI/CD, and let DinoAI manage pull requests on your behalf.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const Arcade=({src,title})=>_jsx(`div`,{style:{position:`relative`,paddingBottom:`calc(56.2225% + 41px)`,height:0,width:`100%`},children:_jsx(`iframe`,{src,title,frameBorder:`0`,loading:`lazy`,allow:`clipboard-write`,allowFullScreen:true,style:{position:`absolute`,top:0,left:0,width:`100%`,height:`100%`,colorScheme:`light`}})});function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Danger,Frame,Heading,OptimizedImage,Tab,Tabs,Warning,_MdxComponentBoundary}=_components;if(!Danger)_missingMdxReference(`Danger`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://github.com/`,children:`GitHub`}),` is where your dbt™ repositories live. Installing the Paradime GitHub app connects those repositories to Paradime and lets DinoAI access GitHub on your behalf.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-you-can-do`,children:`What you can do`}),`\n`,_jsx(_components.p,{children:`By installing the Paradime GitHub app within your organization, you can enable features like:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`CI/CD Automation`}),`: Trigger automated workflows (`,_jsx(_components.a,{href:`/products/bolt/ci-cd/lineage-diff/index`,children:`Lineage Diff`}),`, `,_jsx(_components.a,{href:`/products/bolt/ci-cd/turbo-ci/index`,children:`Turbo CI`}),`) when a Pull Request is opened.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/products/radar/index`,children:_jsx(_components.strong,{children:`Radar’s Cost Optimization`})}),`: Gain insights and optimize data warehouse costs.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`DinoAI PR management`}),`: Once connected, DinoAI can create and manage pull requests on your behalf using the `,_jsx(_components.a,{href:`/products/dino-ai/tools-and-features/github-pr-management-tool`,children:`GitHub PR Management Tool`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Repository connection without a deploy key`}),`: a workspace can reach its repository through the app. Paradime clones over HTTPS, and each person pushes as themselves. See `,_jsx(_components.a,{href:`/products/settings/git-repositories/connect-with-github-app`,children:`Connect through the GitHub App`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`DinoAI Code Review and `,_jsx(_components.code,{children:`@paradime`})]}),`: DinoAI reviews pull requests, posts a `,_jsx(_components.strong,{children:`Paradime Code Review`}),` check, and answers `,_jsx(_components.code,{children:`@paradime`}),` mentions in pull request comments. See `,_jsx(_components.a,{href:`/products/dino-ai/code-review`,children:`DinoAI Code Review`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`connect-the-github-app-integration`,children:`Connect the GitHub App integration`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`You must be a `,_jsx(_components.strong,{children:`GitHub organization owner`}),` to install the Paradime GitHub integration. `,_jsx(_components.a,{href:`https://docs.github.com/en/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization`,children:`Learn more about GitHub organization roles`}),`.`]})}),`\n`,_jsx(_components.p,{children:`To install the GitHub integration, follow these steps:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`In Paradime, go to `,_jsx(_components.strong,{children:`Settings → Integrations`}),` (see `,_jsx(_components.a,{href:`/integrations/connecting-integrations`,children:`connecting integrations`}),`), find `,_jsx(_components.strong,{children:`GitHub`}),`, and click `,_jsx(_components.strong,{children:`Connect`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Authenticate with GitHub`}),`: You’ll be redirected to GitHub to complete the authentication process.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Select Git Repositories`}),`: Based on your GitHub organization role, follow the steps below.`]}),`\n`]}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`GitHub Organization Owner`,id:`github-organization-owner`,children:[_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Choose Repositories`}),`: After authenticating, select the repositories you want to connect to Paradime from the dropdown list.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Authorize the GitHub App`}),`: Click `,_jsx(_components.code,{children:`Install and authorize`}),` to complete the Github Installation process.`]}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/paradime-docs/vrtvqFryCVgm3kAH/images/image-3-1-1-1-1-1-1-1-1-1.png?fit=max\u0026auto=format\u0026n=vrtvqFryCVgm3kAH\u0026q=85\u0026s=3569b7541552bbf17aae42a4c3e26cbf`,alt:``,\"data-og-width\":`619`,width:`619`,\"data-og-height\":`982`,height:`982`,\"data-path\":`images/image-3-1-1-1-1-1-1-1-1-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/paradime-docs/vrtvqFryCVgm3kAH/images/image-3-1-1-1-1-1-1-1-1-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=vrtvqFryCVgm3kAH\u0026q=85\u0026s=e92bf51146740c9738b952afef7c82d3 280w, https://mintcdn.com/paradime-docs/vrtvqFryCVgm3kAH/images/image-3-1-1-1-1-1-1-1-1-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=vrtvqFryCVgm3kAH\u0026q=85\u0026s=982554dee151a8a574ce0b6f892cda55 560w, https://mintcdn.com/paradime-docs/vrtvqFryCVgm3kAH/images/image-3-1-1-1-1-1-1-1-1-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=vrtvqFryCVgm3kAH\u0026q=85\u0026s=9e00e7aac7e11a10fbc7c670763b483b 840w, https://mintcdn.com/paradime-docs/vrtvqFryCVgm3kAH/images/image-3-1-1-1-1-1-1-1-1-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=vrtvqFryCVgm3kAH\u0026q=85\u0026s=8aec438bdccfef99b8d6428dbf6cbbaf 1100w, https://mintcdn.com/paradime-docs/vrtvqFryCVgm3kAH/images/image-3-1-1-1-1-1-1-1-1-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=vrtvqFryCVgm3kAH\u0026q=85\u0026s=5105834bdb1df5b9abc4512690cba58b 1650w, https://mintcdn.com/paradime-docs/vrtvqFryCVgm3kAH/images/image-3-1-1-1-1-1-1-1-1-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=vrtvqFryCVgm3kAH\u0026q=85\u0026s=a473f77f0fc55757f38bcacb14accaba 2500w`})})]}),_jsxs(Tab,{title:`Request from Organization Owner`,id:`request-from-organization-owner`,children:[_jsxs(_components.p,{children:[`If you are `,_jsx(_components.strong,{children:`not a GitHub organization owner`}),`, you can request the installation by following these steps:`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Select GitHub Organization`}),`: After authenticating, choose the GitHub organization where you want the Paradime integration installed.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Click “Authorize \u0026 Request”`}),`: This will send an automated installation request to your GitHub organization owner.`]}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/paradime-docs/GV4HPhgD7sIFolVh/images/image-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1.png?fit=max\u0026auto=format\u0026n=GV4HPhgD7sIFolVh\u0026q=85\u0026s=95b3286d5fb0c2cec8d092f008eb7a53`,alt:``,\"data-og-width\":`621`,width:`621`,\"data-og-height\":`986`,height:`986`,\"data-path\":`images/image-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/paradime-docs/GV4HPhgD7sIFolVh/images/image-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=GV4HPhgD7sIFolVh\u0026q=85\u0026s=f7684ba92a1f9c12af556fb8e6d2c276 280w, https://mintcdn.com/paradime-docs/GV4HPhgD7sIFolVh/images/image-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=GV4HPhgD7sIFolVh\u0026q=85\u0026s=9f43aa85d0d8e62fe67700f9a2dc6c15 560w, https://mintcdn.com/paradime-docs/GV4HPhgD7sIFolVh/images/image-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=GV4HPhgD7sIFolVh\u0026q=85\u0026s=4672c5556acf3f891847128fcae79e45 840w, https://mintcdn.com/paradime-docs/GV4HPhgD7sIFolVh/images/image-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=GV4HPhgD7sIFolVh\u0026q=85\u0026s=71cf29d7956b4c1e167dca8533d1994d 1100w, https://mintcdn.com/paradime-docs/GV4HPhgD7sIFolVh/images/image-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=GV4HPhgD7sIFolVh\u0026q=85\u0026s=6568838a9f1e1e210c19d3fead258ae9 1650w, https://mintcdn.com/paradime-docs/GV4HPhgD7sIFolVh/images/image-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=GV4HPhgD7sIFolVh\u0026q=85\u0026s=9596699796b9c20bead1e54af60cdff8 2500w`})}),_jsxs(_components.ol,{start:`3`,children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Notify Your Admin`}),`: Paradime will send an automated email to your GitHub organization Owner with instructions on how to complete the installation. You can also forward this email to the admin or provide the admin’s email to send it directly through Paradime.`]}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/paradime-docs/23xsmlzJX7HkBIVS/images/image-4-1-1-1-1-1-1-1-1.png?fit=max\u0026auto=format\u0026n=23xsmlzJX7HkBIVS\u0026q=85\u0026s=3eeaf6053114857ad796db8875ff48f1`,alt:``,\"data-og-width\":`1225`,width:`1225`,\"data-og-height\":`822`,height:`822`,\"data-path\":`images/image-4-1-1-1-1-1-1-1-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/paradime-docs/23xsmlzJX7HkBIVS/images/image-4-1-1-1-1-1-1-1-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=23xsmlzJX7HkBIVS\u0026q=85\u0026s=ea777bde76146f2baf7cb37957953bdf 280w, https://mintcdn.com/paradime-docs/23xsmlzJX7HkBIVS/images/image-4-1-1-1-1-1-1-1-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=23xsmlzJX7HkBIVS\u0026q=85\u0026s=80e5e90128c1221325a8dce009d4966b 560w, https://mintcdn.com/paradime-docs/23xsmlzJX7HkBIVS/images/image-4-1-1-1-1-1-1-1-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=23xsmlzJX7HkBIVS\u0026q=85\u0026s=a26a512e884bc186c660f99b63a5e945 840w, https://mintcdn.com/paradime-docs/23xsmlzJX7HkBIVS/images/image-4-1-1-1-1-1-1-1-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=23xsmlzJX7HkBIVS\u0026q=85\u0026s=f03ae546b69f096a1cbdf3e182eb2046 1100w, https://mintcdn.com/paradime-docs/23xsmlzJX7HkBIVS/images/image-4-1-1-1-1-1-1-1-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=23xsmlzJX7HkBIVS\u0026q=85\u0026s=1bef8fa0e05e65e5de07851f41194c88 1650w, https://mintcdn.com/paradime-docs/23xsmlzJX7HkBIVS/images/image-4-1-1-1-1-1-1-1-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=23xsmlzJX7HkBIVS\u0026q=85\u0026s=20e57c0ae6867ced371396d91877edef 2500w`})}),_jsx(_components.hr,{}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Completing the Installation`})}),_jsx(Danger,{children:_jsx(_components.p,{children:_jsx(_components.strong,{children:`To complete the configuration, the GitHub admin will need to enter your Paradime organization name as part of the installation.`})})}),_jsx(_components.p,{children:`To finalize the installation, the GitHub Org Owner will need to follow these this guide to complete the installation:`}),_jsx(_MdxComponentBoundary,{name:`Arcade`,children:_jsx(Arcade,{src:`https://demo.arcade.software/Cgn5xpav6BK7dxQEoIoJ?embed\u0026embed_mobile=tab\u0026embed_desktop=inline\u0026show_copy_link=true`,title:`GitHub`})}),_jsx(_components.p,{children:`Once approved, the GitHub integration will be active and ready to use.`})]}),_jsxs(Tab,{title:`Update GitHub app permissions`,id:`update-github-app-permissions`,children:[_jsx(_components.p,{children:`If you have already connected the Paradime GitHub app and want to grant access to more repositories connected in your Paradime Workspace follow the below steps:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Navigate to Settings:`}),` In your GitHub Organization home page, click on the setting option (Not your repository settings).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Select GitHub Apps`}),`: In the left panel, under “Third-party Access”, select “GitHub Apps”`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Configure the Paradime App`}),`: find the Paradime App you have already installed, and click on the “Configure” button.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Update Repository Access`}),`: In the repository access section, you should see the list of repositories for which the Paradime App has been already granted access. Click on the “Select repositories” menu and select your new repository.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Save your settings:`}),` When done, click on the “Save” button to update the permissions.`]}),`\n`]}),_jsx(_MdxComponentBoundary,{name:`Arcade`,children:_jsx(Arcade,{src:`https://demo.arcade.software/1Gf1BgmhY0js1lylLmZR?embed\u0026embed_mobile=tab\u0026embed_desktop=inline\u0026show_copy_link=true`,title:`GitHub`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`manage-app-installations`,children:`Manage app installations`}),`\n`,_jsx(_components.p,{children:`A company can hold more than one installation of the Paradime GitHub App, for example one for each GitHub organization. The first installation is the company’s primary one. A later installation is added next to it and does not replace it.`}),`\n`,_jsxs(_components.p,{children:[`To see the installations, go to `,_jsx(_components.strong,{children:`Settings → Integrations`}),`, open `,_jsx(_components.strong,{children:`GitHub`}),`, and find the `,_jsx(_components.strong,{children:`App installations`}),` card. Each installation shows its account, the account type, and whether the app reaches `,_jsx(_components.strong,{children:`all repositories`}),` or `,_jsx(_components.strong,{children:`selected repositories`}),`. Two badges can show:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Suspended`}),`: an owner suspended the installation on GitHub.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Not linked`}),`: the installation exists on GitHub, but your company does not hold it yet.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`From the card you can:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Add or remove repositories`}),` to change which repositories the app can reach. Paradime sees only the repositories that you grant the app on GitHub.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Manage on GitHub`}),` to open the installation’s settings on GitHub.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Unlink installation`}),` to stop Paradime from using an installation.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`When you unlink an installation, each workspace connected through it falls back to its deploy key if it still has one. A workspace without a deploy key is marked disconnected. The app stays installed on GitHub. Only an organization owner can remove it there, with `,_jsx(_components.strong,{children:`Uninstall on GitHub`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`connect-github-user-level-oauth`,children:`Connect GitHub user level OAuth`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`After connecting the GitHub app integration to Paradime, Paradime user should complete the user level OAuth to complete the setup and use CI/CD features.`})}),`\n`,_jsx(_components.p,{children:`To set up user-level OAuth:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Go to `,_jsx(_components.strong,{children:`Settings > Integrations`}),` and open the `,_jsx(_components.strong,{children:`Personal`}),` tab.`]}),`\n`,_jsxs(_components.li,{children:[`On the `,_jsx(_components.strong,{children:`Github`}),` tile, click `,_jsx(_components.strong,{children:`Connect`}),`. Paradime redirects you to GitHub.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Authorize Paradime`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`On a workspace connected through the GitHub App, this link also lets you push from the Code IDE as yourself. If you push before you link your account, the push notice has a link that starts the GitHub sign-in in one click. See `,_jsx(_components.a,{href:`/products/settings/git-repositories/connect-with-github-app#push-from-the-code-ide-as-yourself`,children:`Push from the Code IDE as yourself`}),`.`]}),`\n`,_jsx(_MdxComponentBoundary,{name:`Arcade`,children:_jsx(Arcade,{src:`https://demo.arcade.software/dN7cZrCWrzX8TvCxQmmt?embed\u0026embed_mobile=tab\u0026embed_desktop=inline\u0026show_copy_link=true`,title:`GitHub`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{Arcade,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":{"codeStyling":"system","config":{},"pageMetadata":{"title":"GitHub App","sidebarTitle":"GitHub App","description":"Connect your GitHub organization to Paradime to power dbt™ development, CI/CD, and let DinoAI manage pull requests on your behalf.","href":"/integrations/github/github-app"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[142,470,")=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"What you can do","slug":"what-you-can-do","depth":2,"children":[]},{"title":"Connect the GitHub App integration","slug":"connect-the-github-app-integration","depth":2,"children":[]},{"title":"Manage app installations","slug":"manage-app-installations","depth":2,"children":[]},{"title":"Connect GitHub user level OAuth","slug":"connect-github-user-level-oauth","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/paradime-docs/d89c3c6c95bfc95f/snitcher.js"],"subdomain":"paradime-docs","siteName":"Paradime","title":"GitHub App - Paradime","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T15:43:22.901Z","originalFileLocation":"integrations/github/github-app.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=\"description\" content=\"Connect your GitHub organization to Paradime to power dbt™ development, CI/CD, and let DinoAI manage pull requests on your behalf.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Paradime\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/paradime-docs/M6Wm7PyWfTcwC_Oc/_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/paradime-docs/M6Wm7PyWfTcwC_Oc/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/paradime-docs/M6Wm7PyWfTcwC_Oc/_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/paradime-docs/M6Wm7PyWfTcwC_Oc/_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/paradime-docs/M6Wm7PyWfTcwC_Oc/_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/paradime-docs/M6Wm7PyWfTcwC_Oc/_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/paradime-docs/M6Wm7PyWfTcwC_Oc/_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/paradime-docs/M6Wm7PyWfTcwC_Oc/_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/paradime-docs/M6Wm7PyWfTcwC_Oc/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"GitHub App - Paradime\">\u003cmeta data-mint-head property=\"og:description\" content=\"Connect your GitHub organization to Paradime to power dbt™ development, CI/CD, and let DinoAI manage pull requests on your behalf.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Paradime\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.paradime.io/integrations/github/github-app\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://paradime-docs.mintlify.site/_mintlify/api/og/v2?division=GitHub\u0026amp;title=GitHub+App\u0026amp;description=Connect+your+GitHub+organization+to+Paradime+to+power+dbt%E2%84%A2+development%2C+CI%2FCD%2C+and+let+DinoAI+manage+pull+requests+on+your+behalf.\u0026amp;theme=5da792a529ae15a65836c568\u0026amp;signature=501cb73f9262a49c78058a546e8d9ee3e143f7d3a4f1e6bdd822cd23400ab66c\">\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=\"GitHub App - Paradime\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Connect your GitHub organization to Paradime to power dbt™ development, CI/CD, and let DinoAI manage pull requests on your behalf.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://paradime-docs.mintlify.site/_mintlify/api/og/v2?division=GitHub\u0026amp;title=GitHub+App\u0026amp;description=Connect+your+GitHub+organization+to+Paradime+to+power+dbt%E2%84%A2+development%2C+CI%2FCD%2C+and+let+DinoAI+manage+pull+requests+on+your+behalf.\u0026amp;theme=5da792a529ae15a65836c568\u0026amp;signature=501cb73f9262a49c78058a546e8d9ee3e143f7d3a4f1e6bdd822cd23400ab66c\">\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/paradime-docs/M6Wm7PyWfTcwC_Oc/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Paradime\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#726AE3\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.paradime.io/integrations/github/github-app\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/github/github-app.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.paradime.io/#organization\",\"name\":\"Paradime\",\"url\":\"https://docs.paradime.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/paradime-docs/C-R77mCdstNPsNTv/logo/paradime-logo-light-mode.svg?fit=max\u0026auto=format\u0026n=C-R77mCdstNPsNTv\u0026q=85\u0026s=7a32141c8f01f795c35f0c3c48b2f26a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.paradime.io#website\",\"name\":\"Paradime\",\"url\":\"https://docs.paradime.io\",\"publisher\":{\"@id\":\"https://docs.paradime.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.paradime.io/integrations/github/github-app#webpage\",\"url\":\"https://docs.paradime.io/integrations/github/github-app\",\"name\":\"GitHub App\",\"description\":\"Connect your GitHub organization to Paradime to power dbt™ development, CI/CD, and let DinoAI manage pull requests on your behalf.\",\"dateModified\":\"2026-11-06T15:43:22.901Z\",\"isPartOf\":{\"@id\":\"https://docs.paradime.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.paradime.io/integrations/github/github-app#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.paradime.io/integrations/github/github-app#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"GitHub\",\"item\":\"https://docs.paradime.io/integrations/github/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GitHub App\",\"item\":\"https://docs.paradime.io/integrations/github/github-app\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.paradime.io/integrations/github/github-app#article\",\"headline\":\"GitHub App\",\"name\":\"GitHub App\",\"description\":\"Connect your GitHub organization to Paradime to power dbt™ development, CI/CD, and let DinoAI manage pull requests on your behalf.\",\"url\":\"https://docs.paradime.io/integrations/github/github-app\",\"mainEntityOfPage\":{\"@id\":\"https://docs.paradime.io/integrations/github/github-app#webpage\"},\"dateModified\":\"2026-11-06T15:43:22.901Z\",\"publisher\":{\"@id\":\"https://docs.paradime.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.paradime.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Paradime\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Paradime","nav":{"global":null,"tabs":[{"tab":"Start here","pages":[{"title":"Start here","href":""}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/foundations"}]},{"tab":"Products","pages":[{"title":"Products","href":"/products/dino-ai"}]},{"tab":"Integrations","pages":[{"title":"Integrations","sidebarTitle":"Overview","href":"/integrations"},{"title":"Connecting integrations","sidebarTitle":"Connecting integrations","href":"/integrations/connecting-integrations"},{"group":"Airbyte","root":{"title":"Airbyte","href":"/integrations/airbyte/index"},"pages":[{"title":"Airbyte Cloud","sidebarTitle":"Airbyte Cloud","href":"/integrations/airbyte/airbyte-cloud"},{"title":"Airbyte Server","sidebarTitle":"Airbyte Server","href":"/integrations/airbyte/airbyte-server"}]},{"title":"Airflow","href":"/integrations/airflow"},{"title":"Altimate AI","href":"/integrations/altimate"},{"title":"Amazon Athena","href":"/integrations/amazon-athena"},{"title":"Amazon S3","href":"/integrations/amazon-s3"},{"title":"AWS ECS","href":"/integrations/aws-ecs"},{"title":"AWS Glue","href":"/integrations/aws-glue"},{"title":"AWS Lambda","href":"/integrations/aws-lambda"},{"group":"AWS PrivateLink","root":{"title":"AWS PrivateLink","sidebarTitle":"Overview","href":"/integrations/aws-privatelink/index"},"pages":[{"title":"Snowflake PrivateLink","href":"/integrations/aws-privatelink/snowflake-privatelink"},{"title":"Redshift PrivateLink","href":"/integrations/aws-privatelink/redshift-privatelink"}]},{"title":"AWS SageMaker","href":"/integrations/aws-sagemaker"},{"title":"AWS Secret Manager","href":"/integrations/aws-secret-manager"},{"title":"AWS Step Functions","href":"/integrations/aws-step-functions"},{"title":"Azure Data Factory (ADF)","href":"/integrations/azure-data-factory-adf"},{"title":"Azure DevOps","href":"/integrations/azure-devops"},{"title":"Azure Key Vault","href":"/integrations/azure-key-vault"},{"group":"BigQuery","root":{"title":"BigQuery","sidebarTitle":"Overview","href":"/integrations/bigquery/index"},"pages":[{"title":"Service account JSON","sidebarTitle":"Service account JSON","href":"/integrations/bigquery/service-account"},{"title":"BigQuery OAuth","sidebarTitle":"BigQuery OAuth","href":"/integrations/bigquery/oauth"},{"title":"BigQuery cost connection","sidebarTitle":"Cost connection","href":"/integrations/bigquery/cost-connection"}]},{"title":"BitBucket","href":"/integrations/bitbucket"},{"title":"ClickHouse","href":"/integrations/clickhouse"},{"group":"Confluence","root":{"title":"Confluence","href":"/integrations/confluence/index"},"pages":[{"title":"Confluence Cloud","href":"/integrations/confluence/confluence-cloud"},{"title":"Confluence Data Center","href":"/integrations/confluence/confluence-data-center"}]},{"title":"Cube CLI","href":"/integrations/cube-cli"},{"title":"Databricks","href":"/integrations/databricks"},{"title":"Dagster","href":"/integrations/dagster"},{"title":"Datadog","href":"/integrations/datadog"},{"title":"DataHub","href":"/integrations/datahub"},{"title":"dbt Cloud","href":"/integrations/dbt-cloud"},{"title":"dbt™ Generator","href":"/integrations/dbt-generator"},{"title":"Dremio","href":"/integrations/dremio"},{"title":"DuckDB","href":"/integrations/duckdb"},{"group":"Elementary Data","root":{"title":"Elementary Data","href":"/integrations/elementary-data/index"},"pages":[{"group":"Anomaly Detection Tests","root":{"title":"Anomaly Detection Tests","href":"/integrations/elementary-data/anomaly-detection-tests/index"},"pages":[{"title":"Anomaly Tests Parameters","href":"/integrations/elementary-data/anomaly-detection-tests/anomaly-tests-parameters"},{"title":"Volume Anomalies","href":"/integrations/elementary-data/anomaly-detection-tests/volume-anomalies"},{"title":"Freshness Anomalies","href":"/integrations/elementary-data/anomaly-detection-tests/freshness-anomalies"},{"title":"Event Freshness Anomalies","href":"/integrations/elementary-data/anomaly-detection-tests/event-freshness-anomalies"},{"title":"Dimension Anomalies","href":"/integrations/elementary-data/anomaly-detection-tests/dimension-anomalies"},{"title":"All Columns Anomalies","href":"/integrations/elementary-data/anomaly-detection-tests/all-columns-anomalies"},{"title":"Column Anomalies","href":"/integrations/elementary-data/anomaly-detection-tests/column-anomalies"}]},{"group":"Schema Tests","root":{"title":"Schema Tests","href":"/integrations/elementary-data/schema-tests/index"},"pages":[{"title":"Schema Changes","href":"/integrations/elementary-data/schema-tests/schema-changes"},{"title":"Schema Changes From Baseline","href":"/integrations/elementary-data/schema-tests/schema-changes-from-baseline"}]},{"group":"Sending alerts","root":{"title":"Sending Alerts","href":"/integrations/elementary-data/sending-alerts/index"},"pages":[{"title":"Send Elementary dbt alerts to Datadog","href":"/integrations/elementary-data/sending-alerts/datadog-alerts"},{"title":"Slack Alerts","href":"/integrations/elementary-data/sending-alerts/slack-alerts"},{"title":"Microsoft Teams Alerts","href":"/integrations/elementary-data/sending-alerts/microsoft-teams-alerts"},{"title":"Alerts Configuration and Customization","href":"/integrations/elementary-data/sending-alerts/alerts-configuration-and-customization"}]},{"title":"Generate Observability Report","href":"/integrations/elementary-data/generate-observability-report"},{"title":"CLI Commands and Usage","href":"/integrations/elementary-data/cli-commands-and-usage"}]},{"title":"Firebolt","href":"/integrations/firebolt"},{"title":"Fivetran","href":"/integrations/fivetran"},{"title":"GCP BigQuery Transfer","href":"/integrations/gcp-bigquery-transfer"},{"title":"GCP Cloud Functions","href":"/integrations/gcp-cloud-function"},{"title":"GCP Cloud Run","href":"/integrations/gcp-cloud-run"},{"title":"GCP Dataflow","href":"/integrations/gcp-dataflow"},{"title":"GCP Dataproc","href":"/integrations/gcp-dataproc"},{"title":"GCP Datastream","href":"/integrations/gcp-datastream"},{"title":"GCP Secret Manager","href":"/integrations/gcp-secret-manager"},{"group":"GitHub","root":{"title":"GitHub","sidebarTitle":"Overview","description":"Connect GitHub to Paradime to develop dbt™ projects, automate CI/CD with the GitHub App, and let DinoAI open and manage pull requests for you.","href":"/integrations/github/index"},"pages":[{"title":"GitHub App","sidebarTitle":"GitHub App","href":"/integrations/github/github-app"},{"title":"Connect a GitHub repository","sidebarTitle":"Connect a repository","description":"Connect a specific GitHub repository to Paradime using an SSH deploy key so you can develop, branch, and pull request your dbt™ project.","href":"/integrations/github/connect-a-repository"}]},{"group":"GitLab","root":{"title":"GitLab","sidebarTitle":"Overview","href":"/integrations/gitlab/index"},"pages":[{"title":"Connect gitlab.com","sidebarTitle":"Connect gitlab.com","href":"/integrations/gitlab/gitlab-com"},{"title":"Connect GitLab Self-Managed","sidebarTitle":"Connect GitLab Self-Managed","href":"/integrations/gitlab/self-managed"},{"title":"Connect a GitLab repository","sidebarTitle":"Connect a repository","href":"/integrations/gitlab/connect-a-repository"},{"title":"GitLab connection health","sidebarTitle":"Connection health","href":"/integrations/gitlab/connection-health"}]},{"title":"Google Docs","href":"/integrations/google-docs"},{"title":"Google Drive","href":"/integrations/google-drive"},{"title":"Google Sheets","href":"/integrations/google-sheets"},{"title":"Harlequin","href":"/integrations/harlequin"},{"title":"Hex","href":"/integrations/hex"},{"title":"Hightouch","href":"/integrations/hightouch"},{"title":"Incident.io","href":"/integrations/incident.io"},{"group":"Jira","root":{"title":"Jira","href":"/integrations/jira/index"},"pages":[{"title":"Jira Cloud","href":"/integrations/jira/jira-cloud"},{"title":"Jira Data Center","href":"/integrations/jira/jira-data-center"},{"title":"Required Jira Permissions","href":"/integrations/jira/required-jira-permissions"}]},{"title":"Lightdash","href":"/integrations/lightdash"},{"title":"Linear","href":"/integrations/linear"},{"title":"Looker","href":"/integrations/looker"},{"title":"Matillion","href":"/integrations/matillion"},{"group":"Mermaid.js","root":{"title":"Mermaid","href":"/integrations/mermaid-js/index"},"pages":[{"title":"Architecture Diagrams","href":"/integrations/mermaid-js/architecture-diagrams"},{"title":"Block Diagrams","href":"/integrations/mermaid-js/block-diagrams"},{"title":"Class Diagrams","href":"/integrations/mermaid-js/class-diagrams"},{"title":"Entity Relationship Diagrams","href":"/integrations/mermaid-js/entity-relationship-diagrams"},{"title":"Gantt Diagrams","href":"/integrations/mermaid-js/gantt-diagrams"},{"title":"Gitgraph Diagrams","href":"/integrations/mermaid-js/gitgraph-diagrams"},{"title":"Mindmaps","href":"/integrations/mermaid-js/mindmaps"},{"title":"Pie Chart","href":"/integrations/mermaid-js/pie-chart-diagrams"},{"title":"Quadrant Chart","href":"/integrations/mermaid-js/quadrant-charts"},{"title":"Requirement Diagrams","href":"/integrations/mermaid-js/requirement-diagrams"},{"title":"Sankey Diagrams","href":"/integrations/mermaid-js/sankey-diagrams"},{"title":"Sequence Diagrams","href":"/integrations/mermaid-js/sequence-diagrams"},{"title":"State Diagrams","href":"/integrations/mermaid-js/state-diagrams"},{"title":"Timeline Diagrams","href":"/integrations/mermaid-js/timeline-diagrams"},{"title":"User Journey Diagrams","href":"/integrations/mermaid-js/user-journey-diagrams"},{"title":"XY Chart","href":"/integrations/mermaid-js/xy-chart"},{"title":"Zenuml","href":"/integrations/mermaid-js/zenuml"}]},{"title":"Metabase","href":"/integrations/metabase"},{"title":"Microsoft Fabric","href":"/integrations/microsoft-fabric"},{"title":"Microsoft SQL Server","href":"/integrations/microsoft-sql-server"},{"title":"Microsoft Teams","href":"/integrations/microsoft-teams"},{"title":"MongoDB","href":"/integrations/mongodb"},{"title":"Monte Carlo","href":"/integrations/monte-carlo"},{"title":"MotherDuck","href":"/integrations/motherduck"},{"title":"New Relic","href":"/integrations/new-relic"},{"title":"Notion","href":"/integrations/notion"},{"title":"Omni","href":"/integrations/omni"},{"title":"PagerDuty","href":"/integrations/pagerduty"},{"title":"PostgreSQL","href":"/integrations/postgresql"},{"title":"Power BI","href":"/integrations/power-bi"},{"group":"Pre-Commit","root":{"title":"Pre-commit","href":"/integrations/pre-commit/index"},"pages":[{"title":"Configure pre-commit for your dbt project in Paradime","href":"/integrations/pre-commit/paradime-setup-and-configuration"},{"group":"dbt™ Checkpoint Hooks","root":{"title":"dbt™-checkpoint Hooks","href":"/integrations/pre-commit/dbt-tm-checkpoint-hooks/index"},"pages":[{"title":"dbt™ Model Checks","href":"/integrations/pre-commit/dbt-tm-checkpoint-hooks/dbt-tm-model-checks"},{"title":"dbt™ Script Checks","href":"/integrations/pre-commit/dbt-tm-checkpoint-hooks/dbt-tm-script-checks"},{"title":"dbt™ Source Checks","href":"/integrations/pre-commit/dbt-tm-checkpoint-hooks/dbt-tm-source-checks"},{"title":"dbt™ Macro Checks","href":"/integrations/pre-commit/dbt-tm-checkpoint-hooks/dbt-tm-macro-checks"},{"title":"dbt™ Modifiers","href":"/integrations/pre-commit/dbt-tm-checkpoint-hooks/dbt-tm-modifiers"},{"title":"dbt™ Commands","href":"/integrations/pre-commit/dbt-tm-checkpoint-hooks/dbt-tm-commands"},{"title":"dbt™ Checks","href":"/integrations/pre-commit/dbt-tm-checkpoint-hooks/dbt-tm-checks"}]},{"title":"SQLFluff Hooks","href":"/integrations/pre-commit/sqlfluff-hooks"},{"title":"Prettier Hooks","href":"/integrations/pre-commit/prettier-hooks"}]},{"title":"Prettier","href":"/integrations/prettier"},{"title":"Rainbow CSV","href":"/integrations/rainbow-csv"},{"group":"Redshift","root":{"title":"Redshift","sidebarTitle":"Overview","href":"/integrations/redshift/index"},"pages":[{"title":"Username and password","sidebarTitle":"Username and password","href":"/integrations/redshift/username-and-password"},{"title":"IAM","sidebarTitle":"IAM","href":"/integrations/redshift/iam"}]},{"title":"Sigma","href":"/integrations/sigma"},{"title":"Slack","href":"/integrations/slack"},{"group":"Snowflake","root":{"title":"Snowflake","sidebarTitle":"Overview","href":"/integrations/snowflake/index"},"pages":[{"title":"Username and password","sidebarTitle":"Username and password","href":"/integrations/snowflake/username-and-password"},{"title":"Snowflake OAuth","sidebarTitle":"Snowflake OAuth","href":"/integrations/snowflake/oauth"},{"title":"Key-pair authentication","sidebarTitle":"Key-pair authentication","href":"/integrations/snowflake/key-pair"},{"title":"Snowflake cost connection","sidebarTitle":"Cost connection","href":"/integrations/snowflake/cost-connection"},{"title":"Snowflake Native App","sidebarTitle":"Native App","href":"/integrations/snowflake/native-app"}]},{"title":"Snowflake Storage","href":"/integrations/snowflake-storage"},{"title":"Spectacles","href":"/integrations/spectacles"},{"title":"SQLFluff","href":"/integrations/sql-fluff"},{"title":"Starburst/Trino","href":"/integrations/starburst-trino"},{"title":"Tableau","href":"/integrations/tableau"},{"title":"ThoughtSpot","href":"/integrations/thoughtspot"},{"title":"Zapier","href":"/integrations/zapier"}]},{"tab":"Developers","pages":[{"title":"Developers","href":"/developers"}]},{"tab":"GraphQL Schema (generated - do not remove; powers API Reference pages)","hidden":true,"pages":[{"title":"GraphQL Schema (generated - do not remove; powers API Reference pages)","href":"/graphql-reference/queries/apiKeyIdentity"}]},{"tab":"Help \u0026 Resources","pages":[{"title":"Help \u0026 Resources","href":"/get-help/support"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/overview"}]}]},"basePath":"","title":"GitHub App - Paradime","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-CK6QbnxT.js","DynamicMarkdown-BKiHAm_d.js","zoom-image-lightbox-CLQdF-Ar.js","lightbox-handle-r17bVUz3.js"]}