# Send email to workgroup when access request has error message

**URL:** <https://developer.sailpoint.com/discuss/t/send-email-to-workgroup-when-access-request-has-error-message/68599>\
**Category:** IIQ Discussion and Questions\
**Tags:** access-requests, identityiq\
**Created:** [June 25, 2024, 1:07pm UTC](https://developer.sailpoint.com/discuss/t/send-email-to-workgroup-when-access-request-has-error-message/68599 "2024-06-25T13:07:22Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![ankit1](https://avatars.discourse-cdn.com/v4/letter/a/46a35a/32.png) [@ankit1](https://developer.sailpoint.com/discuss/u/ankit1)\
**Post date:** [June 25, 2024, 1:07pm UTC](https://developer.sailpoint.com/discuss/t/send-email-to-workgroup-when-access-request-has-error-message/68599/1 "2024-06-25T13:07:22Z")

</div>

### Which IIQ version are you inquiring about?

Version 8.2

### Share all details related to your problem, including any error messages you may have received.

I need to notify the workgroup via email when access request provisioning fails or encounters an error. To achieve this, I’ve integrated a step into the LCM workflow just before the finalization step. This new step retrieves the identity request object based on its ID and checks for any errors. However, the workflow is currently not advancing to this step; instead, it’s caught in a retry loop.  
I’m seeking assistance to ensure immediate notification to the support team whenever an error occurs, including logging the error message promptly.

---

<div class="post-metadata">

**Author:** ![AdamVentum](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/adamventum/32/10508_2.png) [@AdamVentum](https://developer.sailpoint.com/discuss/u/AdamVentum)\
**Post date:** [June 25, 2024, 1:36pm UTC](https://developer.sailpoint.com/discuss/t/send-email-to-workgroup-when-access-request-has-error-message/68599/2 "2024-06-25T13:36:30Z")

</div>

Hi and Hello.

Can you add some logs and also some steps on workflow? @ankit1

Regards,  
Adam

---

<div class="post-metadata">

**Author:** ![ankit1](https://avatars.discourse-cdn.com/v4/letter/a/46a35a/32.png) [@ankit1](https://developer.sailpoint.com/discuss/u/ankit1)\
**Post date:** [June 25, 2024, 1:58pm UTC](https://developer.sailpoint.com/discuss/t/send-email-to-workgroup-when-access-request-has-error-message/68599/3 "2024-06-25T13:58:32Z")

</div>

I have added below transaction in Refresh Identity Step LCM provisioning but I am not able to see any log.

```auto
<Transition to="Notify IIQ Support">
      <Script>
        <Source>

          import sailpoint.tools.Message;
          import sailpoint.tools.Message.Type;
          import sailpoint.object.WorkItem.State;
          import sailpoint.object.IdentityRequest;
          import org.apache.commons.logging.Log;
          import org.apache.commons.logging.LogFactory;

          boolean isError=false;

          private static Log custLog = LogFactory.getLog("com.iiq.accessReqRule");

          custLog.debug("STEP Notify IIQ Support ");

          IdentityRequest identRequest= context.getObjectByName(IdentityRequest.class,identityRequestId);

          custLog.debug("Identity req Name :: "+identRequest.getName());

          List requestErrorMessages = identRequest.getMessagesByType(Message.Type.Error) ;

          custLog.debug(" requestErrorMessages :"+ requestErrorMessages );

          if(null != requestErrorMessages @and !requestErrorMessages.isEmpty())
          {

          isError=true;
          workflow.put("errorList",requestErrorMessages);
          
          for( Message errorMessage: requestErrorMessages)
          {
          
          custLog.debug(" errorMessage:"+errorMessage);

          }
          }else isError=false;

          custLog.debug(" isError :: " + isError);

          return isError;
        </Source>
      </Script>
    </Transition>
<Step action="call:sendEmail" icon="Email" name="Notify IIQ Support" posX="535" posY="290">
    <Arg name="template" value="EmailTemplate-LCMAccessRequestFailed"/>
    <Arg name="identityDisplayName" value="ref:identityDisplayName"/>
    <Arg name="approvalSet" value="ref:approvalSet"/>
    <Arg name="identityRequestId" value="ref:identityRequestId"/>
    <Arg name="to" value="script:getUserEmail(identityName, plan)"/>
    <Arg name="launcher" value="ref:launcher"/>
    <Arg name="errorList" value="ref:errorList"/>
    <Arg name="cc" value="script:getUserEmail(launcher, plan)"/>
    <Transition to="end"/>
  </Step>

```

---

<div class="post-metadata">

**Author:** ![AdamVentum](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/adamventum/32/10508_2.png) [@AdamVentum](https://developer.sailpoint.com/discuss/u/AdamVentum)\
**Post date:** [June 25, 2024, 2:08pm UTC](https://developer.sailpoint.com/discuss/t/send-email-to-workgroup-when-access-request-has-error-message/68599/4 "2024-06-25T14:08:44Z")

</div>

Hi and Hello,  
You must have access to the logs. Without it, it’s hard to debug anything. Because you don’t know what point you’ve reached and where the mistake is. You can still do monitoring. Thanks to this, you will see the workflow in catalina.out.

You need to go to setup—\>bussiness processes—\>choose your workflow—\>Proccess Variables.  
Find trace.

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/3/369c525f79a17603f6af41f9c3a6be2ac25cc04f.png)  
Regards,  
Adam

---

<div class="post-metadata">

**Author:** ![AdamVentum](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/adamventum/32/10508_2.png) [@AdamVentum](https://developer.sailpoint.com/discuss/u/AdamVentum)\
**Post date:** [June 25, 2024, 2:18pm UTC](https://developer.sailpoint.com/discuss/t/send-email-to-workgroup-when-access-request-has-error-message/68599/5 "2024-06-25T14:18:08Z")

</div>

@ankit1  
here you can change

- syntax issues, such as incorrect usage of the `@and` operator, corrected to `&&` in the if statement.
- wrapp the script in `<![CDATA[...]]>` to ensure that the XML parser correctly handles the script content.

Something also is wrong in xml(in my opinion). Why your “Transition” is not in step?

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/1/1ad885d97e1ca1981bf39ed4281d1e91e377ca7c.png)

Look at my workflow

 ![image](https://global.discourse-cdn.com/sailpoint/original/2X/3/3406e33bc3b0ffb844fddd127e9d28a2700b3184.png)

Regards,  
Adam

---

<div class="post-metadata">

**Author:** ![ashutosh08](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/ashutosh08/32/11459_2.png) [@ashutosh08](https://developer.sailpoint.com/discuss/u/ashutosh08)\
**Post date:** [June 25, 2024, 4:26pm UTC](https://developer.sailpoint.com/discuss/t/send-email-to-workgroup-when-access-request-has-error-message/68599/6 "2024-06-25T16:26:54Z")

</div>

> [@ankit1](#):
>
> ```auto
> </Source>
> </Script>
> </Transition>
> 
> ```

Hi @ankit1,

You must add explicitly some transition step and it should not be normal fallback.

If possible, share workflow xml by removing sensitive information. If not, then share the previous step which should call this step to help you further.

Thanks

---

<div class="post-metadata">

**Author:** ![soswain](https://avatars.discourse-cdn.com/v4/letter/s/90db22/32.png) [@soswain](https://developer.sailpoint.com/discuss/u/soswain)\
**Post date:** [June 26, 2024, 9:46am UTC](https://developer.sailpoint.com/discuss/t/send-email-to-workgroup-when-access-request-has-error-message/68599/7 "2024-06-26T09:46:46Z")

</div>

@ankit1  
Few points

1. Are you able to see the logs from the transition step? If yes, check the value of value of “isError”.
2. When you say it’s getting into retry loop, where is it getting looped? For better understanding, please add the whole step and logs related to that step.
3. Always add a default transition

```auto
<Transition to="end"/>

```

This will be for fall back.

---

<div class="post-metadata">

**Author:** ![ankit1](https://avatars.discourse-cdn.com/v4/letter/a/46a35a/32.png) [@ankit1](https://developer.sailpoint.com/discuss/u/ankit1)\
**Post date:** [June 27, 2024, 1:00pm UTC](https://developer.sailpoint.com/discuss/t/send-email-to-workgroup-when-access-request-has-error-message/68599/8 "2024-06-27T13:00:51Z")

</div>

[Workflow-LCMProvisioning\_Dev.xml](https://developer.sailpoint.com/discuss/uploads/short-url/3BNj3m7LjrF7nkLkIl6OdUNGiEq.xml) (41.8 KB)  
Please find attached updated workflow where I have added custom step to send email when request get failed.

---

<div class="post-metadata">

**Author:** ![ashutosh08](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/ashutosh08/32/11459_2.png) [@ashutosh08](https://developer.sailpoint.com/discuss/u/ashutosh08)\
**Post date:** [June 27, 2024, 3:16pm UTC](https://developer.sailpoint.com/discuss/t/send-email-to-workgroup-when-access-request-has-error-message/68599/9 "2024-06-27T15:16:11Z")

</div>

> [@ankit1](#):
>
> `Notify IIQ Support`

Hi @ankit1,

The workflow being stuck in step **“Refresh Identity”** is common for all connector type like connected and disconnected or it is just occurring for some type?  
Also please confirm if you have tried with some different set of user or not?

Thanks

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/sailpoint/original/2X/f/f2136700ed5e3703e0b85e02f6be799dacca7735.png) [@system](https://developer.sailpoint.com/discuss/u/system)\
**Post date:** [August 26, 2024, 3:16pm UTC](https://developer.sailpoint.com/discuss/t/send-email-to-workgroup-when-access-request-has-error-message/68599/10 "2024-08-26T15:16:51Z")

</div>

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