I used to think that Okta's provisioning options were weak - a controversial opinion, I know. But the new Okta Workflows feature announced at Oktane20 has changed my mind. Okta Workflows lets you automate complex customized provisioning use cases without code.
Okta acquired Azuqua in 2019, and have based Okta Workflows in Azuqua. Users now get the security and high scale availability of Okta, and the convenience of Azuqua’s modern, simple integration platform.
The Okta Workflows tutorials are a great place to start learning about workflows. Ajay Seetharam's 3 part API Requests tutorial and James Flores' unique username generator tutorial are very informative. But first, here are some things I learned writing workflows:
More complex flows are easier to manage if they are broken up into child flows (think functions or methods). Child flows are also simple to test on their own, which is a huge plus when working on complex flows.
List Map to Generate a New List Based on an Existing List
List Map will take a list and call a custom flow on each item in the list. The custom flow returns a new value, used to create a new list. Think of it as taking one list and modifying each item in the list to get a new list.
List Find to Find the Desired Item in your List
The following is a little technical, but I found the following information to be really useful so I'm just going to get into it:
The List Find Custom Flow will take a list and then invoke a custom flow for each item in the list until the flow returns true. At least one of the arguments for your custom flow must be an item in the list. Other arguments can also be passed to your custom flow. The custom flow cannot call another flow. A second custom flow somehow corrupts the Find Custom Flow. The same holds true for List Filter Custom.
If you start your Okta Workflows project understanding nothing but the above paragraph, you'll have a much easier time accomplishing your Okta Workflow goals.
Import Inline Hooks
When writing a workflow for Import Inline hook, be mindful of timeouts. Okta API queries can be time-consuming operations, so use them sparingly. When possible, a single API query that returns multiple results is preferable to numerous queries that return a single result.
If your Okta tenant already has LCM, you can contact your Okta AE to get Workflows enabled, or contact us and we will painlessly take care of your entire Okta Workflows solution.