I’ve configured a Delimited Application to be requestable via Access Request. When I submit a request, an Identity Event is generated, and it shows the following details (see attached screenshot):
Summary: Provision to null
Due On: A future date (e.g., Jul 28, 2025 in my example)
Hi
Delimited connectors are non-provisionable by default — they are typically used for aggregation-only (e.g., syncing from a CSV file). However, IIQ still supports provisioning through identity events or custom rules, but only if these are explicitly configured.
“Provision to null” means:
The provisioning plan is missing the application attribute or the application itself is not configured with a provisioning rule, so IdentityIQ doesn’t know where or how to send the provisioning request.
But Yes, Delimited Apps can be provisioned, but only when a provisioning rule and mappings are in place. The event you’re seeing (Provision to null) is a signal that IdentityIQ didn’t know where to send the request.
Maybe You can try check below:
Checkpoint
Expected
Application marked Allow Provisioning
Yes
Provisioning Mappings exist
Yes (identity → account attributes)
Delimited File Provisioning Rule
Yes, not empty
Identity Event application not null
Shows correct application
AccountRequest created in plan
Target app, operation = Create/Modify
If you can just check with this Provisoning Rule as well:
`import sailpoint.object.*;
import sailpoint.tools.*;
// This is the output writer to write lines to the file
BufferedWriter writer = (BufferedWriter) arguments.get("writer");
// The provisioning plan
ProvisioningPlan plan = (ProvisioningPlan) arguments.get("plan");
// Simple CSV header format: username,email,entitlement
if (plan != null && plan.getAccountRequests() != null) {
for (AccountRequest acctReq : plan.getAccountRequests()) {
String operation = acctReq.getOperation();
String nativeIdentity = acctReq.getNativeIdentity();
Map attributes = acctReq.getAttributes();
// Example: fetch values from attributes
String email = attributes.containsKey("email") ? attributes.get("email").toString() : "";
String entitlement = attributes.containsKey("entitlement") ? attributes.get("entitlement").toString() : "";
// Construct a CSV line (adjust format as needed)
String csvLine = nativeIdentity + "," + email + "," + entitlement;
// Write to file
writer.write(csvLine);
writer.newLine();
}
}
return plan;`
The issue is that in Workflow Optimistic Provisioning was marked as false, due to which identity Event was getting created. However when i marked optimistic Provision as true the link is created.
<Variable editable="true" initializer="true" name="optimisticProvisioning">
<Description>
Set to true to enable optimistic provisioning. This will cause
changes to the entitlements compiled from role assignments to be
applied immediately to the identity cube rather than waiting
for the next refresh/reaggregation after the provisioning system
completes the request.
</Description>
</Variable>