Skip to content

Access Request Submitted Email for Requester After Validation Email Template

The Access Request Submitted Email for Requester After Validation email is sent to the requester to notify them which access requests were successfully submitted and which failed during the validation process. For example, if a user already has access to one of the requested access items, that specific request will fail.

Name: Access Request Submitted Email for Requester After Validation

Subject: Your request for access for #if ($requestDetails && $requestDetails.size() == 1) requestDetails.get(0).identityName #elseif (requestDetails.size() > 1) $requestDetails.size() identities #end was submitted.

Body:

Dear ${user.name},<br/>

    <p>You've requested access for the following identities:</p>

    #foreach ( $requestDetail in $requestDetails )
        <b>${requestDetail.identityName}:</b><br/>

            #set ($successDetails = $requestDetail.getSuccessDetails())
            #if ($successDetails && $successDetails.size() > 0)
                The following item(s) was requested successfully:
                <ul>

                    #foreach ( $typeEntry in $objectTypeToPrettyPrint.entrySet() )
                        #set ($type = $typeEntry.getKey())
                        #set ($prettyType = $typeEntry.getValue())
                        #set ($objectDetails = {})
                        #set ($objectDetails = ${successDetails.get($type)})

                        #if ( $objectDetails.size() > 0 )
                            <li>$prettyType:
                            #foreach ($requestedObjectDetail in $objectDetails)
                                <ul>
                                ${requestedObjectDetail.objectName} #if($requestedObjectDetail.removeDate) (Access Sunset Date: $spTools.formatOffsetDateTimeForEmail($requestedObjectDetail.removeDate))#end
                                #if ($requestedObjectDetail.contextAttributes && $requestedObjectDetail.contextAttributes.size() > 0)
                                    <ul>
                                        #foreach ($contextAttribute in $requestedObjectDetail.contextAttributes)
                                        #if(${contextAttribute.value})
                                            <li>${contextAttribute.attribute}: ${contextAttribute.value}</li>
                                        #end
                                        #end
                                    </ul>
                                #end
                                </ul>
                            #end
                            </li>
                         #end
                    #end
                </ul>
            #end

            #set ($exclusionDetails = $requestDetail.getExclusionDetails())
            #if ($exclusionDetails && $exclusionDetails.size() > 0)
                Your request for the following item(s) <b>failed</b>:
                <ul>
                    #foreach ( $typeEntry in $objectTypeToPrettyPrint.entrySet() )
                        #set ($type = $typeEntry.getKey())
                        #set ($prettyType = $typeEntry.getValue())
                        #set ($objectDetails = {})
                        #set ($objectDetails = ${exclusionDetails.get($type)})

                        #if ( $objectDetails.size() > 0 )
                            <li>$prettyType:
                            #foreach ($requestedObjectDetail in $objectDetails)
                                <ul>
                                ${requestedObjectDetail.objectName} #if ($requestedObjectDetail.exclusionReason) ($requestedObjectDetail.exclusionReason) #end
                                #if ($requestedObjectDetail.contextAttributes && $requestedObjectDetail.contextAttributes.size() > 0)
                                    <ul>
                                        #foreach ($contextAttribute in $requestedObjectDetail.contextAttributes)
                                            <li>${contextAttribute.getAttribute()}: ${contextAttribute.getValue()}</li>
                                        #end
                                    </ul>
                                #end
                                </ul>
                            #end
                            </li>
                         #end
                    #end
                </ul>
            #end
    #end
    <p>
        Thanks,<br/>
        The ${PRODUCT_NAME} Team
    </p>

Attributes

This email template uses version 1 global variables and the following template-specific attributes:

Name Type Description
objectTypeToPrettyPrint Map Maps each object type from the all-caps system version (type) to a user-friendly string for the email message (prettyType).
requestDetails List of Maps Each map contains

- identityName

- successDetails

- exclusionDetails
requestDetails.successDetails / requestDetails.exclusionDetails Map of list of RequestObjectDetails objects Each of these two maps have the following structure:

- Key for each map is the type attribute.

- successDetails - Lists successfully requested items.

- exclusionDetails - Lists items whose request submission failed.
successDetails.requestObjectDetails / exclusionDetails.requestObjectDetails List of requested items Each item includes:

- objectName

- removeDate - End date requested, if any.

- exclusionReason - The reason the request submission failed. Only applies to exclusionDetails.

- sourceInformation - List of source or account details.
requestObjectDetail.sourceInformation List of source accounts A list of account selections for access provisioning. Each sourceInformation object includes:

- sourceName - The name of the source.

- sourceAccountName - The name of the account on the source.

- sourceAccountId - The ID of the account on the source.
requestObjectDetails.contextAttributes List of request context attributes Only applies to Dynamic Access Role requests.

- Attribute - Name of the dimensional attribute.

- Value - Value provided for the dimensional attribute.

- Derived - Boolean true/false indicator of whether the attribute is derived.

Documentation Feedback

Feedback is provided as an informational resource only and does not form part of SailPoint’s official product documentation. SailPoint does not warrant or make any guarantees about the feedback (including without limitation as to its accuracy, relevance, or reliability). All feedback is subject to the terms set forth at https://developer.sailpoint.com/discuss/tos.