Stop creating Manual workitem, instead trigger external API

Which IIQ version are you inquiring about?

IIQ 8.4p2
Hello,
Stop creating Manual workitem, instead trigger external API

I have disconnected app (Delimited connector), once access submitted , it will go for two level approvals, on Manual actions i need to restrict creating workitem, instead Rest API call need to be triggered.

how to skip the manual workitem creation?

Thanks

Do you have an end point to aggregate data. If Yes you can onboard this application using web services connector. Assuming you do not, you will have to use Integration Config mechanism to make sure you are able to use the APIs when a provisioning request is made. Following links has few details that may be helpful.

https://community.sailpoint.com/t5/IdentityIQ-Articles/Custom-IntegrationConfig-Use-Cases/ta-p/82887

https://community.sailpoint.com/t5/IdentityIQ-Forum/Integration-Config-Architecture-Question/m-p/210212

Try using a provisoning Rule

such as

import sailpoint.api.Provisioner;
    import sailpoint.object.Application;
    import sailpoint.object.ProvisioningPlan;
    import sailpoint.object.ProvisioningResult;
    import sailpoint.tools.GeneralException;

    // Create an empty result object
    ProvisioningResult result = new ProvisioningResult();

    // Get request info
    Application app = arguments.get("application");
    ProvisioningPlan plan = arguments.get("plan");
    log.error(">>> Custom provisioning rule triggered for application: " + app.getName());

    try {
        // Prepare REST call
        String endpoint = "https://your-api-endpoint.com/provision";
        String method = "POST";
        String payload = plan.toXml(); // or build your own JSON/XML as needed

        // Example: Use HTTP client
        sailpoint.tools.http.WebClient client = new sailpoint.tools.http.WebClient();
        client.setContentType("application/xml");
        client.setUrl(endpoint);
        client.setMethod(method);
        client.setBody(payload);
        client.execute();

        // Log response
        log.error(">>> REST API triggered successfully. Response: " + client.getResponseBody());

        // Mark result as success
        result.setStatus(ProvisioningResult.STATUS_COMMITTED);

    } catch (Exception e) {
        log.error(">>> Error during external API call: " + e);
        result.setStatus(ProvisioningResult.STATUS_FAILED);
        result.addError(e.getMessage());
    }

    return result;

Prevent WorkItem creation–Use a Provisioning Rule on the disconnected application|
Trigger external REST API–Do it inside the provisioning rule using Java/Beanshell|
Track status–Return appropriate ProvisioningResult status

Thanks for your response

Dont have endpoint to reconcile data (not required as well), based on access request approved/rejected , need to trigger API to return approval status

Thanks for your response

we can prevent it by adding Before provisioning rule, but if access request is rejected ?, still external API need to be triggered with appropriate response based on access request approval. and there wont be any provisioning need to be done with target system

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.