Fetching groups using an API which can fetch single group based on groupname

IIQ 8.4

An application has API’s for all operations, but for group aggregation they only have an API to fetch single group details based on the groupname parameter passed in the URL. Any ideas how the same API can be used to fetch all group details into sailpoint using the webservice connector.

Are there any groups in application that are not assigned? if not then even the account aggregation should bring all groups and promote them as entitlement (through refresh).

If there are group which are not assigned to anyone then you can do some custom task to fetch them but again since there is no API to do discovery you will have to get the list from app team.

pls check some links here

Web services connector account aggregation and get groups with separate endpoints - IdentityIQ (IIQ) / IIQ Discussion and Questions - SailPoint Developer Community

Solved: Webservice account aggregation not bringing groups - Compass

There is a possibility of new groups getting created, which will not be assinged to any users. The Application team says there is a possibility of directly fetching the list of groups using database query. Is there any possibility of including DB query in webservice connector for group aggregation, because for rest of the operations the API’s are avaialble,

that could be helpful but not sure if you can combine this with webservice connector. webservice connector expects API for each operation. But you should be able to do separate run rule task that can connect to DB and pull the groups and create them on SailPoint side.

If the application side API are custom built , i would still recommend to convince the app team to expose the group listing through API.

@himabindu306 I think you should be able to do in combination of before rule and after rule like we do Pagination. I never tried this but flow should go like this:

  • Write a rule runner task to execute the DB query and store as a list in custom global and also initialize a boolean over there like hasMore = true.
  • Add a before rule to check if CustomGlobal contains hasMore attribute = true..
  • Then get the list of entitlement and pull one entry and modify the url.
  • store rest of the values in customGlobal.
  • Write a After rule, check if entitlement values are available in CustomGlobal, then keep hasMore = true.
  • Once all values are popped up, set hasMore = false in after rule.
  • This’ll indicate to end the aggregation.
  • Make sure rule runner and group aggregation both are running in the same server.