Opal allows customers to ingest identities and their attributes from multiple IDP/HR systems. If your organization uses multiple IDPs, multiple HR systems, or you simply want to combine user metadata from disparate sources, you can simultaneously connect to each and rank priority on a per-attribute basis.
To add an additional provider, you must first configure the provider as an Opal App. Go to the Inventory page, select + App, and complete the flow.Next, go to the Configuration > Settings page, then Identity and HR Integrations. Select + IDP/HRIS Connection to add another provider.
Attributes from any connected provider can be imported as either:
User Tags—custom attributes
Opal System Attributes—such as the user’s Name, Manager, or Position
User Tags (custom attributes) are linked to the IDP or HRIS provider they are imported from. The source provider for each user tag will be visible after import.
Opal’s built-in attributes, such as title, first name, last name, and manager, can be imported from any connected IDP or HRIS. These attributes are not directly tied to the originating provider, so you need to specify which provider takes precedence if a user is active in multiple systems. You can configure this priority in the Attribute Mapping tab.
If a user’s email changes in the IDP, Opal updates the user’s email in Opal to match the new email in the connected system, while preserving all existing links with remote systems.Note: Updating the email in only some IDPs may cause unintended state drift. You can configure which IDP takes precedence for email changes in the Attribute Mapping tab.
When multiple IDP/HRIS providers are configured, secondary emails imported from them will be merged for the corresponding user.
Last modified on September 11, 2025
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Opal Security Docs","colors":{"primary":"#0C7997","light":"#EDFCFC","dark":"#074055"},"logo":{"light":"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=93a4bd75f157f9f0ab43cdf4d715b5cd","dark":"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-light.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=1774b545e4f1c5cad647f5194f7b26d9"},"favicon":{"light":"https://mintcdn.com/opalsecurity/DRAwGKUXMxLRQouh/logo/icon-opal-black.svg?fit=max\u0026auto=format\u0026n=DRAwGKUXMxLRQouh\u0026q=85\u0026s=9c8bd1204b6b5b83542c2ab5be549858","dark":"https://mintcdn.com/opalsecurity/DRAwGKUXMxLRQouh/logo/icon-opal-white.svg?fit=max\u0026auto=format\u0026n=DRAwGKUXMxLRQouh\u0026q=85\u0026s=73b53b4ceab6ae0b00e30b2042a6020a"},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","latex":false},"integrations":{"ga4":{"measurementId":"G-1PPPM1WF6D"}},"errors":{"404":{"redirect":false,"title":"Page can't be found","description":"Sorry! This page might have been moved, or the link might be broken. Go back to our documentation via https://docs.opal.dev/docs/welcome."}},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"opalsecurity","hasAudioNarration":false,"actualSubdomain":"opalsecurity","customDomains":["docs.opal.dev"],"gitSource":{"type":"github","owner":"opalsecurity","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae53a3b88b90693e911fadb","collectionId":"58745dd4-af12-4aee-a56b-e01162c67c8c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae53a3b88b90693e911fadb"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae53a3b88b90693e911fadb","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"API Reference","count":212},{"language":"default","tag":"Opal API","count":207},{"language":"default","tag":"Documentation","count":99},{"language":"default","tag":"Integrations","count":94},{"language":"default","tag":"Entitlement Management","count":63},{"language":"default","tag":"resources","count":34},{"language":"default","tag":"groups","count":32},{"language":"default","tag":"Getting Started","count":25},{"language":"default","tag":"Access Management","count":22},{"language":"default","tag":"Infrastructure","count":22}]},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"deflection":{"enabled":true,"email":"support@opal.dev","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"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":"byok-sep-25","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":"billing-updated-9-15","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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"docs/add-additional-idphr-providers","slug":"/docs/add-additional-idphr-providers","pageMetadata":{"title":"Add additional IDP/HR providers","description":null,"href":"/docs/add-additional-idphr-providers"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,OptimizedImage}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Opal allows customers to ingest identities and their attributes from multiple IDP/HR systems. If your organization uses multiple IDPs, multiple HR systems, or you simply want to combine user metadata from disparate sources, you can simultaneously connect to each and rank priority on a per-attribute basis.`}),`\n`,_jsx(Heading,{level:`2`,id:`add-additional-providers`,children:`Add additional providers`}),`\n`,_jsxs(_components.p,{children:[`To add an additional provider, you must first configure the provider as an Opal App. Go to the `,_jsx(_components.strong,{children:`Inventory`}),` page, select `,_jsx(_components.strong,{children:`+ App`}),`, and complete the flow.`]}),`\n`,_jsxs(_components.p,{children:[`Next, go to the `,_jsx(_components.strong,{children:`Configuration`}),` > `,_jsx(_components.strong,{children:`Settings`}),` page, then `,_jsx(_components.strong,{children:`Identity and HR Integrations`}),`. Select `,_jsx(_components.strong,{children:`+ IDP/HRIS Connection`}),` to add another provider.`]}),`\n`,_jsx(Heading,{level:`2`,id:`import-attributes`,children:`Import attributes`}),`\n`,_jsx(_components.p,{children:`Attributes from any connected provider can be imported as either:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`User Tags`}),`—custom attributes`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Opal System Attributes`}),`—such as the user’s Name, Manager, or Position`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/opalsecurity/CCjTTkaW-43B4efd/images/docs/fa68a3b891985dac9d9aba93376b8d2fa02964b62fc8cddf06ef805ef0968370-imported-user-attributes.png?fit=max\u0026auto=format\u0026n=CCjTTkaW-43B4efd\u0026q=85\u0026s=2bc57c9320999fa069c9a7491693e9bc`,alt:``,\"data-og-width\":`2879`,width:`2879`,\"data-og-height\":`1321`,height:`1321`,\"data-path\":`images/docs/fa68a3b891985dac9d9aba93376b8d2fa02964b62fc8cddf06ef805ef0968370-imported-user-attributes.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/opalsecurity/CCjTTkaW-43B4efd/images/docs/fa68a3b891985dac9d9aba93376b8d2fa02964b62fc8cddf06ef805ef0968370-imported-user-attributes.png?w=280\u0026fit=max\u0026auto=format\u0026n=CCjTTkaW-43B4efd\u0026q=85\u0026s=62d0f708535c9cb1d2ff5604f0288cf6 280w, https://mintcdn.com/opalsecurity/CCjTTkaW-43B4efd/images/docs/fa68a3b891985dac9d9aba93376b8d2fa02964b62fc8cddf06ef805ef0968370-imported-user-attributes.png?w=560\u0026fit=max\u0026auto=format\u0026n=CCjTTkaW-43B4efd\u0026q=85\u0026s=58e9a22bf10e9e012b42607c2063e6d5 560w, https://mintcdn.com/opalsecurity/CCjTTkaW-43B4efd/images/docs/fa68a3b891985dac9d9aba93376b8d2fa02964b62fc8cddf06ef805ef0968370-imported-user-attributes.png?w=840\u0026fit=max\u0026auto=format\u0026n=CCjTTkaW-43B4efd\u0026q=85\u0026s=c3cb0328799d7f80ea88df8e4bca31eb 840w, https://mintcdn.com/opalsecurity/CCjTTkaW-43B4efd/images/docs/fa68a3b891985dac9d9aba93376b8d2fa02964b62fc8cddf06ef805ef0968370-imported-user-attributes.png?w=1100\u0026fit=max\u0026auto=format\u0026n=CCjTTkaW-43B4efd\u0026q=85\u0026s=891e62c52f1a135570ff44dc6476fe83 1100w, https://mintcdn.com/opalsecurity/CCjTTkaW-43B4efd/images/docs/fa68a3b891985dac9d9aba93376b8d2fa02964b62fc8cddf06ef805ef0968370-imported-user-attributes.png?w=1650\u0026fit=max\u0026auto=format\u0026n=CCjTTkaW-43B4efd\u0026q=85\u0026s=990c59467b3d2b3db0327ca9b3fd91ea 1650w, https://mintcdn.com/opalsecurity/CCjTTkaW-43B4efd/images/docs/fa68a3b891985dac9d9aba93376b8d2fa02964b62fc8cddf06ef805ef0968370-imported-user-attributes.png?w=2500\u0026fit=max\u0026auto=format\u0026n=CCjTTkaW-43B4efd\u0026q=85\u0026s=0a1fe5aa394fe6197d7f935631cc7742 2500w`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`User Tags (custom attributes)`}),` are linked to the IDP or HRIS provider they are imported from. The source provider for each user tag will be visible after import.`]}),`\n`,_jsx(Heading,{level:`2`,id:`handle-system-attribute-conflict`,children:`Handle system attribute conflict`}),`\n`,_jsxs(_components.p,{children:[`Opal’s built-in attributes, such as title, first name, last name, and manager, can be imported from any connected IDP or HRIS. These attributes are not directly tied to the originating provider, so you need to specify which provider takes precedence if a user is active in multiple systems. You can configure this priority in the `,_jsx(_components.strong,{children:`Attribute Mapping`}),` tab.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/opalsecurity/fu-nWazMe1LxLhxi/images/docs/3656559c165ebadc8ca98dcb6b1bd93a19013a07d12c17bdb54b60cd29f34e15-attribute-mapping.png?fit=max\u0026auto=format\u0026n=fu-nWazMe1LxLhxi\u0026q=85\u0026s=07fa38ff71eb3f229b6f5a30a8def6f9`,alt:``,\"data-og-width\":`3390`,width:`3390`,\"data-og-height\":`1684`,height:`1684`,\"data-path\":`images/docs/3656559c165ebadc8ca98dcb6b1bd93a19013a07d12c17bdb54b60cd29f34e15-attribute-mapping.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/opalsecurity/fu-nWazMe1LxLhxi/images/docs/3656559c165ebadc8ca98dcb6b1bd93a19013a07d12c17bdb54b60cd29f34e15-attribute-mapping.png?w=280\u0026fit=max\u0026auto=format\u0026n=fu-nWazMe1LxLhxi\u0026q=85\u0026s=1dfb6294afdc249f2281232f5429c221 280w, https://mintcdn.com/opalsecurity/fu-nWazMe1LxLhxi/images/docs/3656559c165ebadc8ca98dcb6b1bd93a19013a07d12c17bdb54b60cd29f34e15-attribute-mapping.png?w=560\u0026fit=max\u0026auto=format\u0026n=fu-nWazMe1LxLhxi\u0026q=85\u0026s=eeef77562dcc907ad4a766fc44adfa17 560w, https://mintcdn.com/opalsecurity/fu-nWazMe1LxLhxi/images/docs/3656559c165ebadc8ca98dcb6b1bd93a19013a07d12c17bdb54b60cd29f34e15-attribute-mapping.png?w=840\u0026fit=max\u0026auto=format\u0026n=fu-nWazMe1LxLhxi\u0026q=85\u0026s=d00812d564c86265e3c44d76593daf23 840w, https://mintcdn.com/opalsecurity/fu-nWazMe1LxLhxi/images/docs/3656559c165ebadc8ca98dcb6b1bd93a19013a07d12c17bdb54b60cd29f34e15-attribute-mapping.png?w=1100\u0026fit=max\u0026auto=format\u0026n=fu-nWazMe1LxLhxi\u0026q=85\u0026s=c91df32092d969361b0d37559a2d9257 1100w, https://mintcdn.com/opalsecurity/fu-nWazMe1LxLhxi/images/docs/3656559c165ebadc8ca98dcb6b1bd93a19013a07d12c17bdb54b60cd29f34e15-attribute-mapping.png?w=1650\u0026fit=max\u0026auto=format\u0026n=fu-nWazMe1LxLhxi\u0026q=85\u0026s=aabbe1a2ac0b4ad542b8e52b3e198e2d 1650w, https://mintcdn.com/opalsecurity/fu-nWazMe1LxLhxi/images/docs/3656559c165ebadc8ca98dcb6b1bd93a19013a07d12c17bdb54b60cd29f34e15-attribute-mapping.png?w=2500\u0026fit=max\u0026auto=format\u0026n=fu-nWazMe1LxLhxi\u0026q=85\u0026s=91e23b5b6c730cf0e40ca0bf113cb695 2500w`}),`\n`,_jsx(Heading,{level:`3`,id:`handle-email-changes`,children:`Handle email changes`}),`\n`,_jsx(_components.p,{children:`If a user’s email changes in the IDP, Opal updates the user’s email in Opal to match the new email in the connected system, while preserving all existing links with remote systems.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Note:`}),` Updating the email in only some IDPs may cause unintended state drift. You can configure which IDP takes precedence for email changes in the `,_jsx(_components.strong,{children:`Attribute Mapping`}),` tab.`]}),`\n`,_jsx(Heading,{level:`2`,id:`secondary-emails`,children:`Secondary emails`}),`\n`,_jsx(_components.p,{children:`When multiple IDP/HRIS providers are configured, secondary emails imported from them will be merged for the corresponding user.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Add additional IDP/HR providers","description":null,"href":"/docs/add-additional-idphr-providers"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Add additional providers","slug":"add-additional-providers","depth":2,"children":[]},{"title":"Import attributes","slug":"import-attributes","depth":2,"children":[]},{"title":"Handle system attribute conflict","slug":"handle-system-attribute-conflict","depth":2,"children":[{"title":"Handle email changes","slug":"handle-email-changes","depth":3,"children":[]}]},{"title":"Secondary emails","slug":"secondary-emails","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/opalsecurity/d0e14c3cf9bbd682/changelog-scraper.js"],"subdomain":"opalsecurity","siteName":"Opal Security Docs","title":"Add additional IDP/HR providers - Opal Security Docs","contextualStarterQuestions":[{"_id":"6ae38665af9cfcd494ad3075","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"How do I rank provider priorities?","status":"active","generatedBy":"contextual","path":"docs/add-additional-idphr-providers","createdAt":"2026-10-29T17:46:13.647Z","updatedAt":"2026-10-29T17:46:13.647Z","__v":0},{"_id":"6ae38665af9cfcd494ad3073","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"How do I add another IDP provider?","status":"active","generatedBy":"contextual","path":"docs/add-additional-idphr-providers","createdAt":"2026-10-29T17:46:13.647Z","updatedAt":"2026-10-29T17:46:13.647Z","__v":0},{"_id":"6ae38665af9cfcd494ad3074","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"What attribute types can I import?","status":"active","generatedBy":"contextual","path":"docs/add-additional-idphr-providers","createdAt":"2026-10-29T17:46:13.647Z","updatedAt":"2026-10-29T17:46:13.647Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T17:45:46.723Z","gitLastModified":"2025-09-11T21:35:51.000Z","originalFileLocation":"docs/add-additional-idphr-providers.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Opal Security Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Add additional IDP/HR providers - Opal Security Docs\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Opal Security Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.opal.dev/docs/add-additional-idphr-providers\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://opalsecurity.mintlify.app/_mintlify/api/og/v2?division=Connect+Identity+or+HR+Providers\u0026amp;title=Add+additional+IDP%2FHR+providers\u0026amp;theme=287ef1256bbb1bf2a61f3fd2\u0026amp;signature=eed82820a0b88f5c3b0454d7aee791a38d699b6c46a59bdd73ad3f28c54f68c0\">\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=\"Add additional IDP/HR providers - Opal Security Docs\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://opalsecurity.mintlify.app/_mintlify/api/og/v2?division=Connect+Identity+or+HR+Providers\u0026amp;title=Add+additional+IDP%2FHR+providers\u0026amp;theme=287ef1256bbb1bf2a61f3fd2\u0026amp;signature=eed82820a0b88f5c3b0454d7aee791a38d699b6c46a59bdd73ad3f28c54f68c0\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Opal Security Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0C7997\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.opal.dev/docs/add-additional-idphr-providers\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/add-additional-idphr-providers.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.opal.dev/#organization\",\"name\":\"Opal Security Docs\",\"url\":\"https://docs.opal.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=93a4bd75f157f9f0ab43cdf4d715b5cd\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.opal.dev#website\",\"name\":\"Opal Security Docs\",\"url\":\"https://docs.opal.dev\",\"publisher\":{\"@id\":\"https://docs.opal.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.opal.dev/docs/add-additional-idphr-providers#webpage\",\"url\":\"https://docs.opal.dev/docs/add-additional-idphr-providers\",\"name\":\"Add additional IDP/HR providers\",\"dateModified\":\"2025-09-11T21:35:51.000Z\",\"isPartOf\":{\"@id\":\"https://docs.opal.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.opal.dev/docs/add-additional-idphr-providers#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.opal.dev/docs/add-additional-idphr-providers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Getting Started\",\"item\":\"https://docs.opal.dev/docs/set-up-cloud\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Connect Identity or HR Providers\",\"item\":\"https://docs.opal.dev/docs/connect-your-identity-provider-idp\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Add additional IDP/HR providers\",\"item\":\"https://docs.opal.dev/docs/add-additional-idphr-providers\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.opal.dev/docs/add-additional-idphr-providers#article\",\"headline\":\"Add additional IDP/HR providers\",\"name\":\"Add additional IDP/HR providers\",\"url\":\"https://docs.opal.dev/docs/add-additional-idphr-providers\",\"mainEntityOfPage\":{\"@id\":\"https://docs.opal.dev/docs/add-additional-idphr-providers#webpage\"},\"dateModified\":\"2025-09-11T21:35:51.000Z\",\"publisher\":{\"@id\":\"https://docs.opal.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.opal.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Opal Security Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Opal Security Docs","nav":{"global":null,"tabs":[{"tab":"Documentation","groups":[{"group":"Welcome","icon":"leaf","pages":[{"title":"Quickstart","mode":"wide","href":"/docs/welcome"},{"title":"Overview","href":"/docs/opal-overview"},{"title":"Concepts","href":"/docs/opal-101"},{"title":"Opal architecture","href":"/docs/opal-architecture"},{"group":"Best practices","pages":[{"title":"Best practices for access requests","href":"/docs/best-practices-for-access-requests"},{"title":"Best practices for access reviews","href":"/docs/best-practices-for-user-access-reviews"}]}]},{"group":"End user","icon":"book-open","pages":[{"title":"Access Request FAQs","sidebarTitle":"How to request access","href":"/docs/end-user-faq"},{"title":"Tips on searching","href":"/docs/tips-on-searching"},{"title":"Complete Access Reviews","sidebarTitle":"How to complete access reviews","href":"/docs/complete-access-reviews"}]},{"group":"Getting Started","icon":"rocket","pages":[{"title":"Set up Cloud","href":"/docs/set-up-cloud"},{"group":"Set up Self-Hosted","pages":[{"title":"Set up Self-Hosted","href":"/docs/self-host-overview"},{"title":"Self-Hosted on AWS EKS","href":"/docs/self-host-opal-aws-guide"},{"title":"Self-Hosted on GKE","href":"/docs/self-host-opal-gke-guide"},{"title":"Disaster recovery guide","href":"/docs/disaster-recovery-guide"},{"title":"Update your Opal installation","href":"/docs/update-self-hosted-opal"},{"title":"Install Opal using Helm","href":"/docs/install-opal-using-helm"},{"title":"Set up an Airgapped Opal Environment","href":"/docs/setup-an-airgapped-opal-environment"},{"title":"Configure Async Exports Storage (Self-Hosted)","href":"/docs/configure-async-exports-storage"},{"title":"Kubernetes Components and Health Monitoring","href":"/docs/kubernetes-components-and-health-monitoring-guide"}]},{"group":"Connect Identity or HR Providers","pages":[{"title":"Connect Identity or HR Providers","sidebarTitle":"Overview","href":"/docs/connect-your-identity-provider-idp"},{"title":"Add your first IDP/HR provider","description":null,"href":"/docs/add-your-first-idphr-provider"},{"title":"Add additional IDP/HR providers","href":"/docs/add-additional-idphr-providers"},{"title":"Import user secondary emails","description":"Learn how to consolidate access for users with multiple email addresses.","href":"/docs/importing-user-secondary-email"}]},{"title":"Connect Productivity Tools","sidebarTitle":"Connect Productivity Tools","href":"/docs/connect-your-productivity-tools"},{"group":"Connect Apps and Infrastructure","pages":[{"title":"Connect Apps and Infrastructure","sidebarTitle":"Overview","href":"/docs/set-up-connections"},{"title":"Import and configure resources","href":"/docs/import-and-configure-resources-and-groups"},{"title":"Opal's server IP ranges","href":"/docs/ip-ranges"}]},{"group":"Configure SSO and MFA","pages":[{"title":"Configure SSO and MFA","sidebarTitle":"Overview","href":"/docs/configure-sso-and-mfa"},{"group":"SSO with SAML","pages":[{"title":"SSO with SAML","href":"/docs/sso-with-saml"},{"title":"Google SAML Setup","href":"/docs/google-saml-setup"},{"title":"Okta SAML Setup","href":"/docs/okta-saml-setup"}]},{"title":"Okta Multifactor Authentication","href":"/docs/okta-multifactor-authentication"},{"title":"Okta SCIM: Provision Opal Users","href":"/docs/okta-scim-integration"},{"title":"OIDC Provider Setup for Opal Actions","href":"/docs/oidc-provider-setup-for-opal-actions"}]}]},{"group":"Access Management","icon":"shield","pages":[{"group":"Manage end-user catalog","pages":[{"title":"Curate end-user catalog","href":"/docs/curate-catalog"},{"title":"Bundles","href":"/docs/bundles"},{"title":"Configure reviewers","href":"/docs/configure-reviewers"},{"title":"Escalate if no response","href":"/docs/escalate-if-no-response"},{"title":"Request on behalf rules","href":"/docs/request-on-behalf"},{"title":"Delegate reviews","href":"/docs/delegate-reviews"}]},{"title":"Configuration templates","href":"/docs/configuration-templates"},{"title":"Manage access with ticketing","href":"/docs/ticket-propagation"},{"title":"Access Rules","href":"/docs/access-rules"},{"title":"Risk Center","href":"/docs/least-privilege-posture-management"},{"group":"Manage groups in Opal","pages":[{"title":"Overview","href":"/docs/manage-groups-in-opal"},{"title":"Manage break-glass access","href":"/docs/manage-breakglass-access"},{"title":"Nested groups","href":"/docs/nested-groups"},{"title":"Group aliasing","href":"/docs/okta-group-aliasing"},{"title":"Linked groups","href":"/docs/linked-groups"},{"title":"Group leaders","href":"/docs/group-projects"}]},{"title":"Notifications","href":"/docs/notifications"},{"title":"Special roles in Opal","href":"/docs/roles-in-opal"},{"title":"Owner Permissions","href":"/docs/owner-permissions"},{"title":"Custom Opal roles","href":"/docs/custom-opal-roles"},{"title":"User provisioning","href":"/docs/user-provisioning"},{"title":"Access Comparison","sidebarTitle":"Access Comparison","tag":"NEW","href":"/docs/access-comparison"}]},{"group":"AI Agent Governance","icon":"cpu","pages":[{"title":"Agent Inventory","href":"/docs/agent-inventory"},{"title":"OpenAI and ChatGPT","href":"/docs/openai-chatgpt-setup"},{"title":"Anthropic Setup","href":"/docs/anthropic-agent-setup"}]},{"group":"OpalScript","icon":"scroll","tag":"NEW","pages":[{"title":"Use OpalScript to automate access workflows","sidebarTitle":"Overview","href":"/docs/opalscript-overview"},{"title":"Work with scripts in the OpalScript editor","sidebarTitle":"Using the editor","href":"/docs/opalscript-editor"},{"title":"Write OpalScript with AI","sidebarTitle":"Write with AI","href":"/docs/opalscript-ai-assistant"},{"title":"Utility Modules for OpalScript","sidebarTitle":"Utility Modules","href":"/docs/opalscript-utilitymodules"},{"group":"Request Review Scripts","pages":[{"title":"Start automating workflows around requests","sidebarTitle":"Request Review","href":"/docs/requestreview-getstarted"},{"title":"Request Review Example Scripts","sidebarTitle":"Examples","href":"/docs/requestreview-examples"}]},{"title":"Control who can cover a request with delegation conditions","sidebarTitle":"Delegation Conditions","href":"/docs/opalscript-delegation-conditions"},{"title":"Give Paladin extra context with context provider scripts","sidebarTitle":"Paladin Context","tag":"BETA","href":"/docs/opalscript-context-provider"},{"title":"Manage OpalScripts with Terraform","sidebarTitle":"Terraform","href":"/docs/opalscript-terraform"},{"title":"OpalScript Reference","sidebarTitle":"Reference","href":"/docs/opalscript-reference"}]},{"group":"Paladin","icon":"bot","tag":"NEW","pages":[{"title":"Use Paladin to scale your security function","sidebarTitle":"Overview","href":"/docs/paladin/overview"},{"title":"Review access requests with Paladin","sidebarTitle":"Access Requests","href":"/docs/paladin/access-request"},{"title":"Review access campaigns with Paladin Insights","sidebarTitle":"Access Reviews","href":"/docs/paladin/access-reviews"},{"title":"Model providers","sidebarTitle":"Model Providers","href":"/docs/paladin/model-providers"},{"title":"Set up Paladin on self-hosted Opal","sidebarTitle":"Self-Hosted Setup","href":"/docs/paladin/self-hosted-setup"}]},{"group":"OpalQuery","icon":"search","tag":"NEW","pages":[{"title":"Overview","href":"/docs/opal-query"},{"title":"Node queries","href":"/docs/opal-query-node"},{"title":"Access queries","href":"/docs/opal-query-access"},{"title":"Query API","href":"/docs/opal-query-api"}]},{"group":"Auditing and Security","icon":"user-round-search","pages":[{"group":"Access Campaigns","tag":"NEW","pages":[{"title":"Create Access Campaigns","sidebarTitle":"Create access campaigns","href":"/docs/access-campaigns"},{"title":"Manage Access Campaign","sidebarTitle":"Manage your access campaign","href":"/docs/managing-access-campaigns"},{"group":"Legacy UARs","pages":[{"title":"Create Access Reviews","tag":"LEGACY","href":"/docs/access-reviews-legacy"},{"title":"Assign and complete reviews","tag":"LEGACY","href":"/docs/assigning-and-completing-reviews-legacy"},{"title":"Manage reviews","tag":"LEGACY","href":"/docs/managing-user-access-reviews-legacy"}]}]},{"title":"Events","href":"/docs/event-types"},{"title":"Events Streaming","href":"/docs/events-streaming"},{"title":"Metrics dashboard","href":"/docs/metrics"},{"title":"Sync schedules and triggers","href":"/docs/sync-schedules-and-triggers"}]},{"group":"Custom Integrations","icon":"pencil-line","pages":[{"title":"Overview","href":"/docs/custom-integrations-overview"},{"title":"Create your own connector","href":"/docs/how-to-create-your-own-connector"},{"title":"Custom Connector API Spec","href":"/docs/api-spec"},{"title":"Webhooks","href":"/docs/webhooks"}]},{"group":"For Developers","icon":"terminal","pages":[{"title":"Opal CLI","href":"/docs/opal-cli"},{"title":"Use Terraform with Opal","href":"/docs/use-terraform-with-opal"},{"group":"Model Context Protocol (MCP) Server","tag":"NEW","pages":[{"title":"Model Context Protocol (MCP)","mode":"wide","sidebarTitle":"Overview","href":"/docs/mcp/overview"},{"title":"End User MCP Server","sidebarTitle":"End Users","href":"/docs/mcp/end-user"},{"title":"Admin Provisioning MCP Server","sidebarTitle":"Admin Provisioning","href":"/docs/mcp/admin-provisioning"},{"title":"Admin Auditing MCP Server","sidebarTitle":"Admin Auditing","href":"/docs/mcp/admin-auditing"},{"title":"Okta Cross App Access (XAA)","sidebarTitle":"Okta Cross App Access","href":"/docs/mcp/okta-cross-app-access"},{"title":"Legacy MCP","deprecated":true,"href":"/docs/mcp/gram-mcp-servers"}]}]}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/authentication"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/changelog"}]}]},"basePath":"","title":"Add additional IDP/HR providers - Opal Security Docs","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-DL4wrF0w.js","lightbox-handle-r17bVUz3.js"]}