<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
0D54z0000A8kjDeCQIOkta Identity EngineWorkflowsAnswered2025-02-12T21:43:48.000Z2024-05-14T15:37:24.000Z2025-02-12T21:43:48.000Z
  • TimL.58332 (Workflows)

    @MAP.05794 (Customer)​  -- To the best of my knowledge there isn't an API available to either construct this information or generate and send a "report" of this information. Okta Workflows is only going to be able to Work with available public API's if they don't exist it doesn't have anything to interact with. There are quite a few different options/displays in the Okta Admin UI that leverage internal (private) API's and other more direct resource access to generate information that is not available through public API's.

     

    I do see that there is a "view" for logs in the screenshot. This is likely going to be System Logs. If you look through the logs that it presents you should be able to determine if any of the events contain useful information that may "meet your needs". The System Log does have API Access and it would be possible to scrape events for data to build something. However, you would need to determine:

     

    1) Is the data you need available in the events?

    2) Is there an automated method for you to determine the relevant events and correlate them to a specific import job outside of the "Import Monitoring" UI. For example maybe they all have the same session ID. But how do you know it is the right "Import" and for which Directory? These events would need to be assessed to determine their usefulness.

     

    If you are able to make positive determination and have figured out there is useful information and how to differentiate it then you could move on to automating the process via a Workflow.

    Expand Post
    Selected as Best
  • TimL.58332 (Workflows)

    @MAP.05794 (Customer)​  -- To the best of my knowledge there isn't an API available to either construct this information or generate and send a "report" of this information. Okta Workflows is only going to be able to Work with available public API's if they don't exist it doesn't have anything to interact with. There are quite a few different options/displays in the Okta Admin UI that leverage internal (private) API's and other more direct resource access to generate information that is not available through public API's.

     

    I do see that there is a "view" for logs in the screenshot. This is likely going to be System Logs. If you look through the logs that it presents you should be able to determine if any of the events contain useful information that may "meet your needs". The System Log does have API Access and it would be possible to scrape events for data to build something. However, you would need to determine:

     

    1) Is the data you need available in the events?

    2) Is there an automated method for you to determine the relevant events and correlate them to a specific import job outside of the "Import Monitoring" UI. For example maybe they all have the same session ID. But how do you know it is the right "Import" and for which Directory? These events would need to be assessed to determine their usefulness.

     

    If you are able to make positive determination and have figured out there is useful information and how to differentiate it then you could move on to automating the process via a Workflow.

    Expand Post
    Selected as Best
    • RossK.70107 (Customer)

      @MAP.05794 (Customer)​ I was able to accomplish this for our HCM > Okta integration. It works really well. We spit it out to Slack so we get notified when the import is done and then get a nice clean summary. I'll work on putting it into a workflow and can attach it here.

      • SeanW.66628 (Customer)

        @RossK.70107 (Customer)​ I would be really interested to see what you came up with. We have some issues where we're running into imports getting paused or having errors for various reasons and something like what you've described would be a great starting point.

      • RossK.70107 (Customer)

        Hey @Sean Wilson (Customer)​. This will vary depending on what system you're importing from, however, all of the data you're looking for is stored under the "system.import.user.complete" and "system.import.group.complete" eventTypes. You'll need a way to back into those events for the given import in question though, which is possibly easier than you might think it is. This is slightly different than how we have it implemented since I already have the session ID.

         

        With that said, you should be able to create a workflow with an event trigger of "Import Started" and get the import session ID and then pass that along different sys log searches to ultimately arrive at the two eventTypes above.

         

        1. Search system logs with a custom filter of: debugContext.debugData.sessionId eq "sessionID" and eventType eq "system.import.session.triggered"
          1. Grab the "sessionID" from the original event trigger
        2. From the resulting Raw Output, grab the debugContext.debugData.jobId
        3. Search system logs with a custom filter of: eventType eq "system.import.user.complete" and transaction.id eq "Import Job ID"
          1. Set the "Import Job ID" to the resulting variable from #2.
        4. Search system logs with a custom filter of: eventType eq "system.import.group.complete" and transaction.id eq "Import Job ID"
          1. Set the "Import Job ID" to the resulting variable from #2.
        5. For both #3 and #4, you'll see the object of debugContext.debugData contains your desired numerical values for users/groups that have been created, updated, deleted, unchanged, and total objects.

         

        Also, if you're trying to get ahead of failed imports, you could probably grab the sessionID, and inject a Wait For card to whatever your tolerance is, and then continue the flow. This way you won't have to pass/store values (like the sessionID) across different flows via a table or something along those lines. All of your imports would trigger the same flow, you could set If/else/if's for any special circumstances, and do its thing. I hope this helps but let me know if you have any questions.

        Expand Post
This question is closed.
Loading
Okta Workflow - show import result