Learn how to connect Opal to Rippling to manage access to Rippling supergroups, and to sync employees, departments, and teams.
With the Rippling integration, you can manage workforce platform access through Opal:
Let people request just-in-time access to Rippling supergroups from the web and Slack
Sync employees, departments, and teams into Opal for visibility and access reviews
Set the right owners to delegate approvals to those with the most context
Review who belongs to each supergroup
Departments and teams sync for visibility only. Their membership comes from each employee’s record in Rippling, so you cannot assign people to them in Opal.
Active workers only. Opal does not create, update, or deactivate Rippling users.
Supergroups
✔️
✔️
Synced as groups. Only supergroups that are editable in Rippling. Department- and team-backed supergroups are read only in Rippling and are not imported.
Departments
✔️
Synced as resources. Membership follows each employee’s department in Rippling.
Teams
✔️
Synced as groups. Membership follows each employee’s teams in Rippling.
Rippling permission profiles are not available in Opal. Rippling does not expose them through its API.
In Rippling, go to Tools > Developer > API Tokens, or search for API Tokens. Select Create API Token, give it a name (for example, Opal) and a unique identifier, select the latest API version, and grant the following scopes.
Scope
What it unlocks
user.read
Read employee identities, including names and work emails
workers.read
Sync employees, and derive department and team membership
departments.read
Sync departments
teams.read
Sync teams
supergroups.read
Sync supergroups and their members
supergroups.write
Add and remove supergroup members
A Rippling token is limited to what the admin who created it can already see.
Create it with an admin who has visibility into every department, team, and
supergroup you want to manage in Opal.
Save the token and copy it. Rippling shows the value only once.
After creating the app, import departments, teams, and supergroups from the app’s Assets tab by selecting Import assets. People can then request supergroup membership through Opal.
Granting access adds the person to the supergroup’s inclusion list, and revoking removes them. Rippling has no expiry on membership, so Opal revokes time-bound access on its own schedule.Supergroups that Rippling marks as read only, including those backed by a department or a team, are not imported.
You can also connect Rippling as an upstream HR directory under Identities > Upstream IDP & HR Directories so Opal syncs employee lifecycle status (including terminated workers), manager relationships, and worker attributes from Rippling. See Rippling IDP/HRIS Integration.
Last modified on November 9, 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":"6af2095b73e9ba17ec29d0d5","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"API Reference","count":217},{"language":"default","tag":"Opal API","count":212},{"language":"default","tag":"Documentation","count":100},{"language":"default","tag":"Integrations","count":100},{"language":"default","tag":"Entitlement Management","count":67},{"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":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"integrations/rippling","slug":"/integrations/rippling","pageMetadata":{"title":"Rippling","description":"Learn how to connect Opal to Rippling to manage access to Rippling supergroups, and to sync employees, departments, and teams.","tag":"NEW","href":"/integrations/rippling"},"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 how to connect Opal to Rippling to manage access to Rippling supergroups, and to sync employees, departments, and teams.\"\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`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`With the Rippling integration, you can manage workforce platform access through Opal:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Let people request just-in-time access to Rippling supergroups from the web and Slack`}),`\n`,_jsx(_components.li,{children:`Sync employees, departments, and teams into Opal for visibility and access reviews`}),`\n`,_jsx(_components.li,{children:`Set the right owners to delegate approvals to those with the most context`}),`\n`,_jsx(_components.li,{children:`Review who belongs to each supergroup`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Departments and teams sync for visibility only. Their membership comes from each employee’s record in Rippling, so you cannot assign people to them in Opal.`}),`\n`,_jsx(Heading,{level:`2`,id:`supported-resources`,children:`Supported resources`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Resource`}),_jsx(_components.th,{children:`Read`}),_jsx(_components.th,{children:`Grant and revoke access`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Users`}),_jsx(_components.td,{children:`✔️`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Active workers only. Opal does not create, update, or deactivate Rippling users.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Supergroups`}),_jsx(_components.td,{children:`✔️`}),_jsx(_components.td,{children:`✔️`}),_jsx(_components.td,{children:`Synced as groups. Only supergroups that are editable in Rippling. Department- and team-backed supergroups are read only in Rippling and are not imported.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Departments`}),_jsx(_components.td,{children:`✔️`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Synced as resources. Membership follows each employee’s department in Rippling.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Teams`}),_jsx(_components.td,{children:`✔️`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Synced as groups. Membership follows each employee’s teams in Rippling.`})]})]})]}),`\n`,_jsx(_components.p,{children:`Rippling permission profiles are not available in Opal. Rippling does not expose them through its API.`}),`\n`,_jsx(Heading,{level:`2`,id:`requirements`,children:`Requirements`}),`\n`,_jsx(_components.p,{children:`Before you begin, you must:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Be an Opal admin.`}),`\n`,_jsxs(_components.li,{children:[`Be a Rippling admin with access to `,_jsx(_components.strong,{children:`Tools`}),` > `,_jsx(_components.strong,{children:`Developer`}),` > `,_jsx(_components.strong,{children:`API Tokens`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Have the Rippling integration enabled for your Opal organization. If you do not see Rippling under `,_jsx(_components.strong,{children:`+ App`}),`, contact Opal support.`]}),`\n`,_jsx(_components.li,{children:`Be on version 1.1239.0 or greater, if you self-host Opal.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`1-create-a-rippling-api-token`,children:`1. Create a Rippling API token`}),`\n`,_jsxs(_components.p,{children:[`In Rippling, go to `,_jsx(_components.strong,{children:`Tools`}),` > `,_jsx(_components.strong,{children:`Developer`}),` > `,_jsx(_components.strong,{children:`API Tokens`}),`, or search for `,_jsx(_components.code,{children:`API Tokens`}),`. Select `,_jsx(_components.strong,{children:`Create API Token`}),`, give it a name (for example, `,_jsx(_components.code,{children:`Opal`}),`) and a unique identifier, select the latest API version, and grant the following scopes.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`What it unlocks`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`user.read`})}),_jsx(_components.td,{children:`Read employee identities, including names and work emails`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`workers.read`})}),_jsx(_components.td,{children:`Sync employees, and derive department and team membership`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`departments.read`})}),_jsx(_components.td,{children:`Sync departments`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`teams.read`})}),_jsx(_components.td,{children:`Sync teams`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`supergroups.read`})}),_jsx(_components.td,{children:`Sync supergroups and their members`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`supergroups.write`})}),_jsx(_components.td,{children:`Add and remove supergroup members`})]})]})]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`A Rippling token is limited to what the admin who created it can already see.\nCreate it with an admin who has visibility into every department, team, and\nsupergroup you want to manage in Opal.`})}),`\n`,_jsx(_components.p,{children:`Save the token and copy it. Rippling shows the value only once.`}),`\n`,_jsx(Heading,{level:`2`,id:`2-create-a-rippling-app-in-opal`,children:`2. Create a Rippling app in Opal`}),`\n`,_jsxs(_components.p,{children:[`In Opal, go to `,_jsx(_components.strong,{children:`Inventory`}),` > `,_jsx(_components.strong,{children:`+ App`}),` and select `,_jsx(_components.strong,{children:`Rippling`}),`. Fill in the following fields and create the app.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Value`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`App name`}),_jsx(_components.td,{children:`An identifiable name for this Rippling connection.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`App admin`}),_jsx(_components.td,{children:`The team or user that should own the Rippling app in Opal.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Description`}),_jsx(_components.td,{children:`Let requesters know what they are requesting access to.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`API Token`}),_jsxs(_components.td,{children:[`The token from `,_jsx(_components.a,{href:`#1-create-a-rippling-api-token`,children:`step 1`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Visibility`}),_jsx(_components.td,{children:`Global, or restricted to specific groups.`})]})]})]}),`\n`,_jsx(_components.p,{children:`Opal tests the token before saving the app. If the token cannot read workers and departments, app creation fails with a validation error.`}),`\n`,_jsx(Heading,{level:`2`,id:`3-import-rippling-items`,children:`3. Import Rippling items`}),`\n`,_jsxs(_components.p,{children:[`After creating the app, import departments, teams, and supergroups from the app’s `,_jsx(_components.strong,{children:`Assets`}),` tab by selecting `,_jsx(_components.strong,{children:`Import assets`}),`. People can then request supergroup membership through Opal.`]}),`\n`,_jsx(Heading,{level:`2`,id:`additional-information`,children:`Additional information`}),`\n`,_jsx(Heading,{level:`3`,id:`supergroups`,children:`Supergroups`}),`\n`,_jsx(_components.p,{children:`Granting access adds the person to the supergroup’s inclusion list, and revoking removes them. Rippling has no expiry on membership, so Opal revokes time-bound access on its own schedule.`}),`\n`,_jsx(_components.p,{children:`Supergroups that Rippling marks as read only, including those backed by a department or a team, are not imported.`}),`\n`,_jsx(Heading,{level:`3`,id:`departments-and-teams`,children:`Departments and teams`}),`\n`,_jsx(_components.p,{children:`Both sync so you can review who sits where. Membership is managed in Rippling, and Opal reports an unsupported status if a grant is attempted.`}),`\n`,_jsx(Heading,{level:`3`,id:`users`,children:`Users`}),`\n`,_jsx(_components.p,{children:`Opal syncs active workers and matches people by their Rippling work email. Workers without a work email are skipped.`}),`\n`,_jsx(Heading,{level:`3`,id:`using-rippling-as-an-upstream-hr-directory`,children:`Using Rippling as an upstream HR directory`}),`\n`,_jsxs(_components.p,{children:[`You can also connect Rippling as an upstream HR directory under `,_jsx(_components.strong,{children:`Identities`}),` > `,_jsx(_components.strong,{children:`Upstream IDP \u0026 HR Directories`}),` so Opal syncs employee lifecycle status (including terminated workers), manager relationships, and worker attributes from Rippling. See `,_jsx(_components.a,{href:`/integrations/rippling-idphris-integration`,children:`Rippling IDP/HRIS Integration`}),`.`]})]})}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":"Rippling","description":"Learn how to connect Opal to Rippling to manage access to Rippling supergroups, and to sync employees, departments, and teams.","tag":"NEW","href":"/integrations/rippling"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Supported resources","slug":"supported-resources","depth":2,"children":[]},{"title":"Requirements","slug":"requirements","depth":2,"children":[]},{"title":"1. Create a Rippling API token","slug":"1-create-a-rippling-api-token","depth":2,"children":[]},{"title":"2. Create a Rippling app in Opal","slug":"2-create-a-rippling-app-in-opal","depth":2,"children":[]},{"title":"3. Import Rippling items","slug":"3-import-rippling-items","depth":2,"children":[]},{"title":"Additional information","slug":"additional-information","depth":2,"children":[{"title":"Supergroups","slug":"supergroups","depth":3,"children":[]},{"title":"Departments and teams","slug":"departments-and-teams","depth":3,"children":[]},{"title":"Users","slug":"users","depth":3,"children":[]},{"title":"Using Rippling as an upstream HR directory","slug":"using-rippling-as-an-upstream-hr-directory","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/opalsecurity/d0e14c3cf9bbd682/changelog-scraper.js"],"subdomain":"opalsecurity","siteName":"Opal Security Docs","title":"Rippling - Opal Security Docs","contextualStarterQuestions":[{"_id":"6af2097ac779f12ffaeddf9a","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"How do I manage supergroup access?","status":"active","generatedBy":"contextual","path":"integrations/rippling","createdAt":"2026-11-09T17:57:14.772Z","updatedAt":"2026-11-09T17:57:14.772Z","__v":0},{"_id":"6af2097ac779f12ffaeddf99","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"What resources can I sync from Rippling?","status":"active","generatedBy":"contextual","path":"integrations/rippling","createdAt":"2026-11-09T17:57:14.772Z","updatedAt":"2026-11-09T17:57:14.772Z","__v":0},{"_id":"6af2097ac779f12ffaeddf98","deploymentId":"68ddaa9a3f8b7de5bc3a7b47","questionText":"How do I request Rippling access?","status":"active","generatedBy":"contextual","path":"integrations/rippling","createdAt":"2026-11-09T17:57:14.772Z","updatedAt":"2026-11-09T17:57:14.772Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T17:57:01.686Z","gitLastModified":"2026-11-09T17:56:39.000Z","originalFileLocation":"integrations/rippling.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 how to connect Opal to Rippling to manage access to Rippling supergroups, and to sync employees, departments, and teams.\">\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=\"Rippling - Opal Security Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to connect Opal to Rippling to manage access to Rippling supergroups, and to sync employees, departments, and teams.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Opal Security Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.opal.dev/integrations/rippling\">\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=Entitlement+Management\u0026amp;title=Rippling\u0026amp;description=Learn+how+to+connect+Opal+to+Rippling+to+manage+access+to+Rippling+supergroups%2C+and+to+sync+employees%2C+departments%2C+and+teams.\u0026amp;theme=156eb1ba223f12a303f95077\u0026amp;signature=b053721e3e624e1c8444e623df14228f4839c8ebc04b7b5019a0ff7caf34ab41\">\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=\"Rippling - Opal Security Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to connect Opal to Rippling to manage access to Rippling supergroups, and to sync employees, departments, and teams.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://opalsecurity.mintlify.site/_mintlify/api/og/v2?division=Entitlement+Management\u0026amp;title=Rippling\u0026amp;description=Learn+how+to+connect+Opal+to+Rippling+to+manage+access+to+Rippling+supergroups%2C+and+to+sync+employees%2C+departments%2C+and+teams.\u0026amp;theme=156eb1ba223f12a303f95077\u0026amp;signature=b053721e3e624e1c8444e623df14228f4839c8ebc04b7b5019a0ff7caf34ab41\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/opalsecurity/t501z2uOx-XXqevB/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Opal Security Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0C7997\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.opal.dev/integrations/rippling\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/rippling.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.opal.dev/#organization\",\"name\":\"Opal Security Docs\",\"url\":\"https://docs.opal.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/opalsecurity/FBbZyeMPZrA69UcV/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=FBbZyeMPZrA69UcV\u0026q=85\u0026s=93a4bd75f157f9f0ab43cdf4d715b5cd\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.opal.dev#website\",\"name\":\"Opal Security Docs\",\"url\":\"https://docs.opal.dev\",\"publisher\":{\"@id\":\"https://docs.opal.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.opal.dev/integrations/rippling#webpage\",\"url\":\"https://docs.opal.dev/integrations/rippling\",\"name\":\"Rippling\",\"description\":\"Learn how to connect Opal to Rippling to manage access to Rippling supergroups, and to sync employees, departments, and teams.\",\"dateModified\":\"2026-11-09T17:56:39.000Z\",\"isPartOf\":{\"@id\":\"https://docs.opal.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.opal.dev/integrations/rippling#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.opal.dev/integrations/rippling#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Entitlement Management\",\"item\":\"https://docs.opal.dev/integrations/setting-up-your-aws-organization-in-opal\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rippling\",\"item\":\"https://docs.opal.dev/integrations/rippling\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.opal.dev/integrations/rippling#article\",\"headline\":\"Rippling\",\"name\":\"Rippling\",\"description\":\"Learn how to connect Opal to Rippling to manage access to Rippling supergroups, and to sync employees, departments, and teams.\",\"url\":\"https://docs.opal.dev/integrations/rippling\",\"mainEntityOfPage\":{\"@id\":\"https://docs.opal.dev/integrations/rippling#webpage\"},\"dateModified\":\"2026-11-09T17:56:39.000Z\",\"publisher\":{\"@id\":\"https://docs.opal.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.opal.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Opal Security Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Opal Security Docs","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/welcome"}]},{"tab":"Integrations","pages":[{"title":"Integrations","sidebarTitle":"Overview","mode":"wide","href":"/integrations/overview"},{"group":"IDP \u0026 HRIDP","pages":[{"group":"Okta","pages":[{"title":"Okta","sidebarTitle":"Connect to Okta","href":"/integrations/okta"},{"title":"Okta IDP/HRIS Integration","href":"/integrations/okta-idphris-integration"},{"title":"Import Okta apps","href":"/integrations/okta-apps"},{"title":"Okta rate limits","href":"/integrations/okta-rate-limits"}]},{"group":"Google","pages":[{"title":"Google","sidebarTitle":"Connect to Google","href":"/integrations/google"},{"title":"Google IDP/HRIS Integration","href":"/integrations/google-idphris-integration"},{"title":"Google Groups","href":"/integrations/google-groups"},{"title":"Google Shared Drive","href":"/integrations/google-shared-drive"},{"title":"Google Workspace","href":"/integrations/google-workspace"}]},{"group":"Azure","pages":[{"title":"Azure","sidebarTitle":"Connect to Azure","href":"/integrations/azure"},{"title":"Azure Entra IDP/HRIS Integration","href":"/integrations/azure-entra-idphris-integration"},{"title":"Azure Infrastructure Setup","href":"/integrations/azure-infrastructure-setup"},{"title":"Add Azure Databases","href":"/integrations/adding-azure-sql-databases"},{"title":"Azure Real Time Sync Setup","href":"/integrations/azure-real-time-sync"}]},{"group":"Active Directory","pages":[{"title":"Overview","sidebarTitle":"Connect to Active Directory","href":"/integrations/active-directory"},{"title":"Active Directory IDP/HRIS Integration","href":"/integrations/active-directory-idphris-integration"}]},{"group":"Workday","pages":[{"title":"Overview","sidebarTitle":"Connect to Workday","href":"/integrations/workday"},{"title":"Workday IDP/HRIS Integration","href":"/integrations/workday-idphris-integration"}]},{"group":"Rippling","pages":[{"title":"Rippling IDP/HRIS Integration","href":"/integrations/rippling-idphris-integration"}]}]},{"group":"Entitlement Management","pages":[{"group":"Infrastructure","expanded":true,"pages":[{"group":"Amazon Web Services (AWS)","expanded":false,"pages":[{"title":"Amazon Web Services (AWS)","href":"/integrations/setting-up-your-aws-organization-in-opal"},{"title":"Configure AWS for self-hosted Opal","href":"/integrations/aws-integration-on-prem-setup"},{"title":"Configure additional AWS accounts to manage in Opal","href":"/integrations/configure-additional-aws-accounts-to-manage-in-opal"},{"title":"AWS IAM Identity Center Workflows","href":"/integrations/aws-iam-identity-center-formerly-aws-sso"},{"title":"Add an IAM role","href":"/integrations/adding-an-iam-role"},{"title":"Add an RDS database","href":"/integrations/adding-an-rds-database"},{"title":"Add an EC2 instance","href":"/integrations/adding-an-ec2-instance"},{"title":"Add an EKS cluster","href":"/integrations/adding-an-eks-cluster"},{"title":"Adding AWS Resources to Opal Groups via AWS Tags","href":"/integrations/adding-aws-resources-to-opal-groups-via-aws-tags"},{"title":"AWS Real Time Sync Setup","href":"/integrations/aws-real-time-sync"}]},{"group":"Google Cloud Platform (GCP)","expanded":false,"pages":[{"title":"Google Cloud Platform (GCP)","sidebarTitle":"Connect to GCP","href":"/integrations/google-cloud-platform"},{"title":"Add an organization","href":"/integrations/adding-gcp-organization"},{"title":"Add a project","href":"/integrations/adding-gcp-project"},{"title":"Add a folder","href":"/integrations/adding-gcp-folder"},{"title":"Add a BigQuery Dataset","href":"/integrations/adding-bigquery-dataset"},{"title":"Add a Cloud Storage bucket","href":"/integrations/adding-gcp-bucket"},{"title":"Add a Cloud SQL Instance","href":"/integrations/adding-sql-instance"},{"title":"Add a Compute Engine Instance","href":"/integrations/adding-compute-instance"},{"title":"Google Kubernetes Engine (GKE)","href":"/integrations/google-kubernetes-engine-getting-started"},{"title":"GCP Service Accounts","href":"/integrations/gcp-service-accounts"}]},{"group":"Snowflake","expanded":false,"pages":[{"title":"Snowflake","sidebarTitle":"Connect to Snowflake","href":"/integrations/snowflake"},{"title":"Snowflake User Provisioning","href":"/integrations/snowflake-user-provisioning"}]}]},{"title":"1Password","href":"/integrations/1password"},{"title":"Anthropic Platform","href":"/integrations/anthropic"},{"title":"Astra","href":"/integrations/astra"},{"title":"Axiom","href":"/integrations/axiom"},{"title":"Box","href":"/integrations/box"},{"title":"Clickhouse","href":"/integrations/clickhouse"},{"title":"Atlassian Confluence","sidebarTitle":"Atlassian Confluence","href":"/integrations/confluence"},{"title":"Coupa","href":"/integrations/coupa"},{"title":"Cursor","href":"/integrations/cursor"},{"title":"Databricks","href":"/integrations/databricks"},{"title":"Datadog","href":"/integrations/datadog"},{"title":"Devin AI","href":"/integrations/devin"},{"title":"Docusign","href":"/integrations/docusign"},{"title":"Duo","href":"/integrations/duo"},{"title":"GitHub","href":"/integrations/github"},{"title":"GitHub Enterprise","href":"/integrations/github-enterprise"},{"title":"GitLab","href":"/integrations/gitlab"},{"title":"Grafana","href":"/integrations/grafana"},{"title":"Hubspot","href":"/integrations/hubspot"},{"title":"Incident.io","href":"/integrations/incidentio"},{"title":"Atlassian Jira","sidebarTitle":"Atlassian Jira","href":"/integrations/jira"},{"title":"LDAP","href":"/integrations/ldap"},{"title":"Linear","sidebarTitle":"Linear","href":"/integrations/linear"},{"title":"NetSuite","href":"/integrations/netsuite"},{"title":"Okta CIAM","href":"/integrations/okta-ciam"},{"title":"OneLogin","tag":"NEW","href":"/integrations/onelogin"},{"title":"OpenAI Platform","href":"/integrations/openai"},{"title":"Oracle Fusion Cloud","href":"/integrations/oracle-fusion-cloud"},{"title":"PagerDuty","href":"/integrations/pagerduty-entitlements"},{"title":"Ramp","description":"Learn how to connect Opal to Ramp to manage users, roles, and funds.","tag":"NEW","href":"/integrations/ramp"},{"title":"Rippling","tag":"NEW","href":"/integrations/rippling"},{"title":"Rootly","description":"Learn how to connect Rootly to Opal.","href":"/integrations/rootly"},{"title":"Salesforce","href":"/integrations/salesforce"},{"title":"Slack users and groups","href":"/integrations/slack-user-groups"},{"title":"Square","tag":"NEW","href":"/integrations/square"},{"title":"Salesforce Tableau","href":"/integrations/tableau"},{"title":"Tailscale","href":"/integrations/tailscale"},{"title":"Teleport","href":"/integrations/teleport"},{"title":"Twingate","href":"/integrations/twingate"},{"title":"Vercel","tag":"NEW","href":"/integrations/vercel"},{"title":"Workato","href":"/integrations/workato"},{"title":"Workday groups and roles","href":"/integrations/workday-groups-and-roles"},{"title":"Wrike","tag":"NEW","href":"/integrations/wrike"},{"title":"Zendesk","href":"/integrations/zendesk"},{"title":"Zoom","href":"/integrations/zoom"}]},{"group":"Productivity Tools","pages":[{"group":"Communication","expanded":true,"pages":[{"title":"Google Chat","href":"/integrations/google-chat"},{"title":"Lark","href":"/integrations/lark"},{"title":"Microsoft Teams","tag":"NEW","href":"/integrations/microsoft-teams"},{"title":"Slack","href":"/integrations/slack"}]},{"group":"Ticketing","expanded":true,"pages":[{"title":"Freshservice","href":"/integrations/freshservice"},{"title":"Jira","href":"/integrations/jira-ticketing"},{"title":"Linear","href":"/integrations/linear-ticketing"},{"title":"Notion","href":"/integrations/notion"},{"title":"Risotto","tag":"BETA","href":"/integrations/risotto"},{"title":"ServiceNow","href":"/integrations/servicenow"},{"title":"Shortcut","href":"/integrations/shortcut"}]},{"group":"On-call","expanded":true,"pages":[{"title":"Opsgenie","deprecated":true,"href":"/integrations/opsgenie"},{"title":"PagerDuty","deprecated":true,"href":"/integrations/pagerduty-oncall"}]}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/authentication"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/changelog"}]}]},"basePath":"","title":"Rippling - Opal Security Docs","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":[],"chunks":[]}