<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-M74D8PB" height="0" width="0" style="display:none;visibility:hidden">
Loading
Skip to NavigationSkip to Main Content
0D54z000075uZXACA2Okta Identity EngineWorkflowsAnswered2026-03-11T09:02:04.000Z2021-07-29T11:48:54.000Z2021-08-24T07:06:25.000Z

6wnkd (6wnkd) asked a question.

Speed / perfromance Okta Workflow in deleting DEPROVISIONED accounts

Hello All,

 

I created two workflows (containing each a Parent flow and a child flow) with the goal to remove (delete) DEPROVISIONED accounts from Okta.

The first work Workflow is to delete, DEPROVISONED accounts that have not logged on in the last 366 days. But because this Workflow is skipping the accounts that have never logged on, I created a second flow, that is deleting all accounts that are DEPROVISIONED and have not been changed for 366 days.

There is an overlap, so I’m now only running the second flow.

Before the accounts are deleted some account information is written into a table

 

My question is around the time it takes to process. I’m now running the Workflow for more than 13 hours and it will execute between 5 to 10 accounts per minute.

That looks very slow to me. How can I speed up things?

I would like to let this rule validate daily but with this speed, it is not possible

 

To generate a CSV file directly from the System log with all deprovisioned accounts and the last “changed” date it taking about one minute.

 

I have attached the screenshots of the Parent flow and the Child flow.

Image is not available

Image is not available

 

Thanks for reading this topic, and sharing your knowledge… so I can learn more about Workflow.

*learningisfun *sharingknowledgeisfun

 

Alex Voermans


  • BlakeC.51952 (Employee)

    Hi @6wnkd (6wnkd)​,

     

    This is Blake, thanks for posting. I have a few thoughts that may help narrow it down.

     

    1. Is there any indication in the Flow History that a particular card is running slow?

    2. Has it slowed down over time as the number of records in the table grows?

    3. You could try passing just the attributes you need to the child flow rather than the entire user object. Or perhaps don't pass the "Raw Output" as it looks like the child flow does not use it. I'm not sure how much this will help, but it will reduce the size of the payload passed to the child flow.

     

    I hope that helps. Let me know how it goes.

     

    Blake at Okta, Inc.

    Expand Post
    • 6wnkd (6wnkd)

      Hello Blake, Thank you for your reply. Due to my summer holiday, I was not able to respond earlier. First I would like to thank you for taking the time to look at my issue and write an answer. I need to look into the details of your feedback (and manly number 3 because I can understand this has a usage impact on the time to handle the request.)

       

      1. It looks like all the cards take the same time to be processed (But I think that is a usage relation with number 3 the amount of data that is collected (but not needed to validate and execute the actual deletion)
      2. As far as I can see, the time running this flow(s) takes about the same long time (even when the table has grown)
      3. I will take a closer look to the data I'collecting in the parent flow and that is used in the Child flow and If I'm able to load of not needed data.

      I will come back to this.

       

      Thanks again.

       

      Alex

      Expand Post
  • Hi Alex;

    How many users do you have in your Okta tenant ?

    There is a known issue when dealing with large amount of users (>10k) due to pagination. Workaround is to use "Streaming action" but that new functionality is still in preview.

    Another option would be to chunk your population into smaller pieces to speed up the process. We did that for a lifecycle of 200K users ;)

    Most likely your parent flow is running slow ? Isn't it ?

    You could also increase "Concurrency" from 1 to 5 or 10 (test it).

     

    Expand Post
    • 6wnkd (6wnkd)

      Hello Stéphane,

       

      When I created the flow (July 28th) I had the following amount of accounts:

      Everyone (17461)

      Pending User Action (20)

      Active (6043)

      Deactivated (11398)

       

      When I looked today (August 24th)

      Everyone (11825)

      Pending User Action (105)

      Active (6074)

      Deactivated (5646) (probably not deactivated longer than 1 year so still in Okta)

       

      So the amounts went down 🙂

      But I need to take a closer look at what data I need to store in the Table, and what data I'm collecting. Maybe I can bring it down to only the information in need, to speed up things.

       

      Alex

      Expand Post
This question is closed.
Loading
Speed / perfromance Okta Workflow in deleting DEPROVISIONED accounts