Learn about user provisioning and deprovisioning in Opal.
Opal supports automatic user provisioning and deprovisioning for some integrations. Feel free to reach out to request user provisioning or deprovisioning on additional integrations.
User provisioning
User provisioning is triggered when users are granted access to a group or resource in Opal, or from the POST /usersendpoint for custom connections. When provisioning is enabled on an integration, users are created in the end system if they don’t already exist.Provisioning is supported in the following integrations:
Enable user provisioning when you edit a connection. For example, on custom connectors, use the Provision custom connector users setting.
User deprovisioning
User deprovisioning deactivates or deletes a user in an end system, depending on the integration. For custom connectors, you should implement the DELETE /users/{user_id}endpoint to deactivate your users.When enabled, user deprovisioning is triggered:
Manually, by selecting a user in Inventory > Accounts for the connection
In access reviews, when access is revoked
When a user is deprovisioned in an IdP/HRIS
Deprovisioning is supported in the following integrations:
Enable user deprovisioning when you edit a connection. In the custom connector example, use the Deprovision custom connector users setting.
Last modified on October 16, 2026
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Opal Security Docs","colors":{"primary":"#0C7997","light":"#EDFCFC","dark":"#074055"},"logo":{"light":"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=93a4bd75f157f9f0ab43cdf4d715b5cd","dark":"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-light.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=1774b545e4f1c5cad647f5194f7b26d9"},"favicon":{"light":"https://mintcdn.com/opalsecurity/DRAwGKUXMxLRQouh/logo/icon-opal-black.svg?fit=max\u0026auto=format\u0026n=DRAwGKUXMxLRQouh\u0026q=85\u0026s=9c8bd1204b6b5b83542c2ab5be549858","dark":"https://mintcdn.com/opalsecurity/DRAwGKUXMxLRQouh/logo/icon-opal-white.svg?fit=max\u0026auto=format\u0026n=DRAwGKUXMxLRQouh\u0026q=85\u0026s=73b53b4ceab6ae0b00e30b2042a6020a"},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","latex":false},"integrations":{"ga4":{"measurementId":"G-1PPPM1WF6D"}},"errors":{"404":{"redirect":false,"title":"Page can't be found","description":"Sorry! This page might have been moved, or the link might be broken. Go back to our documentation via https://docs.opal.dev/docs/welcome."}},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"opalsecurity","hasAudioNarration":false,"actualSubdomain":"opalsecurity","customDomains":["docs.opal.dev"],"gitSource":{"type":"github","owner":"opalsecurity","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af7bc9ca5d707e66c231413","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API Reference","count":218},{"language":"default","tag":"Opal API","count":213},{"language":"default","tag":"Documentation","count":104},{"language":"default","tag":"Integrations","count":103},{"language":"default","tag":"Entitlement Management","count":69},{"language":"default","tag":"resources","count":34},{"language":"default","tag":"groups","count":32},{"language":"default","tag":"Getting Started","count":25},{"language":"default","tag":"Access Management","count":22},{"language":"default","tag":"Infrastructure","count":22}]},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"deflection":{"enabled":true,"email":"support@opal.dev","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"docs/user-provisioning","slug":"/docs/user-provisioning","pageMetadata":{"title":"User provisioning","description":"Learn about user provisioning and deprovisioning in Opal.","href":"/docs/user-provisioning"},"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: \"Learn about user provisioning and deprovisioning in Opal.\"\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];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,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:[_jsxs(_components.p,{children:[`Opal supports automatic user provisioning and deprovisioning for some integrations. Feel free to `,_jsx(_components.a,{href:`mailto:support@opal.dev`,children:`reach out`}),` to request user provisioning or deprovisioning on additional integrations.`]}),`\n`,_jsx(Heading,{level:`2`,id:`user-provisioning`,children:`User provisioning`}),`\n`,_jsxs(_components.p,{children:[`User provisioning is triggered when users are granted access to a group or resource in Opal, or from the POST `,_jsx(_components.code,{children:`/users`}),` `,_jsx(_components.a,{href:`https://docs.opal.dev/docs/api-spec#post-%2Fusers`,children:`endpoint`}),` for custom connections. When provisioning is enabled on an integration, users are created in the end system if they don’t already exist.`]}),`\n`,_jsx(_components.p,{children:`Provisioning is supported in the following integrations:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Custom Connectors`}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/axiom#user-provisioning`,children:`Axiom`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/clickhouse#user-provisioning`,children:`ClickHouse`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/docusign#user-provisioning`,children:`Docusign`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/grafana#user-provisioning`,children:`Grafana`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/hubspot#user-provisioning`,children:`HubSpot`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/netsuite#user-provisioning`,children:`NetSuite`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/okta#user-provisioning`,children:`Okta`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/okta-ciam#user-provisioning`,children:`Okta CIAM`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/pagerduty-entitlements#user-provisioning`,children:`PagerDuty`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/ramp#user-provisioning`,children:`Ramp`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/salesforce#user-provisioning`,children:`Salesforce`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/snowflake#user-provisioning`,children:`Snowflake`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/twingate#user-provisioning`,children:`Twingate`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/vercel#user-provisioning`,children:`Vercel`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/wrike#user-provisioning`,children:`Wrike`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/zendesk#user-provisioning`,children:`Zendesk`})}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Enable user provisioning when you edit a connection. For example, on custom connectors, use the `,_jsx(_components.strong,{children:`Provision custom connector users`}),` setting.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/opalsecurity/wrQmDKN-A5k_wlFV/images/docs/1de114ece8ed41ec29c1eac73a15f1f689a262a14faf9a161b5be15ad28cc609-provisioning-custom-connector.png?fit=max\u0026auto=format\u0026n=wrQmDKN-A5k_wlFV\u0026q=85\u0026s=dab80c1befc070a906b0e51c77d5b34a`,alt:``,\"data-og-width\":`3632`,width:`3632`,\"data-og-height\":`1817`,height:`1817`,\"data-path\":`images/docs/1de114ece8ed41ec29c1eac73a15f1f689a262a14faf9a161b5be15ad28cc609-provisioning-custom-connector.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/opalsecurity/wrQmDKN-A5k_wlFV/images/docs/1de114ece8ed41ec29c1eac73a15f1f689a262a14faf9a161b5be15ad28cc609-provisioning-custom-connector.png?w=280\u0026fit=max\u0026auto=format\u0026n=wrQmDKN-A5k_wlFV\u0026q=85\u0026s=72a76cc80be974d7e7c6f3f3620802e9 280w, https://mintcdn.com/opalsecurity/wrQmDKN-A5k_wlFV/images/docs/1de114ece8ed41ec29c1eac73a15f1f689a262a14faf9a161b5be15ad28cc609-provisioning-custom-connector.png?w=560\u0026fit=max\u0026auto=format\u0026n=wrQmDKN-A5k_wlFV\u0026q=85\u0026s=fc2b1598c21c6cb467c990af0500669b 560w, https://mintcdn.com/opalsecurity/wrQmDKN-A5k_wlFV/images/docs/1de114ece8ed41ec29c1eac73a15f1f689a262a14faf9a161b5be15ad28cc609-provisioning-custom-connector.png?w=840\u0026fit=max\u0026auto=format\u0026n=wrQmDKN-A5k_wlFV\u0026q=85\u0026s=7d5d009fe79e17ba5479170770d3799a 840w, https://mintcdn.com/opalsecurity/wrQmDKN-A5k_wlFV/images/docs/1de114ece8ed41ec29c1eac73a15f1f689a262a14faf9a161b5be15ad28cc609-provisioning-custom-connector.png?w=1100\u0026fit=max\u0026auto=format\u0026n=wrQmDKN-A5k_wlFV\u0026q=85\u0026s=aa4b4238291ae596e5a6e5a0b117c8ae 1100w, https://mintcdn.com/opalsecurity/wrQmDKN-A5k_wlFV/images/docs/1de114ece8ed41ec29c1eac73a15f1f689a262a14faf9a161b5be15ad28cc609-provisioning-custom-connector.png?w=1650\u0026fit=max\u0026auto=format\u0026n=wrQmDKN-A5k_wlFV\u0026q=85\u0026s=eb96750a58bdad40e6fc016914829058 1650w, https://mintcdn.com/opalsecurity/wrQmDKN-A5k_wlFV/images/docs/1de114ece8ed41ec29c1eac73a15f1f689a262a14faf9a161b5be15ad28cc609-provisioning-custom-connector.png?w=2500\u0026fit=max\u0026auto=format\u0026n=wrQmDKN-A5k_wlFV\u0026q=85\u0026s=804aa2c2de44210ab8b12e4c9ab0d932 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`user-deprovisioning`,children:`User deprovisioning`}),`\n`,_jsxs(_components.p,{children:[`User deprovisioning deactivates or deletes a user in an end system, depending on the integration. For custom connectors, you should implement the `,_jsx(_components.code,{children:`DELETE /users/{user_id}`}),_jsx(_components.a,{href:`https://docs.opal.dev/docs/api-spec#delete-%2Fusers%2F%7Buser-id%7D`,children:`endpoint`}),` to deactivate your users.`]}),`\n`,_jsx(_components.p,{children:`When enabled, user deprovisioning is triggered:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Manually, by selecting a user in `,_jsx(_components.strong,{children:`Inventory`}),` > `,_jsx(_components.strong,{children:`Accounts`}),` for the connection`]}),`\n`,_jsx(_components.li,{children:`In access reviews, when access is revoked`}),`\n`,_jsx(_components.li,{children:`When a user is deprovisioned in an IdP/HRIS`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Deprovisioning is supported in the following integrations:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Custom Connectors`}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/axiom#user-provisioning`,children:`Axiom`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/clickhouse#user-provisioning`,children:`ClickHouse`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/docusign#user-provisioning`,children:`Docusign`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/duo#user-deprovisioning`,children:`Duo`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/google-workspace#user-deprovisioning`,children:`Google Workspace`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/grafana#user-provisioning`,children:`Grafana`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/hubspot#user-provisioning`,children:`HubSpot`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/okta#user-provisioning`,children:`Okta`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/okta-ciam#user-provisioning`,children:`Okta CIAM`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/pagerduty-entitlements#user-provisioning`,children:`PagerDuty`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/ramp#user-provisioning`,children:`Ramp`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/salesforce#user-provisioning`,children:`Salesforce`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/twingate#user-provisioning`,children:`Twingate`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/vercel#user-provisioning`,children:`Vercel`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/wrike#user-provisioning`,children:`Wrike`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/integrations/zendesk#user-provisioning`,children:`Zendesk`})}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Enable user deprovisioning when you edit a connection. In the custom connector example, use the `,_jsx(_components.strong,{children:`Deprovision custom connector users`}),` setting.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/opalsecurity/hNqUFv-5u2RU-onV/images/docs/d23c211caefa1fc35a1db26b8b90c9f396a99a1d5f975a7a698fb4484889ec9d-user-deprovisioning-custom.png?fit=max\u0026auto=format\u0026n=hNqUFv-5u2RU-onV\u0026q=85\u0026s=b1d66e43cdf96a6252a7e1bd1b801e50`,alt:``,\"data-og-width\":`3632`,width:`3632`,\"data-og-height\":`1817`,height:`1817`,\"data-path\":`images/docs/d23c211caefa1fc35a1db26b8b90c9f396a99a1d5f975a7a698fb4484889ec9d-user-deprovisioning-custom.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/opalsecurity/hNqUFv-5u2RU-onV/images/docs/d23c211caefa1fc35a1db26b8b90c9f396a99a1d5f975a7a698fb4484889ec9d-user-deprovisioning-custom.png?w=280\u0026fit=max\u0026auto=format\u0026n=hNqUFv-5u2RU-onV\u0026q=85\u0026s=dc35b386c425939123422f6dd1fa2c95 280w, https://mintcdn.com/opalsecurity/hNqUFv-5u2RU-onV/images/docs/d23c211caefa1fc35a1db26b8b90c9f396a99a1d5f975a7a698fb4484889ec9d-user-deprovisioning-custom.png?w=560\u0026fit=max\u0026auto=format\u0026n=hNqUFv-5u2RU-onV\u0026q=85\u0026s=ca82fedc1be39dc442e5eeb39c321c53 560w, https://mintcdn.com/opalsecurity/hNqUFv-5u2RU-onV/images/docs/d23c211caefa1fc35a1db26b8b90c9f396a99a1d5f975a7a698fb4484889ec9d-user-deprovisioning-custom.png?w=840\u0026fit=max\u0026auto=format\u0026n=hNqUFv-5u2RU-onV\u0026q=85\u0026s=0e6412fff05f58566834857c3c101877 840w, https://mintcdn.com/opalsecurity/hNqUFv-5u2RU-onV/images/docs/d23c211caefa1fc35a1db26b8b90c9f396a99a1d5f975a7a698fb4484889ec9d-user-deprovisioning-custom.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hNqUFv-5u2RU-onV\u0026q=85\u0026s=fa860fb31e96ccf67c6906e022464f9e 1100w, https://mintcdn.com/opalsecurity/hNqUFv-5u2RU-onV/images/docs/d23c211caefa1fc35a1db26b8b90c9f396a99a1d5f975a7a698fb4484889ec9d-user-deprovisioning-custom.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hNqUFv-5u2RU-onV\u0026q=85\u0026s=49cc09aca3be2fc1ccb1703bdf4770c3 1650w, https://mintcdn.com/opalsecurity/hNqUFv-5u2RU-onV/images/docs/d23c211caefa1fc35a1db26b8b90c9f396a99a1d5f975a7a698fb4484889ec9d-user-deprovisioning-custom.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hNqUFv-5u2RU-onV\u0026q=85\u0026s=779a8da3ee27f9f57b8f7402a295a97e 2500w`}),`\n`,_jsx(_components.hr,{})]})}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":"User provisioning","description":"Learn about user provisioning and deprovisioning in Opal.","href":"/docs/user-provisioning"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"User provisioning","slug":"user-provisioning","depth":2,"children":[]},{"title":"User deprovisioning","slug":"user-deprovisioning","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/opalsecurity/d0e14c3cf9bbd682/changelog-scraper.js"],"subdomain":"opalsecurity","siteName":"Opal Security Docs","title":"User provisioning - Opal Security Docs","contextualStarterQuestions":[{"_id":"6ad274a7a203cf85e9758728","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"How do I enable user provisioning?","status":"active","generatedBy":"contextual","path":"docs/user-provisioning","createdAt":"2026-10-16T19:01:59.235Z","updatedAt":"2026-10-16T19:01:59.235Z","__v":0},{"_id":"6ad274a7a203cf85e9758727","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"Which integrations support provisioning?","status":"active","generatedBy":"contextual","path":"docs/user-provisioning","createdAt":"2026-10-16T19:01:59.235Z","updatedAt":"2026-10-16T19:01:59.235Z","__v":0},{"_id":"6ad274a7a203cf85e9758729","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"When is provisioning triggered?","status":"active","generatedBy":"contextual","path":"docs/user-provisioning","createdAt":"2026-10-16T19:01:59.235Z","updatedAt":"2026-10-16T19:01:59.235Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-16T19:01:43.358Z","gitLastModified":"2026-10-16T19:01:18.000Z","originalFileLocation":"docs/user-provisioning.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=\"Learn about user provisioning and deprovisioning in Opal.\">\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=\"User provisioning - Opal Security Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn about user provisioning and deprovisioning in Opal.\">\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/user-provisioning\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://opalsecurity.mintlify.site/_mintlify/api/og/v2?division=Access+Management\u0026amp;title=User+provisioning\u0026amp;description=Learn+about+user+provisioning+and+deprovisioning+in+Opal.\u0026amp;theme=156eb1ba223f12a303f95077\u0026amp;signature=d8c061bd6d4f8549bd127e2e70b4c898d8891e35af14446b43e9fef158e76a9f\">\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=\"User provisioning - Opal Security Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn about user provisioning and deprovisioning in Opal.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://opalsecurity.mintlify.site/_mintlify/api/og/v2?division=Access+Management\u0026amp;title=User+provisioning\u0026amp;description=Learn+about+user+provisioning+and+deprovisioning+in+Opal.\u0026amp;theme=156eb1ba223f12a303f95077\u0026amp;signature=d8c061bd6d4f8549bd127e2e70b4c898d8891e35af14446b43e9fef158e76a9f\">\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/user-provisioning\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/user-provisioning.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/user-provisioning#webpage\",\"url\":\"https://docs.opal.dev/docs/user-provisioning\",\"name\":\"User provisioning\",\"description\":\"Learn about user provisioning and deprovisioning in Opal.\",\"dateModified\":\"2026-10-16T19:01:18.000Z\",\"isPartOf\":{\"@id\":\"https://docs.opal.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.opal.dev/docs/user-provisioning#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.opal.dev/docs/user-provisioning#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Access Management\",\"item\":\"https://docs.opal.dev/docs/curate-catalog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"User provisioning\",\"item\":\"https://docs.opal.dev/docs/user-provisioning\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.opal.dev/docs/user-provisioning#article\",\"headline\":\"User provisioning\",\"name\":\"User provisioning\",\"description\":\"Learn about user provisioning and deprovisioning in Opal.\",\"url\":\"https://docs.opal.dev/docs/user-provisioning\",\"mainEntityOfPage\":{\"@id\":\"https://docs.opal.dev/docs/user-provisioning#webpage\"},\"dateModified\":\"2026-10-16T19:01:18.000Z\",\"publisher\":{\"@id\":\"https://docs.opal.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.opal.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Opal Security Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Opal Security Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/user-provisioning.md","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","href":"/docs/add-your-first-idphr-provider"},{"title":"Add additional IDP/HR providers","href":"/docs/add-additional-idphr-providers"},{"title":"Import user secondary emails","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","description":"Learn how to create custom Opal roles.","href":"/docs/custom-opal-roles"},{"title":"User provisioning","href":"/docs/user-provisioning"},{"title":"Access Comparison","description":"Learn how to use our access comparison tool","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":"Choose a request configuration with OpalScript","sidebarTitle":"Request Configuration Conditions","href":"/docs/opalscript-request-configuration-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"},{"group":"AI Gateways","tag":"BETA","pages":[{"title":"Connect an AI gateway","sidebarTitle":"Overview","href":"/docs/paladin/ai-gateway"},{"title":"Connect Cloudflare AI Gateway","sidebarTitle":"Cloudflare AI Gateway","href":"/docs/paladin/ai-gateway-cloudflare"},{"title":"Connect LiteLLM","sidebarTitle":"LiteLLM","href":"/docs/paladin/ai-gateway-litellm"},{"title":"Connect Bifrost","sidebarTitle":"Bifrost","href":"/docs/paladin/ai-gateway-bifrost"}]},{"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":"User provisioning - Opal Security Docs","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-BbK2OBGL.js","lightbox-handle-r17bVUz3.js"]}