Skip to content

Commit 63e9e55

Browse files
committed
feat(sailpoint): add SailPoint (IGA) integration
Add a SailPoint Identity Security Cloud integration with 27 tools spanning identity-governance reads (search + count + aggregate, identities, accounts, entitlements, roles, access profiles, sources, account activities, campaigns, certifications, and entitlement expansion), the access-request write path (request, cancel, status), and CSV account/entitlement aggregation. Auth uses a service-identity Personal Access Token via the OAuth2 client-credentials grant against the per-tenant host (https://{tenant}.api.identitynow.com), resolved server-side in two internal routes (/api/tools/sailpoint/query and /load) with in-process token caching and Retry-After 429 backoff. The block enumerates the exact PAT scopes and the service-identity caveat. Access-request constraints (revoke one identity + one item, grant 25-entitlement / 10-identity caps, comment-on-revoke) are enforced pre-submission, and empty userAuth reads surface a permission-gap diagnostic.
1 parent 1ce2aef commit 63e9e55

47 files changed

Lines changed: 5564 additions & 2 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎apps/docs/components/icons.tsx‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5166,6 +5166,18 @@ export function PipedriveIcon(props: SVGProps<SVGSVGElement>) {
51665166
)
51675167
}
51685168

5169+
export function SailPointIcon(props: SVGProps<SVGSVGElement>) {
5170+
return (
5171+
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'>
5172+
<path
5173+
fill='currentColor'
5174+
d='M7.25 2.4c5.66 1.7 9.2 6.86 9.9 15.35a.75.75 0 0 1-.75.81H7.25a.75.75 0 0 1-.75-.75V3.12a.75.75 0 0 1 .95-.72Z'
5175+
/>
5176+
<rect fill='currentColor' x='3' y='19.9' width='18' height='1.8' rx='.9' />
5177+
</svg>
5178+
)
5179+
}
5180+
51695181
export function SalesforceIcon(props: SVGProps<SVGSVGElement>) {
51705182
return (
51715183
<svg {...props} xmlns='http://www.w3.org/2000/svg' viewBox='0 0 273 191'>

‎apps/docs/components/ui/icon-mapping.ts‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ import {
190190
RootlyIcon,
191191
RssIcon,
192192
S3Icon,
193+
SailPointIcon,
193194
SalesforceIcon,
194195
SapConcurIcon,
195196
SapS4HanaIcon,
@@ -470,6 +471,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
470471
rootly: RootlyIcon,
471472
rss: RssIcon,
472473
s3: S3Icon,
474+
sailpoint: SailPointIcon,
473475
salesforce: SalesforceIcon,
474476
sap_concur: SapConcurIcon,
475477
sap_s4hana: SapS4HanaIcon,

‎apps/docs/content/docs/en/integrations/meta.json‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@
200200
"rocketlane",
201201
"rootly",
202202
"s3",
203+
"sailpoint",
203204
"salesforce",
204205
"salesforce-service-account",
205206
"sap_concur",

0 commit comments

Comments
 (0)