<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>oktaworkflow &#8211; JMartinez.tech</title>
	<atom:link href="https://jmartinez.tech/tag/oktaworkflow/feed/" rel="self" type="application/rss+xml" />
	<link>https://jmartinez.tech</link>
	<description>Tech stuff, but chill.</description>
	<lastBuildDate>Tue, 03 Mar 2026 09:31:39 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://jmartinez.tech/wp-content/uploads/2025/04/T027K0ZC9-U03JL4E79KM-bbe3a34946fe-512-150x150.png</url>
	<title>oktaworkflow &#8211; JMartinez.tech</title>
	<link>https://jmartinez.tech</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>I’ve Stepped into the World of Okta Workflows</title>
		<link>https://jmartinez.tech/ive-stepped-into-the-world-of-okta-workflows/</link>
					<comments>https://jmartinez.tech/ive-stepped-into-the-world-of-okta-workflows/#respond</comments>
		
		<dc:creator><![CDATA[Jordi Martinez-Hidalgo]]></dc:creator>
		<pubDate>Mon, 02 Mar 2026 22:37:22 +0000</pubDate>
				<category><![CDATA[Automation]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[itengineer]]></category>
		<category><![CDATA[okta]]></category>
		<category><![CDATA[oktaworkflow]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">https://jmartinez.tech/?p=481</guid>

					<description><![CDATA[Yes! Every Systems Engineer, DevOps engineer, IT Technician (or whatever new title the industry invents next) eventually reaches a point where their job goes far beyond building secure bridges and centralized authentication systems. Soon enough, problems from beyond the Shire start knocking at your door. License management, notifications, provisioning without ... <div><a class="more-link bs-book_btn" href="https://jmartinez.tech/ive-stepped-into-the-world-of-okta-workflows/">Read More</a></div>]]></description>
										<content:encoded><![CDATA[
<div class="posts-view">



<p style="font-size:16px">Yes! Every Systems Engineer, DevOps engineer, IT Technician (or whatever new title the industry invents next) eventually reaches a point where their job goes far beyond building secure bridges and centralized authentication systems.</p>



<p style="font-size:16px">Soon enough, problems from <em>beyond the Shire</em> start knocking at your door.</p>



<p style="font-size:16px">License management, notifications, provisioning without SCIM, database cleanup… the limit is basically whatever challenges you decide to tackle.</p>



<p style="font-size:16px">In this article, I’ll explain how <strong>Okta Workflows</strong> helped me solve real operational challenges, and how it can help you do the same.</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<p style="font-size:24px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /><strong>Let Me Ask You Two Questions</strong></p>



<p style="font-size:16px">Have you ever wondered:</p>



<ul class="wp-block-list">
<li style="font-size:16px">How can I optimize licenses for SaaS applications and make sure users are actually using them?</li>



<li style="font-size:16px">How can I clean thousands of deactivated users from endless databases?</li>
</ul>



<p style="font-size:16px">These were recurring problems in my environment, and I chose <strong>Okta Workflows</strong> as the platform to solve them.</p>



<p style="font-size:16px">But first things first.</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<p style="font-size:24px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f928.png" alt="🤨" class="wp-smiley" style="height: 1em; max-height: 1em;" /><strong>What Is Okta Workflows?</strong></p>



<p style="font-size:16px"><strong>Okta Workflows</strong> is a no-code automation platform provided by Okta that allows you to build automated processes both inside and outside the Okta ecosystem.</p>



<p style="font-size:16px">You might be thinking:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p style="font-size:16px">“Okay, but how can Okta Workflows actually help me?”</p>
</blockquote>



<p style="font-size:16px">Chances are, after reading this, you’ll either discover automation needs you didn’t know you had or realize how many repetitive tasks you can eliminate.</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<p style="font-size:24px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4d7.png" alt="📗" class="wp-smiley" style="height: 1em; max-height: 1em;" /><strong>Classic Example</strong></p>



<p style="font-size:16px">A typical onboarding automation might look like this:</p>



<p style="font-size:16px"><strong>New employee created in Okta →</strong></p>



<ul class="wp-block-list">
<li style="font-size:16px">Assign Slack or Microsoft Teams channels</li>



<li style="font-size:16px">Add required Google Groups</li>



<li style="font-size:16px">Send welcome email</li>



<li style="font-size:16px">Notify IT and HR internally</li>
</ul>



<p style="font-size:16px">The result?</p>



<p style="font-size:16px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Reduced manual work<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Improved security<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Fewer human errors</p>



<p style="font-size:16px">Now that we understand what Okta Workflows can do, let’s look at how I solved two real-world challenges.</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<p style="font-size:26px">1&#x20e3;<strong>License Management Optimization</strong></p>



<p style="font-size:16px">If you manage SaaS platforms, you’ve probably faced this question:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p style="font-size:16px">&#8220;How do we stop paying for unused licenses?&#8221;</p>
</blockquote>



<p style="font-size:16px">Users request access to applications, use them for a while… and then abandon them. Their accounts remain inactive, basically as useful as a fax machine in 2026.</p>



<p style="font-size:16px">The result?</p>



<p style="font-size:16px">You end up paying €50,000 for 1,000 licenses when only 70% of users are actually active.</p>



<p style="font-size:16px">That’s a lot of wasted budget.<br><br>Most SaaS platforms don’t provide native mechanisms to automatically revoke licenses from inactive users.<br>This is where Okta Workflows becomes extremely powerful.</p>



<p style="font-size:24px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f48a.png" alt="💊" class="wp-smiley" style="height: 1em; max-height: 1em;" /><strong>Important Consideration: Login Sessions</strong></p>



<p style="font-size:16px">If your application is integrated with Okta and uses enforced SSO, you can track login activity through Okta System Logs.</p>



<p style="font-size:16px">However — <strong>be careful</strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6a8.png" alt="🚨" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p style="font-size:16px">Browser session tokens may allow users to access apps without authenticating again for long periods.</p>



<p style="font-size:16px">If possible, adjust the application&#8217;s session expiration settings to a reasonable timeframe. Once this is configured correctly, your login logs become reliable data sources.</p>



<p style="font-size:24px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3e7.png" alt="🏧" class="wp-smiley" style="height: 1em; max-height: 1em;" /><strong>Automation Strategy</strong></p>



<p style="font-size:16px">Here was my approach:</p>



<p style="font-size:16px"><strong>Every day at 9:00 AM CET</strong></p>



<ol class="wp-block-list">
<li style="font-size:16px">Review all licensed users.</li>



<li style="font-size:16px">Check login activity.</li>



<li style="font-size:16px">Identify users inactive for more than 30 days.</li>



<li style="font-size:16px">Remove their license, <strong>but</strong> keep viewer-level access.</li>
</ol>



<p style="font-size:24px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c8.png" alt="📈" class="wp-smiley" style="height: 1em; max-height: 1em;" /><strong>Benefits</strong></p>



<p style="font-size:16px">This approach allows us to:</p>



<p style="font-size:16px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Maintain a REAL list of active licensed users<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Pay only for what we actually use<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Preserve limited access for inactive users<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Reduce SaaS costs significantly</p>



<p style="font-size:16px">Applied across multiple high-cost applications, the savings become very noticeable.</p>



<p style="font-size:24px"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f477-1f3fc-200d-2642-fe0f.png" alt="👷🏼‍♂️" class="wp-smiley" style="height: 1em; max-height: 1em;" /><strong>Implementation in Okta Workflows</strong></p>



<p style="font-size:16px">Okta Workflows includes native connectors for many platforms like Figma, Jamf, Miro, Monday, Salesforce, Slack, Atlassian, and more.</p>



<p style="font-size:16px">And when a connector doesn’t exist, you can always call APIs directly.</p>



<p style="font-size:16px">In my case, I only needed the <strong>Okta connector</strong>, since logs and provisioning could be managed centrally.</p>



<p style="font-size:20px"><strong>Trigger Flow</strong></p>



<ul class="wp-block-list">
<li style="font-size:16px">Runs daily at <strong>9:00 AM CET</strong></li>



<li style="font-size:16px">Retrieves all users assigned to the licensed Okta group</li>



<li style="font-size:16px">Sends them to a helper flow</li>
</ul>



<p style="font-size:20px"><strong>Helper Flow</strong></p>



<ol class="wp-block-list">
<li style="font-size:16px">Receive users with metadata</li>



<li style="font-size:16px">Query Okta System Logs for latest <code>user.authentication</code> events</li>



<li style="font-size:16px">Filter users inactive for 30+ days</li>



<li style="font-size:16px">Move them from:
<ul class="wp-block-list">
<li>Licensed group → Unlicensed group</li>
</ul>
</li>



<li style="font-size:16px">Send Slack notification to administrators<br></li>
</ol>



<p style="font-size:16px">No deactivation occurs, only license updates. Flow completed.</p>



<p style="font-size:16px">The entire process now runs automatically in seconds and only requires occasional auditing.</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<p style="font-size:26px">2&#x20e3;<strong>Database Cleanup Automation</strong></p>



<p style="font-size:16px">Many organizations accumulate massive numbers of deactivated users.</p>



<p style="font-size:16px">They remain stored indefinitely:</p>



<ul class="wp-block-list">
<li style="font-size:16px">Occupying space</li>



<li style="font-size:16px">Complicating audits</li>



<li style="font-size:16px">And increasing operational noise</li>
</ul>



<p style="font-size:16px">Okta environments often contain deprovisioned users still associated with groups years later.</p>



<p style="font-size:16px">Here’s how I automated cleanup.</p>



<p style="font-size:20px"><strong>Trigger Flow</strong></p>



<ul class="wp-block-list">
<li style="font-size:16px">Runs daily at <strong>9:00 AM CET</strong></li>



<li style="font-size:16px">Retrieves users with <strong>DEPROVISIONED</strong> status</li>



<li style="font-size:16px">Sends them to helper flow</li>
</ul>



<p style="font-size:20px"><strong>Helper Flow</strong></p>



<ol class="wp-block-list">
<li style="font-size:16px">Receive users and metadata</li>



<li style="font-size:16px">Capture current execution date</li>



<li style="font-size:16px">Calculate time difference since deprovisioning</li>



<li style="font-size:16px">Filter users inactive for more than <em>X</em> days</li>



<li style="font-size:16px">Permanently delete qualifying users</li>



<li style="font-size:16px">Notify stakeholders via Slack</li>
</ol>



<p style="font-size:16px">Simple, yes, but extremely effective.</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<p style="font-size:24px"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f486-1f3fb-200d-2642-fe0f.png" alt="💆🏻‍♂️" class="wp-smiley" style="height: 1em; max-height: 1em;" />Final Thoughts</strong></p>



<p style="font-size:16px">Automations like these may seem small individually.</p>



<p style="font-size:16px">But combined, they create a strong, reliable, and scalable infrastructure that dramatically improves operational efficiency.</p>



<p style="font-size:16px">I’ll continue exploring new possibilities with <strong>Okta Workflows</strong>, and if you’ve made it this far, I highly recommend giving it a try if you haven’t already.</p>



<p style="font-size:16px">Thanks for reading!</p>



</div>
]]></content:encoded>
					
					<wfw:commentRss>https://jmartinez.tech/ive-stepped-into-the-world-of-okta-workflows/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
