<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Max Katz</title>
    <description>The latest articles on DEV Community by Max Katz (@maxkatz).</description>
    <link>https://dev.to/maxkatz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F112754%2F2bd83450-5dfe-489e-be04-5c6b7c7a4c8c.jpg</url>
      <title>DEV Community: Max Katz</title>
      <link>https://dev.to/maxkatz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/maxkatz"/>
    <language>en</language>
    <item>
      <title>A Flow to Audit Inactive Google Workspace Users in Okta</title>
      <dc:creator>Max Katz</dc:creator>
      <pubDate>Wed, 21 Sep 2022 19:59:56 +0000</pubDate>
      <link>https://dev.to/oktaworkflows/a-flow-to-audit-inactive-google-workspace-users-in-okta-572h</link>
      <guid>https://dev.to/oktaworkflows/a-flow-to-audit-inactive-google-workspace-users-in-okta-572h</guid>
      <description>&lt;p&gt;Okta Workflows community flows are flows shared by community members. These flows show how to solve a particular problem. You might have the same problem you are trying to solve or a similar one. Either way, these community flows will help you learn and build automations.&lt;/p&gt;

&lt;p&gt;A directory of all other Okta Workflows community-created flows ⤵️&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/oktaworkflows" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n-07qOxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--pzg4kRI0--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/organization/profile_image/5077/0e81d3e2-a52d-4156-8eb9-7a3c8ea98674.png" alt="Okta Workflows" width="150" height="150"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kvrUX8k8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--JOmvljQH--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/914166/d8c45bd6-c142-4cad-b48d-fe1ada98b5cc.jpeg" alt="" width="150" height="150"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/oktaworkflows/all-okta-workflows-community-created-flows-3kmm" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;All Okta Workflows Community-Created Flows&lt;/h2&gt;
      &lt;h3&gt;Okta Workflows Staff for Okta Workflows ・ Sep 21 ・ 1 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#nocode&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#workflows&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#okta&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ipaas&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;&lt;em&gt;This flow &lt;a href="https://www.linkedin.com/in/bilal-habib-72159b8a/"&gt;Bilal Habib&lt;/a&gt;, IT Infrastructure Engineer for MADE.COM&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This flopack audits Google Workspace users similar to the template for Auditing Inactive Okta Users&lt;/p&gt;

&lt;p&gt;&lt;cite&gt;&lt;em&gt; &lt;a rel="noreferrer noopener" href="https://www.linkedin.com/in/bilal-habib-72159b8a/"&gt;Bilal Habib&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/09/workflows_community_audit_google_users.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dHQ-Guj7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/09/workflows_community_audit_google_users.png%3Fw%3D1024" alt="A flow from audit inactive Google Workspace users (source)" width="880" height="317"&gt;&lt;/a&gt;&lt;/p&gt;
A flow from audit inactive Google Workspace users



&lt;p&gt;&lt;a href="https://github.com/pro4tlzz/ITSupportTools/tree/main/okta-workflows/inactive-google-workspace-users"&gt;Learn more and download&lt;/a&gt; the flow from GitHub.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;More resources to help you learn&lt;/strong&gt; :&lt;/p&gt;

&lt;p&gt;🎥 Short how-to &lt;a href="https://youtube.com/playlist?list=PLIid085fSVdvyK8F4xuk49EchBPmAVNHG"&gt;Workflows videos&lt;/a&gt; to help you become a better automation builder.&lt;/p&gt;

&lt;p&gt;🍿 A collection of helpful &lt;a href="https://maxkatz.net/okta-workflows-tips/"&gt;Workflows tips&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>nocode</category>
      <category>workflows</category>
      <category>okta</category>
      <category>google</category>
    </item>
    <item>
      <title>A Flow to Automatically Generate Shipping Labels and Email Them to Users</title>
      <dc:creator>Max Katz</dc:creator>
      <pubDate>Wed, 21 Sep 2022 14:32:20 +0000</pubDate>
      <link>https://dev.to/oktaworkflows/a-flow-to-automatically-generate-shipping-labels-and-email-them-to-users-2jnk</link>
      <guid>https://dev.to/oktaworkflows/a-flow-to-automatically-generate-shipping-labels-and-email-them-to-users-2jnk</guid>
      <description>&lt;p&gt;&lt;a href="https://www.okta.com/platform/workflows/"&gt;Okta Workflows&lt;/a&gt; community flows are flows shared by community members. These flows show how to solve a particular problem. You might have the same problem you are trying to solve or a similar one. Either way, these community flows will help you learn and build automations.&lt;/p&gt;

&lt;p&gt;A directory of all other Okta Workflows community-created flows ⤵️&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/oktaworkflows" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n-07qOxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--pzg4kRI0--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/organization/profile_image/5077/0e81d3e2-a52d-4156-8eb9-7a3c8ea98674.png" alt="Okta Workflows" width="150" height="150"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kvrUX8k8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--JOmvljQH--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/914166/d8c45bd6-c142-4cad-b48d-fe1ada98b5cc.jpeg" alt="" width="150" height="150"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/oktaworkflows/all-okta-workflows-community-created-flows-3kmm" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;All Okta Workflows Community-Created Flows&lt;/h2&gt;
      &lt;h3&gt;Okta Workflows Staff for Okta Workflows ・ Sep 21 ・ 1 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#nocode&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#workflows&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#okta&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ipaas&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;&lt;em&gt;This workflow is from &lt;a href="https://www.linkedin.com/in/jacobdwaters/"&gt;Jacob Waters&lt;/a&gt;, &lt;a href="https://www.macadmins.org/"&gt;MacAdmins Slack Community&lt;/a&gt; member, and a&lt;/em&gt; Senior IT Engineer at &lt;a href="https://www.astronomer.io/"&gt;Astronomer&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If anyone is interested, attached is a workflow I put together for automatically generating shipping labels and emailing them to users. Can be helpful with dealing with offboarded users, device swaps, broken devices, etc. Can easily do this to generate labels for new hire shipments as well.&lt;/p&gt;

&lt;p&gt;Will need a &lt;a href="https://www.shipengine.com/"&gt;ShipEngine&lt;/a&gt; and courier (Fedex, UPS, etc) accounts to do so.&lt;/p&gt;

&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;em&gt; &lt;a rel="noreferrer noopener" href="https://www.linkedin.com/in/jacobdwaters/"&gt;Jacob Waters&lt;/a&gt;&lt;/em&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://github.com/JacobDWaters/Okta-Workflows/tree/main/ShipEngine/Generate%20shipping%20labels%20with%20ShipEngine"&gt;Download&lt;/a&gt; the flow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/07/workflows_tips30_shipengine_flow.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ABVnQJc2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/07/workflows_tips30_shipengine_flow.png%3Fw%3D782" alt="Generating shipping labels flow" width="780" height="300"&gt;&lt;/a&gt;&lt;/p&gt;
Generating shipping labels flow






&lt;p&gt;&lt;strong&gt;More resources to help you learn&lt;/strong&gt; :&lt;/p&gt;

&lt;p&gt;🎥 Short how-to &lt;a href="https://youtube.com/playlist?list=PLIid085fSVdvyK8F4xuk49EchBPmAVNHG"&gt;Workflows videos&lt;/a&gt; to help you become a better automation builder.&lt;/p&gt;

&lt;p&gt;🍿 A collection of helpful &lt;a href="https://maxkatz.net/okta-workflows-tips/"&gt;Workflows tips&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>nocode</category>
      <category>workflows</category>
      <category>okta</category>
      <category>ipaas</category>
    </item>
    <item>
      <title>Online Meetup: Build Your First No-Code Workflow Automation in 25 Minutes</title>
      <dc:creator>Max Katz</dc:creator>
      <pubDate>Tue, 20 Sep 2022 23:00:10 +0000</pubDate>
      <link>https://dev.to/oktaworkflows/online-meetup-build-your-first-no-code-workflow-automation-in-25-minutes-3hi</link>
      <guid>https://dev.to/oktaworkflows/online-meetup-build-your-first-no-code-workflow-automation-in-25-minutes-3hi</guid>
      <description>&lt;p&gt;Join another Okta Workflows online meetup ✨&lt;/p&gt;

&lt;p&gt;🔮 &lt;strong&gt;Why it’s worth your time&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Join this (fun) no-slides online meetup to learn how to process a list using a helper flow in &lt;a href="https://www.okta.com/platform/workflows/"&gt;Okta Workflows&lt;/a&gt; in 25 minutes. &lt;/p&gt;

&lt;p&gt;🎟 &lt;strong&gt;When and register&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When: Wednesday, September 28, 9 a.m. PT&lt;/li&gt;
&lt;li&gt;I want to attend: &lt;a href="https://www.crowdcast.io/e/build-first-nocode-workflow-automation"&gt;register now&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔭 &lt;strong&gt;You will learn&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You will learn step-by-step how to build your first no-code workflow automation and also: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Building a flow with the basic building blocks (events, schedule, actions, functions, and connectors)&lt;/li&gt;
&lt;li&gt;Testing and running a flow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And, stick around to get your questions answered. This is a no slides session (well, maybe just one or two at the beginning).&lt;/p&gt;

&lt;p&gt;👷🏻 &lt;strong&gt;Who should attend&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Everyone is welcome of course, but if you want to know, these folks should attend:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Folks who are new to Workflows!&lt;/li&gt;
&lt;li&gt;Folks who want to learn about No-Code, workflows and automation&lt;/li&gt;
&lt;li&gt;IT Administrators, Integration Architects&lt;/li&gt;
&lt;li&gt;Product Manager, Developers, Marketing Operations and Technology Leads&lt;/li&gt;
&lt;li&gt;DevOps Engineers and Security Engineers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎙 &lt;strong&gt;Speaker&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Max Katz, Workflows Community Advocate (yes, that’s me 😜)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎥 &lt;strong&gt;Previous online meetups&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Looking for previous online meetups recordings? Go to our YouTube channel to &lt;a href="https://youtube.com/playlist?list=PLIid085fSVdvyK8F4xuk49EchBPmAVNHG"&gt;watch all previous events&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webinar</category>
      <category>nocode</category>
      <category>okta</category>
    </item>
    <item>
      <title>A Flow to Help With Lifecycle Reporting</title>
      <dc:creator>Max Katz</dc:creator>
      <pubDate>Tue, 20 Sep 2022 18:37:14 +0000</pubDate>
      <link>https://dev.to/oktaworkflows/a-flow-to-help-with-lifecycle-reporting-5dhj</link>
      <guid>https://dev.to/oktaworkflows/a-flow-to-help-with-lifecycle-reporting-5dhj</guid>
      <description>&lt;p&gt;&lt;a href="https://www.okta.com/platform/workflows/"&gt;Okta Workflows&lt;/a&gt; community flows are flows shared by community members. These flows show how to solve a particular problem. You might have the same problem you are trying to solve or a similar one. Either way, these community flows will help you learn and build automations.&lt;/p&gt;

&lt;p&gt;A directory of all other Okta Workflows community-created flows ⤵️&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/oktaworkflows_staff" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kvrUX8k8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--JOmvljQH--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/914166/d8c45bd6-c142-4cad-b48d-fe1ada98b5cc.jpeg" alt="oktaworkflows_staff"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/oktaworkflows_staff/all-okta-workflows-community-created-flows-3kmm" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;All Okta Workflows Community-Created Flows&lt;/h2&gt;
      &lt;h3&gt;Okta Workflows Staff ・ Sep 21 ・ 1 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#nocode&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#workflows&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#okta&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ipaas&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;&lt;em&gt;This flow is from &lt;a href="https://www.linkedin.com/in/pete-viri-64b29165/"&gt;Pete Viri&lt;/a&gt;. Pete is an Okta Certified Professional, with over of 10 years of IT experience currently working as a Senior IAM Engineer at &lt;a href="https://www.faire.com/"&gt;Faire&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Hey Everyone, I wanted to share a flow I recently created to help with lifecycle reporting. This is a native feature in a lot of SIEM tools, but if you currently don’t have a service like that or want lightweight reporting, this flow will let you know when X users are being added/removed from apps within Y seconds.  &lt;/p&gt;

&lt;p&gt;This can help mitigate issues that arise from HRIS changes that may cause a large amount of people to be added or removed from apps via group rules. The only thing you need to do is configure your quantity (X) and time (Y) thresholds, and the slack channel you want it to post to.&lt;/p&gt;

&lt;p&gt;&lt;cite&gt;&lt;em&gt;&lt;a rel="noreferrer noopener" href="https://www.linkedin.com/in/pete-viri-64b29165/"&gt;Pete Viri&lt;/a&gt;&lt;/em&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/09/workflows_community_lifecycle_activity.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gTzxQVKR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/09/workflows_community_lifecycle_activity.png%3Fw%3D1024" alt="Lifecycle activity reporting flow" width="880" height="380"&gt;&lt;/a&gt;&lt;/p&gt;
Lifecycle activity reporting flow



&lt;p&gt;&lt;a href="https://macadmins.slack.com/archives/C011DBUDT28/p1663610012496009"&gt;Download&lt;/a&gt; the flow (this is a link to a &lt;a href="http://macadmins.org"&gt;MacAdmins Slack channel&lt;/a&gt;. You need to be a member or join to download).&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;More resources to help you learn&lt;/strong&gt; :&lt;/p&gt;

&lt;p&gt;🎥 Short how-to &lt;a href="https://youtube.com/playlist?list=PLIid085fSVdvyK8F4xuk49EchBPmAVNHG"&gt;Workflows videos&lt;/a&gt; to help you become a better automation builder.&lt;/p&gt;

&lt;p&gt;🍿 A collection of helpful &lt;a href="https://maxkatz.net/okta-workflows-tips/"&gt;Workflows tips&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>nocode</category>
      <category>workflows</category>
      <category>okta</category>
      <category>ipaas</category>
    </item>
    <item>
      <title>How to Remove Office 365 License From a User Account After Being Suspended for a Certain Time</title>
      <dc:creator>Max Katz</dc:creator>
      <pubDate>Mon, 19 Sep 2022 23:34:05 +0000</pubDate>
      <link>https://dev.to/oktaworkflows/how-to-remove-office-365-license-from-a-user-account-after-being-suspended-for-a-certain-time-lmh</link>
      <guid>https://dev.to/oktaworkflows/how-to-remove-office-365-license-from-a-user-account-after-being-suspended-for-a-certain-time-lmh</guid>
      <description>&lt;p&gt;&lt;a href="https://www.okta.com/platform/workflows/"&gt;Okta Workflows&lt;/a&gt; how-to guides are questions and answers from weekly community &lt;a href="https://calendly.com/oktaworkflows/group-office-hours-okta-workflows"&gt;office hours&lt;/a&gt;, MacAdmins &lt;a href="https://www.macadmins.org/"&gt;Workflows Slack channel&lt;/a&gt;, and other places. &lt;/p&gt;

&lt;p&gt;Read all the other how-to guides ⤵️&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/oktaworkflows" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n-07qOxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--pzg4kRI0--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/organization/profile_image/5077/0e81d3e2-a52d-4156-8eb9-7a3c8ea98674.png" alt="Okta Workflows" width="150" height="150"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kvrUX8k8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--JOmvljQH--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/914166/d8c45bd6-c142-4cad-b48d-fe1ada98b5cc.jpeg" alt="" width="150" height="150"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/oktaworkflows/all-okta-workflows-how-to-guides-4nl9" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;All Okta Workflows How-To Guides&lt;/h2&gt;
      &lt;h3&gt;Okta Workflows Staff for Okta Workflows ・ Aug 23 ・ 2 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#nocode&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#okta&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#workflows&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ipaas&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;On to the question. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;How to remove Office 365 license a user account after being suspended for a certain time?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; : &lt;em&gt;I don’t yet have access to O360 Admin account (Workflows connection) so I’m proving a high-level overview of the solution. I will update this post once I have access to a O360 Admin connection.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The solution consists of two flows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Save the time when user was suspended

&lt;ul&gt;
&lt;li&gt;Trigger a flow with &lt;strong&gt;&lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/connector-reference/okta/events/usersuspended.htm"&gt;Okta – User Suspended&lt;/a&gt;&lt;/strong&gt; card and save the time a user was suspended, their Okta ID, and any other information needed such as O365 login&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;&lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/build/set-schedule-options.htm"&gt;Okta – Scheduled Flow&lt;/a&gt;&lt;/strong&gt; card to check the table and compare the date now against the date a user was suspended

&lt;ul&gt;
&lt;li&gt;If the difference between dates is greater than [X days], remove the license from the user and delete the row in a table&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is the first flow (save the time when user was suspended):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/09/workflows_howto_suspend_o360_table.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UgVfZyKn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/09/workflows_howto_suspend_o360_table.png%3Fw%3D1024" alt="Save suspended user information to a table" width="880" height="523"&gt;&lt;/a&gt;&lt;/p&gt;
Save suspended user information to a table



&lt;p&gt;Table with suspended user information:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/09/workflows_howto_suspend_o360_table2.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5L8CS0qB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/09/workflows_howto_suspend_o360_table2.png%3Fw%3D1024" alt="Table with suspended user information" width="880" height="227"&gt;&lt;/a&gt;&lt;/p&gt;
Table with suspended user information






&lt;p&gt;&lt;strong&gt;More resources to help you learn&lt;/strong&gt; :&lt;/p&gt;

&lt;p&gt;📺 Short how-to &lt;a href="https://youtube.com/playlist?list=PLIid085fSVdvyK8F4xuk49EchBPmAVNHG"&gt;Workflows videos&lt;/a&gt; to help you become a better automation builder.&lt;/p&gt;

&lt;p&gt;🍿 A collection of helpful &lt;a href="https://maxkatz.net/okta-workflows-tips/"&gt;Workflows tips&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>nocode</category>
      <category>workflows</category>
      <category>okta</category>
      <category>ipaas</category>
    </item>
    <item>
      <title>Workflows Tips #37: Iterate Over Rows &amp; Delete Rows in a Table Videos, Build Your First Flow Online Meetup</title>
      <dc:creator>Max Katz</dc:creator>
      <pubDate>Fri, 16 Sep 2022 19:11:08 +0000</pubDate>
      <link>https://dev.to/oktaworkflows/workflows-tips-37-iterate-over-rows-delete-rows-in-a-table-videos-build-your-first-flow-online-meetup-57nn</link>
      <guid>https://dev.to/oktaworkflows/workflows-tips-37-iterate-over-rows-delete-rows-in-a-table-videos-build-your-first-flow-online-meetup-57nn</guid>
      <description>&lt;p&gt;Welcome to another Okta Workflows Tips post. Read all other tips ⤵️&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/oktaworkflows" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n-07qOxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--pzg4kRI0--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/organization/profile_image/5077/0e81d3e2-a52d-4156-8eb9-7a3c8ea98674.png" alt="Okta Workflows" width="150" height="150"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kvrUX8k8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--JOmvljQH--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/914166/d8c45bd6-c142-4cad-b48d-fe1ada98b5cc.jpeg" alt="" width="150" height="150"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/oktaworkflows/okta-workflows-tips-57bj" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;All Okta Workflows Tips&lt;/h2&gt;
      &lt;h3&gt;Okta Workflows Staff for Okta Workflows ・ Aug 23 ・ 3 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
In this post:

&lt;ul&gt;
&lt;li&gt;How to iterate over rows in a table&lt;/li&gt;
&lt;li&gt;How to delete multiple table rows&lt;/li&gt;
&lt;li&gt;Register for build your first flow online meetup&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  How to iterate over rows in a table
&lt;/h2&gt;

&lt;p&gt;In this vide you will learn how to iterate over rows in a table. The video is based &lt;a href="https://dev.to/maxkatz/how-to-iterate-over-rows-in-a-table-in-okta-workflows-1a5n-temp-slug-1867674"&gt;How to Iterate Over Rows in a Table in Okta Workflows&lt;/a&gt; blog post.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/FzsROF8Yk9E"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  How to delete multiple table rows
&lt;/h2&gt;

&lt;p&gt;In this video you will learn how to delete multiple table rows in Okta Workflows. This video is based on &lt;a href="https://dev.to/oktaworkflows/how-to-delete-multiple-table-rows-1b67"&gt;How to Delete Multiple Table Rows&lt;/a&gt; blog post.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/gXoRyoTeFEA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Online meetup: Build Your First No-Code Workflow Automation in 25 Minutes
&lt;/h2&gt;

&lt;p&gt;We have another no-slides online meetup is coming up 🚀.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/08/workflows_webinar_buildfirstflow.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DWm51wFU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/08/workflows_webinar_buildfirstflow.png%3Fw%3D782" alt="Okta Workflows" width="781" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔮 &lt;strong&gt;Why it’s worth your time&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Join this no-slides online meetup to learn how to build your first no-code workflow automation with Okta Workflows in 25 minutes.&lt;/p&gt;

&lt;p&gt;🔭 &lt;strong&gt;You will learn&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You will learn step-by-step how to build your first no-code workflow automation and also: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Building a flow with the basic building blocks (events, schedule, actions, functions, and connectors)&lt;/li&gt;
&lt;li&gt;Testing and running a flow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And, stick around to get your questions answered. This is a no slides session (well, maybe just one or two at the beginning).&lt;/p&gt;

&lt;p&gt;🎟 &lt;strong&gt;When and register&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When:  &lt;strong&gt;Wednesday, September 28, 9 a.m. PT&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;I want to attend: &lt;a href="https://www.crowdcast.io/e/build-first-nocode-workflow-automation"&gt;register now&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📡 And one more thing, follow our &lt;a href="http://crowdcast.io/oktaworkflows"&gt;events channel&lt;/a&gt; to get notified when we go live.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Two resources to help you learn more&lt;/strong&gt;: &lt;/p&gt;

&lt;p&gt;🎥 Short how-to &lt;a href="https://youtube.com/playlist?list=PLIid085fSVdvyK8F4xuk49EchBPmAVNHG"&gt;Workflows videos&lt;/a&gt; to help you become a better automation builder.&lt;/p&gt;

&lt;p&gt;📘 Read our &lt;a href="https://maxkatz.net/okta-workflows-how-to-guides/"&gt;Workflows How-To Guides&lt;/a&gt; based on community member questions.&lt;/p&gt;

</description>
      <category>nicole</category>
      <category>workflows</category>
      <category>automation</category>
      <category>identity</category>
    </item>
    <item>
      <title>How to Iterate Over Rows in a Table in Okta Workflows</title>
      <dc:creator>Max Katz</dc:creator>
      <pubDate>Tue, 13 Sep 2022 23:48:57 +0000</pubDate>
      <link>https://dev.to/oktaworkflows/how-to-iterate-over-rows-in-a-table-in-okta-workflows-1hfd</link>
      <guid>https://dev.to/oktaworkflows/how-to-iterate-over-rows-in-a-table-in-okta-workflows-1hfd</guid>
      <description>&lt;p&gt;&lt;a href="https://www.okta.com/platform/workflows/"&gt;Okta Workflows&lt;/a&gt; how-to guides are questions and answers from weekly community &lt;a href="https://calendly.com/oktaworkflows/group-office-hours-okta-workflows"&gt;office hours&lt;/a&gt;, MacAdmins &lt;a href="https://www.macadmins.org/"&gt;Workflows Slack channel&lt;/a&gt;, and other places. &lt;/p&gt;

&lt;p&gt;Read all the other how-to guides ⤵️&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/oktaworkflows" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n-07qOxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--pzg4kRI0--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/organization/profile_image/5077/0e81d3e2-a52d-4156-8eb9-7a3c8ea98674.png" alt="Okta Workflows" width="150" height="150"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kvrUX8k8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--JOmvljQH--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/914166/d8c45bd6-c142-4cad-b48d-fe1ada98b5cc.jpeg" alt="" width="150" height="150"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/oktaworkflows/all-okta-workflows-how-to-guides-4nl9" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;All Okta Workflows How-To Guides&lt;/h2&gt;
      &lt;h3&gt;Okta Workflows Staff for Okta Workflows ・ Aug 23 ・ 2 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#nocode&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#okta&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#workflows&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ipaas&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;On to the question. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;How to iterate over rows in a table?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To iterate over rows in a table you need&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Find the rows (usually done with search)&lt;/li&gt;
&lt;li&gt;Pass each row to a helper flow to process&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let’s look at an example using a table with all the countries in the world:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/09/workflows_howto_looptables_table.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JAzd3WYZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/09/workflows_howto_looptables_table.png%3Fw%3D1024" alt="Country table" width="880" height="607"&gt;&lt;/a&gt;&lt;/p&gt;
Country table



&lt;p&gt;In the main flow, find the rows use the &lt;strong&gt;&lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/function-reference/Tables/stash_searchrows2.htm"&gt;Tables – Search Rows&lt;/a&gt;&lt;/strong&gt; card (max. 3,500 rows will be returned). To return all the rows don’t enter a search expression. Then pass the rows to a &lt;strong&gt;&lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/function-reference/List/list_each.htm"&gt;List – For Each&lt;/a&gt;&lt;/strong&gt; card where a helper flow will process each record at a time.&lt;/p&gt;

&lt;p&gt;This is the main flow:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/09/workflows_howto_looptables_main3.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ptu_Bjdv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/09/workflows_howto_looptables_main3.png%3Fw%3D881" alt="Search for rows" width="880" height="1023"&gt;&lt;/a&gt;&lt;/p&gt;
Search for rows



&lt;p&gt;In the &lt;strong&gt;&lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/function-reference/List/list_each.htm"&gt;List – For Each&lt;/a&gt;&lt;/strong&gt; card, set the helper flow ( &lt;strong&gt;Helper Flow&lt;/strong&gt; input).&lt;/p&gt;

&lt;p&gt;Then set the value to pass to the helper flow ( &lt;strong&gt;Country row&lt;/strong&gt; input).&lt;/p&gt;

&lt;p&gt;In this flow you are passing the entire row or object (named &lt;strong&gt;item&lt;/strong&gt; ) to the helper flow.&lt;/p&gt;

&lt;p&gt;You can also pass a particular property from the object (row). To learn how to do that read &lt;a href="https://dev.to/oktaworkflows/how-to-setup-a-workflows-helper-flow-with-for-each-and-streaming-cards-3k96"&gt;How to Setup a Workflows Helper Flow (With For-Each and Streaming Cards)&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is the helper flow:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/09/workflows_howto_looptables_helper.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FVPZjuyH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/09/workflows_howto_looptables_helper.png%3Fw%3D1024" alt="Helper flow to process a row from a table" width="880" height="724"&gt;&lt;/a&gt;&lt;/p&gt;
Helper flow to process a row from a table



&lt;p&gt;A flow becomes a helper flow when the first card is &lt;strong&gt;&lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/learn/about-helper-flows.htm"&gt;On Demand – Helper Flow&lt;/a&gt;&lt;/strong&gt;. This card has one input &lt;strong&gt;Country row&lt;/strong&gt;. Its type is object because you are passing the entire object (row) to this flow.&lt;/p&gt;

&lt;p&gt;You can use &lt;strong&gt;&lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/function-reference/Object/object_pick.htm"&gt;Object – Get Multiple&lt;/a&gt;&lt;/strong&gt; card to read values from the object (row) passed to this flow. In this example you are reading the &lt;strong&gt;Country&lt;/strong&gt; and its &lt;strong&gt;Code&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Learn more how to use &lt;strong&gt;&lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/function-reference/Object/object_pick.htm"&gt;Object – Get Multiple&lt;/a&gt;&lt;/strong&gt; card: &lt;a href="https://dev.to/oktaworkflows/how-to-read-a-json-path-with-dot-notation-in-workflows-3dlk"&gt;How to Read a JSON Path With Dot-Notation in Workflows&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Result running the flow (helper flow shown):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/09/workflows_howto_loopstable_test.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Re-dMzHc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/09/workflows_howto_loopstable_test.png%3Fw%3D1024" alt="Getting country data flow" width="880" height="376"&gt;&lt;/a&gt;&lt;/p&gt;
Getting country data flow



&lt;p&gt;The helper flow will run 248 times for each country in the table. It will get the country and and country code.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;More resources to help you learn&lt;/strong&gt; :&lt;/p&gt;

&lt;p&gt;📺 Short how-to &lt;a href="https://youtube.com/playlist?list=PLIid085fSVdvyK8F4xuk49EchBPmAVNHG"&gt;Workflows videos&lt;/a&gt; to help you become a better automation builder.&lt;/p&gt;

&lt;p&gt;🍿 A collection of helpful &lt;a href="https://maxkatz.net/okta-workflows-tips/"&gt;Workflows tips&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>nocode</category>
      <category>workflows</category>
      <category>okta</category>
      <category>ipaas</category>
    </item>
    <item>
      <title>Workflows Tips #36: Kandji Connector, Build Your First Workflow Online Meetup and Count Number of Rows in a Table</title>
      <dc:creator>Max Katz</dc:creator>
      <pubDate>Mon, 12 Sep 2022 06:41:15 +0000</pubDate>
      <link>https://dev.to/oktaworkflows/workflows-tips-36-kandji-connector-build-your-first-workflow-online-meetup-and-count-number-of-rows-in-a-table-17k5</link>
      <guid>https://dev.to/oktaworkflows/workflows-tips-36-kandji-connector-build-your-first-workflow-online-meetup-and-count-number-of-rows-in-a-table-17k5</guid>
      <description>&lt;p&gt;Welcome to another Okta Workflows Tips post. Read all other tips ⤵️&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/oktaworkflows" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n-07qOxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--pzg4kRI0--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/organization/profile_image/5077/0e81d3e2-a52d-4156-8eb9-7a3c8ea98674.png" alt="Okta Workflows" width="150" height="150"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kvrUX8k8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--JOmvljQH--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/914166/d8c45bd6-c142-4cad-b48d-fe1ada98b5cc.jpeg" alt="" width="150" height="150"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/oktaworkflows/okta-workflows-tips-57bj" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;All Okta Workflows Tips&lt;/h2&gt;
      &lt;h3&gt;Okta Workflows Staff for Okta Workflows ・ Aug 23 ・ 3 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;In this post:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kandji connector video&lt;/li&gt;
&lt;li&gt;Build Your First No-Code Workflow Automation online meetup&lt;/li&gt;
&lt;li&gt;Count number of rows in a table&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Workflows has a new &lt;a href="http://kandji.io"&gt;Kandji&lt;/a&gt; &lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/connector-reference/kandji/kandji.htm"&gt;connector&lt;/a&gt; that allows to automate Apple device management.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/09/workflows_tips36_kandji_connector.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JGFzLnjr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/09/workflows_tips36_kandji_connector.png%3Fw%3D836" alt="Kandji connector in Okta Workflows" width="836" height="1024"&gt;&lt;/a&gt;&lt;/p&gt;
Kandji connector in Okta Workflows



&lt;p&gt;Watch this short &lt;a href="https://youtu.be/ogx7jvBWVFM"&gt;video&lt;/a&gt; to learn how the Kandji connector in Workflow helps with Apple device management:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/ogx7jvBWVFM"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The video features &lt;a href="https://www.linkedin.com/in/arekdreyer/"&gt;Arek Dreyer&lt;/a&gt;. Arek is a Senior Product Engineer at &lt;a href="http://kandji.io/"&gt;kandji.io&lt;/a&gt;, which provides next-generation Apple device management for macOS, iOS, iPadOS, and tvOS. Arek spent over 20 years as an independent trainer, author, and consultant, and in 2021 he joined Kandji. He was super happy to discover the &lt;a href="https://www.macadmins.org/"&gt;community of admins&lt;/a&gt; that love helping each other solve problems in the Okta Workflows space.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Online meetup: Build Your First No-Code Workflow Automation in 25 Minutes
&lt;/h2&gt;

&lt;p&gt;We have another no-slides online meetup is coming up 🚀.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔮 Why it’s worth your time&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Join this no-slides online meetup to learn how to build your first no-code workflow automation with Okta Workflows in 25 minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔭 You will learn&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You will learn step-by-step how to build your first no-code workflow automation and also: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Building a flow with the basic building blocks (events, schedule, actions, functions, and connectors)&lt;/li&gt;
&lt;li&gt;Testing and running a flow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And, stick around to get your questions answered. This is a no slides session (well, maybe just one or two at the beginning).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎟 When and register&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When:  &lt;strong&gt;Wednesday, September 28, 9 a.m. PT&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;I want to attend: &lt;a href="https://www.crowdcast.io/e/build-first-nocode-workflow-automation"&gt;register now&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📡 And one more thing, follow our &lt;a href="http://crowdcast.io/oktaworkflows"&gt;events channel&lt;/a&gt; to get notified when we go live.&lt;/p&gt;

&lt;h2&gt;
  
  
  Count number of rows in a table
&lt;/h2&gt;

&lt;p&gt;To count the number of rows in a table use &lt;strong&gt;&lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/function-reference/Tables/stash_searchrows2.htm"&gt;Tables – Search Rows&lt;/a&gt;&lt;/strong&gt; to search a table without a condition. This will return all the rows (see a note at the end about this). Then, use &lt;strong&gt;&lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/function-reference/List/list_length.htm"&gt;List – Length&lt;/a&gt;&lt;/strong&gt; card to return the number of items in the list.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/09/workflows_tips36_count_rows_table.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6hoJ77RU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/09/workflows_tips36_count_rows_table.png%3Fw%3D988" alt="Counting rows in a table" width="880" height="911"&gt;&lt;/a&gt;&lt;/p&gt;
Counting rows in a table



&lt;p&gt;This is a &lt;em&gt;simple&lt;/em&gt; solution. It will work up to the limit of the search rows card:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Maximum number of records to return. If a filter or limit is not applied to the table search, a maximum of 3,500 rows from the selected table will be read by the Search Rows function card.&lt;/p&gt;

&lt;p&gt;&lt;cite&gt;&lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/function-reference/Tables/stash_searchrows2.htm" rel="noreferrer noopener"&gt;&lt;/a&gt;&lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/function-reference/Tables/stash_searchrows2.htm"&gt;https://help.okta.com/wf/en-us/Content/Topics/Workflows/function-reference/Tables/stash_searchrows2.htm&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is a good solution if a table has less than 3,500 records.&lt;/p&gt;

&lt;p&gt;Here is a solution from &lt;a href="https://www.linkedin.com/in/tim-laborn-b0574a10/"&gt;Tim LaBorn&lt;/a&gt; (Senior Technical Support Engineer for Workflows at Okta) if you have more than 3,500 records:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The table itself has a maximum of 100k rows. It is possible to return a list of all rows but that would take considerably more logic than the example provided. The search Rows card has the ability to set an offset. You could potentially make a Helper flow that search a table in a loop growing by the offset value you are using while combining lists until the search rows returns no results then stops the loop. The final combined table could then have the length used against it to get the total count.&lt;/p&gt;

&lt;p&gt;&lt;cite&gt;&lt;a href="https://support.okta.com/help/s/question/0D54z000082Z1ndCAC/workflows-function-to-return-the-number-of-rows-in-a-table?language=en_US" rel="noreferrer noopener"&gt;&lt;/a&gt;&lt;a href="https://support.okta.com/help/s/question/0D54z000082Z1ndCAC/workflows-function-to-return-the-number-of-rows-in-a-table?language=en_US"&gt;https://support.okta.com/help/s/question/0D54z000082Z1ndCAC/workflows-function-to-return-the-number-of-rows-in-a-table?language=en_US&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;Two resources to help you learn more&lt;/strong&gt;: &lt;/p&gt;

&lt;p&gt;🎥 Short how-to &lt;a href="https://youtube.com/playlist?list=PLIid085fSVdvyK8F4xuk49EchBPmAVNHG"&gt;Workflows videos&lt;/a&gt; to help you become a better automation builder.&lt;/p&gt;

&lt;p&gt;📘 Read our &lt;a href="https://maxkatz.net/okta-workflows-how-to-guides/"&gt;Workflows How-To Guides&lt;/a&gt; based on community member questions.&lt;/p&gt;

</description>
      <category>nocode</category>
      <category>workflows</category>
      <category>kandji</category>
      <category>automation</category>
    </item>
    <item>
      <title>How to Fix a 403 Forbidden Error When Using Search Systems Logs Card</title>
      <dc:creator>Max Katz</dc:creator>
      <pubDate>Mon, 12 Sep 2022 05:11:11 +0000</pubDate>
      <link>https://dev.to/oktaworkflows/how-to-fix-a-403-forbidden-error-when-using-search-systems-logs-card-2ln6</link>
      <guid>https://dev.to/oktaworkflows/how-to-fix-a-403-forbidden-error-when-using-search-systems-logs-card-2ln6</guid>
      <description>&lt;p&gt;&lt;a href="https://www.okta.com/platform/workflows/"&gt;Okta Workflows&lt;/a&gt; how-to guides are questions and answers from weekly community &lt;a href="https://calendly.com/oktaworkflows/group-office-hours-okta-workflows"&gt;office hours&lt;/a&gt;, MacAdmins &lt;a href="https://www.macadmins.org/"&gt;Workflows Slack channel&lt;/a&gt;, and other places. &lt;/p&gt;

&lt;p&gt;Read all the other how-to guides ⤵️&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/oktaworkflows" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n-07qOxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--pzg4kRI0--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/organization/profile_image/5077/0e81d3e2-a52d-4156-8eb9-7a3c8ea98674.png" alt="Okta Workflows" width="150" height="150"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kvrUX8k8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--JOmvljQH--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/914166/d8c45bd6-c142-4cad-b48d-fe1ada98b5cc.jpeg" alt="" width="150" height="150"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/oktaworkflows/all-okta-workflows-how-to-guides-4nl9" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;All Okta Workflows How-To Guides&lt;/h2&gt;
      &lt;h3&gt;Okta Workflows Staff for Okta Workflows ・ Aug 23 ・ 2 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#nocode&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#okta&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#workflows&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ipaas&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;On to the question. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;How to fix 403 Forbidden error when&lt;/em&gt; using Search Systems Logs card?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Okta – Search Systems Logs&lt;/strong&gt; card allows you to search the Okta log by a keyword (and also expression, set in &lt;strong&gt;Options&lt;/strong&gt; ):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/08/workflows_howto_search_logs.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--76qKr9Y0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/08/workflows_howto_search_logs.png%3Fw%3D407" alt="Search Systems Logs card" width="407" height="1023"&gt;&lt;/a&gt;&lt;/p&gt;
Search Systems Logs card



&lt;p&gt;When a run a flow with this card, you might get a &lt;strong&gt;403 Forbidden&lt;/strong&gt; error:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/08/workflows_howto_search_logs_error.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bA2PQ6Ym--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/08/workflows_howto_search_logs_error.png%3Fw%3D498" alt="403 Forbidden error with Search Systems Logs card" width="498" height="1024"&gt;&lt;/a&gt;&lt;/p&gt;
403 Forbidden error with Search Systems Logs card



&lt;p&gt;To fix this error you need to grand an additional scope to the Okta connection.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;From the &lt;strong&gt;Admin Console&lt;/strong&gt; , go to &lt;strong&gt;Applications &amp;gt; Applications&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click on &lt;strong&gt;Okta Workflows OAuth&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Open &lt;strong&gt;Okta API Scopes&lt;/strong&gt; tab&lt;/li&gt;
&lt;li&gt;Find &lt;strong&gt;okta.logs.read&lt;/strong&gt; scope and click &lt;strong&gt;Grant&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;For this scope to take affect, you need to reauthorize the connection being used&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/08/workflows_howto_search_logs_grant.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Qf75YlxD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/08/workflows_howto_search_logs_grant.png%3Fw%3D1024" alt="Granding a scope to a connection" width="880" height="302"&gt;&lt;/a&gt;&lt;/p&gt;
Granding a scope to a connection



&lt;p&gt;After you reauthorize, run the flow again. The card is now able to search the logs:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/08/workflows_howto_search_logs_success.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PIA8MEwx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/08/workflows_howto_search_logs_success.png%3Fw%3D624" alt="Search Systems Logs card" width="624" height="1023"&gt;&lt;/a&gt;&lt;/p&gt;
Search Systems Logs card



&lt;p&gt;🙏🏼 &lt;em&gt;Thanks to Bryan Barrows (&lt;a href="https://www.linkedin.com/in/bbarrows89/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://dev.to/bryanbarrows"&gt;blog&lt;/a&gt;) who helped with this question on &lt;a href="http://macadmins.org"&gt;MacAdmins&lt;/a&gt; Slack channel.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;More resources to help you learn&lt;/strong&gt; :&lt;/p&gt;

&lt;p&gt;📺 Short how-to &lt;a href="https://youtube.com/playlist?list=PLIid085fSVdvyK8F4xuk49EchBPmAVNHG"&gt;Workflows videos&lt;/a&gt; to help you become a better automation builder.&lt;/p&gt;

&lt;p&gt;🍭 A collection of helpful &lt;a href="https://maxkatz.net/okta-workflows-tips/"&gt;Workflows tips&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>nocode</category>
      <category>workflows</category>
      <category>okta</category>
      <category>automation</category>
    </item>
    <item>
      <title>Comparing a JavaScript for Loop With a Workflows for Each Card</title>
      <dc:creator>Max Katz</dc:creator>
      <pubDate>Mon, 12 Sep 2022 04:41:41 +0000</pubDate>
      <link>https://dev.to/oktaworkflows/comparing-a-javascript-for-loop-with-a-workflows-for-each-card-3el3</link>
      <guid>https://dev.to/oktaworkflows/comparing-a-javascript-for-loop-with-a-workflows-for-each-card-3el3</guid>
      <description>&lt;p&gt;This blog post compares a code-based (JavaScript) &lt;code&gt;for&lt;/code&gt; loop with a no-code Workflows &lt;strong&gt;For Each&lt;/strong&gt; card.&lt;/p&gt;

&lt;p&gt;I thought it would be a fun blog post to write.&lt;/p&gt;

&lt;p&gt;Thanks to &lt;a href="https://www.linkedin.com/in/bbarrows89/" rel="noopener noreferrer"&gt;Bryan Barrows&lt;/a&gt; for inspiring to write this blog. Bryan shared this image in our internal Slack to help a customer:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/08/workflows_js_loop.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkatzmax.files.wordpress.com%2F2022%2F08%2Fworkflows_js_loop.png%3Fw%3D803" alt="JavaScript for for-loop"&gt;&lt;/a&gt;&lt;/p&gt;
JavaScript for for-loop



&lt;p&gt;Ok, so let’s start with a code-based &lt;code&gt;for&lt;/code&gt; loop. The JavaScript code snippet below creates a list (array) of strings. Then a &lt;code&gt;for&lt;/code&gt; loop iterates over the list and upper cases each item in the list.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// create a list (array) of strings
var groceries = ['Bread', 'Cheese', 'Milk', 'Eggs', 'Apples', 'Butter'];

// loop over the list and upper case each string
for (i=0; i&amp;lt;groceries.length; i++){
  console.log(groceries[i].toUpperCase()); 
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output running this code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"BREAD"
"CHEESE"
"MILK"
"EGGS"
"APPLES"
"BUTTER"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can &lt;a href="https://jsbin.com/yikuxihulu/edit?js,console" rel="noopener noreferrer"&gt;view and run this code&lt;/a&gt; at JS Bin:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/08/workflows_jsbin_console.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkatzmax.files.wordpress.com%2F2022%2F08%2Fworkflows_jsbin_console.png%3Fw%3D1024" alt="http://jsbin.com"&gt;&lt;/a&gt;&lt;/p&gt;
http://jsbin.com



&lt;p&gt;Ok, now let’s look at the Workflows solution.&lt;/p&gt;

&lt;p&gt;This is the main flow. It creates a list with &lt;strong&gt;List – Construct&lt;/strong&gt; card. Then it passes the list to &lt;strong&gt;List – For Each&lt;/strong&gt; card (that’s the &lt;code&gt;for&lt;/code&gt; loop).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/08/workflows_js_code_main_flow.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkatzmax.files.wordpress.com%2F2022%2F08%2Fworkflows_js_code_main_flow.png%3Fw%3D910" alt="A list is passed to for each"&gt;&lt;/a&gt;&lt;/p&gt;
A list is passed to for each



&lt;p&gt;So the above flow is this code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// create a list (array) of strings
var groceries = ['Bread', 'Cheese', 'Milk', 'Eggs', 'Apples', 'Butter'];

// loop over the list and upper case each string
for (i=0; i&amp;lt;groceries.length; i++){

}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And this is helper flow. This flow does upper case to each item in the list:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/08/workflows_js_code_helper_flow.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkatzmax.files.wordpress.com%2F2022%2F08%2Fworkflows_js_code_helper_flow.png%3Fw%3D1024" alt="A helper flow that does to upper case for each list item"&gt;&lt;/a&gt;&lt;/p&gt;
A helper flow that does to upper case for each list item



&lt;p&gt;And this flow is this code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(groceries[i].toUpperCase()); 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When you run this flow the helper flow is called six times and the result is each text item is converted with to upper case:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/08/workflows_js_code_running.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkatzmax.files.wordpress.com%2F2022%2F08%2Fworkflows_js_code_running.png%3Fw%3D1024" alt="Running a flow"&gt;&lt;/a&gt;&lt;/p&gt;
Running a flow



&lt;p&gt;And this is how it looks all together:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/08/workflows_js_code_overview2.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkatzmax.files.wordpress.com%2F2022%2F08%2Fworkflows_js_code_overview2.png%3Fw%3D1024" alt="Code-based (JavaScript) and Workflows solutions"&gt;&lt;/a&gt;&lt;/p&gt;
Code-based (JavaScript) and Workflows solutions



&lt;p&gt;Hope this was a fun comparison and thanks again to &lt;a href="https://www.linkedin.com/in/bbarrows89/" rel="noopener noreferrer"&gt;Bryan&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs0.wp.com%2Fwp-content%2Fmu-plugins%2Fwpcom-smileys%2Ftwemoji%2F2%2F72x72%2F1f501.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fs0.wp.com%2Fwp-content%2Fmu-plugins%2Fwpcom-smileys%2Ftwemoji%2F2%2F72x72%2F1f501.png" alt="🔁"&gt;&lt;/a&gt; If you want to learn more about setting up a helper flow with for each card and streaming, read &lt;a href="https://dev.to/maxkatz/how-to-setup-a-workflows-helper-flow-with-for-each-and-streaming-cards-3ej0-temp-slug-5117598"&gt;How to Setup a Workflows Helper Flow (With For-Each and Streaming Cards)&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;More resources to help you learn&lt;/strong&gt; :&lt;/p&gt;

&lt;p&gt;📺 Short how-to &lt;a href="https://youtube.com/playlist?list=PLIid085fSVdvyK8F4xuk49EchBPmAVNHG" rel="noopener noreferrer"&gt;Workflows videos&lt;/a&gt; to help you become a better automation builder.&lt;/p&gt;

&lt;p&gt;🍭 A collection of helpful &lt;a href="https://maxkatz.net/okta-workflows-tips/" rel="noopener noreferrer"&gt;Workflows tips&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>nocode</category>
      <category>workflows</category>
      <category>javascript</category>
      <category>automation</category>
    </item>
    <item>
      <title>Workflows Tips #33: Helper Flow Tips, Helper Flow Multiple Inputs and Build Your First Flow Replay</title>
      <dc:creator>Max Katz</dc:creator>
      <pubDate>Tue, 06 Sep 2022 14:15:17 +0000</pubDate>
      <link>https://dev.to/oktaworkflows/workflows-tips-33-helper-flow-tips-helper-flow-multiple-inputs-and-build-your-first-flow-replay-3h33</link>
      <guid>https://dev.to/oktaworkflows/workflows-tips-33-helper-flow-tips-helper-flow-multiple-inputs-and-build-your-first-flow-replay-3h33</guid>
      <description>&lt;p&gt;Welcome to another Okta Workflows Tips post. Read all other tips ⤵️&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/oktaworkflows" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n-07qOxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--pzg4kRI0--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/organization/profile_image/5077/0e81d3e2-a52d-4156-8eb9-7a3c8ea98674.png" alt="Okta Workflows" width="150" height="150"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kvrUX8k8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--JOmvljQH--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/914166/d8c45bd6-c142-4cad-b48d-fe1ada98b5cc.jpeg" alt="" width="150" height="150"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/oktaworkflows/okta-workflows-tips-57bj" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;All Okta Workflows Tips&lt;/h2&gt;
      &lt;h3&gt;Okta Workflows Staff for Okta Workflows ・ Aug 23 ・ 3 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;In this post:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Working with helper flow tips&lt;/li&gt;
&lt;li&gt;Helper flow with multiple inputs&lt;/li&gt;
&lt;li&gt;Webinar recording: Build Your First Flow with Okta Workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Working with helper flow tips
&lt;/h2&gt;

&lt;p&gt;Last week I published &lt;a href="https://dev.to/maxkatz/how-to-setup-a-workflows-helper-flow-with-for-each-and-streaming-cards-3ej0-temp-slug-5117598"&gt;How to Setup a Workflows Helper Flow (With For-Each and Streaming Cards)&lt;/a&gt;. This guide shows how to setup a helper flow with &lt;strong&gt;For-Each&lt;/strong&gt; card and the streaming option.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/jacobdwaters/"&gt;Jacob Walters&lt;/a&gt; from &lt;a href="http://macadmins.org"&gt;MacAdmins&lt;/a&gt; Slack channel shared more tips for working with helper flows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use a consistent and easily understood naming convention&lt;/li&gt;
&lt;li&gt;If your workflows use multiple helper flows, be consistent with naming your variables across them&lt;/li&gt;
&lt;li&gt;Helper flows can call themselves (loops and recursion)! &lt;/li&gt;
&lt;li&gt;Cards like &lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/function-reference/List/list_reduce.htm"&gt;Reduce&lt;/a&gt;, &lt;a href="https://help.okta.com/wf/en-us/Content/Topics/Workflows/function-reference/List/list_filterby.htm"&gt;Filter&lt;/a&gt; are effectively helper flows with loops and a defined output- great for iterating through lists&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Helper flow with multiple inputs
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;This tip is ahaupt. ahaupt hangs out in the &lt;a href="https://www.macadmins.org/"&gt;MacAdmins&lt;/a&gt; #okta-workflows Slack community&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;As long as we are on the helper flow topic, here is a 15-second video on how to create a helper flow with multiple inputs and set inputs type:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/08/workflows_helperflow_multiple_inputs.gif"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N2o0u9EB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://katzmax.files.wordpress.com/2022/08/workflows_helperflow_multiple_inputs.gif" alt="Helper flow with multiple inputs" width="302" height="458"&gt;&lt;/a&gt;&lt;/p&gt;
Helper flow with multiple inputs



&lt;h2&gt;
  
  
  Webinar recording: Build Your First Flow with Okta Workflows
&lt;/h2&gt;

&lt;p&gt;In this &lt;a href="https://okta.zoom.us/webinar/register/WN_Y6bBAGzbSbqPItC0QRVsSw"&gt;monthly webinar&lt;/a&gt; for beginners you will learn how to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Authorize your Okta connector&lt;/li&gt;
&lt;li&gt;Build a flow from scratch&lt;/li&gt;
&lt;li&gt;Add a template to your Workflows environment&lt;/li&gt;
&lt;li&gt;Import and export a flow or a folder&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Watch the &lt;a href="https://youtu.be/ETObZ8Gmmhg"&gt;recording&lt;/a&gt; and &lt;a href="https://okta.zoom.us/webinar/register/WN_Y6bBAGzbSbqPItC0QRVsSw"&gt;register&lt;/a&gt; for the next session.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/ETObZ8Gmmhg"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Two resources to help you learn more&lt;/strong&gt;: &lt;/p&gt;

&lt;p&gt;🎥 vShort how-to &lt;a href="https://youtube.com/playlist?list=PLIid085fSVdvyK8F4xuk49EchBPmAVNHG"&gt;Workflows videos&lt;/a&gt; to help you become a better automation builder.&lt;/p&gt;

&lt;p&gt;📘 Read our &lt;a href="https://maxkatz.net/okta-workflows-how-to-guides/"&gt;Workflows How-To Guides&lt;/a&gt; based on community member questions.&lt;/p&gt;

</description>
      <category>nocode</category>
      <category>workflows</category>
      <category>video</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Workflows Tips #35: Duo Auth Connection, Helper Flows Online Meetup Recording, and a New Platform for Online Meetups</title>
      <dc:creator>Max Katz</dc:creator>
      <pubDate>Tue, 06 Sep 2022 05:30:33 +0000</pubDate>
      <link>https://dev.to/oktaworkflows/workflows-tips-35-duo-auth-connection-helper-flows-online-meetup-recording-and-a-new-platform-for-online-meetups-43e0</link>
      <guid>https://dev.to/oktaworkflows/workflows-tips-35-duo-auth-connection-helper-flows-online-meetup-recording-and-a-new-platform-for-online-meetups-43e0</guid>
      <description>&lt;p&gt;Welcome to another Okta Workflows Tips post. Read all other tips ⤵️&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/oktaworkflows" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n-07qOxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--pzg4kRI0--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/organization/profile_image/5077/0e81d3e2-a52d-4156-8eb9-7a3c8ea98674.png" alt="Okta Workflows" width="150" height="150"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kvrUX8k8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--JOmvljQH--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/914166/d8c45bd6-c142-4cad-b48d-fe1ada98b5cc.jpeg" alt="" width="150" height="150"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/oktaworkflows/okta-workflows-tips-57bj" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;All Okta Workflows Tips&lt;/h2&gt;
      &lt;h3&gt;Okta Workflows Staff for Okta Workflows ・ Aug 23 ・ 3 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
In this post:

&lt;ul&gt;
&lt;li&gt;Creating a Duo Auth connection in Workflows Connector Builder&lt;/li&gt;
&lt;li&gt;Creating helper flows online meetup recording&lt;/li&gt;
&lt;li&gt;New community platform for online meetups&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Creating a Duo Auth connection in Workflows Connector Builder
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;This tip is from &lt;a href="https://www.linkedin.com/in/davidminnema/"&gt;David Minnema&lt;/a&gt;. David is an IT Engineer II at Coalition Inc. He also hangs out at MacAdmins Slack #okta-workflows channel and &lt;a href="http://testing12.org"&gt;testing12.org&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;David published a guide on how to build a custom Due Auth connection in Workflows Connector Builder.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We are in the midst of implementing Duo within our org and want to use it just about everywhere, including Okta Workflows. We have been building Slack slash commands that do some serious changes (more posts on those later) and we thought prompting the user running the command with Duo would be another layer of security (after verifying they are in the appropriate Okta Groups to perform the action to begin with.)&lt;/p&gt;

&lt;p&gt;Here’s how we implemented Duo Auth in Connector builder.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Requirements&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Duo&lt;/li&gt;
&lt;li&gt;Okta Workflows&lt;/li&gt;
&lt;li&gt;Connector Builder Beta&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://dev.to/oktaworkflows/okta-workflows-duo-auth-2bnm"&gt;Continue reading&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Creating helper flows online meetup recording
&lt;/h2&gt;

&lt;p&gt;In case you missed our &lt;a href="https://www.crowdcast.io/e/oktaworkflows_learn-how-to-process-a-list-with-a-helper-flow"&gt;online meetup on how use helper flows&lt;/a&gt;. Watch the replay where you will learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to use a List For-Each card to process a list&lt;/li&gt;
&lt;li&gt;How to use the streaming option to process a list&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/86iHcd-tVQE"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  New community platform for online meetups
&lt;/h2&gt;

&lt;p&gt;We now use a new platform for online events called Crowdcast: &lt;a href="http://crowdcast.io/workflows"&gt;http://crowdcast.io/workflows&lt;/a&gt;. Here are a few reasons why we love Crowdcast:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A community-focused platform for online events&lt;/li&gt;
&lt;li&gt;A central page with all upcoming and past events&lt;/li&gt;
&lt;li&gt;Follow a channel to get notified when it goes live&lt;/li&gt;
&lt;li&gt;Event replay is available right after an event ends, at the same page&lt;/li&gt;
&lt;li&gt;Event chat is available before, during and after the event&lt;/li&gt;
&lt;li&gt;Runs in the browser (there is nothing to install)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, go to &lt;a href="http://crowdcast.io/oktaworkflows"&gt;http://crowdcast.io/oktaworkflows&lt;/a&gt; and click the green &lt;strong&gt;Follow&lt;/strong&gt; button to follow us!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://katzmax.files.wordpress.com/2022/09/workflows_crowdcast_main.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vL2kbZMy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://katzmax.files.wordpress.com/2022/09/workflows_crowdcast_main.png%3Fw%3D1024" alt="Okta Workflows channel on Crowdcast" width="880" height="488"&gt;&lt;/a&gt;&lt;/p&gt;
Okta Workflows channel on Crowdcast






&lt;p&gt;&lt;strong&gt;Two resources to help you learn more&lt;/strong&gt;: &lt;/p&gt;

&lt;p&gt;🎥 Short how-to &lt;a href="https://youtube.com/playlist?list=PLIid085fSVdvyK8F4xuk49EchBPmAVNHG"&gt;Workflows videos&lt;/a&gt; to help you become a better automation builder.&lt;/p&gt;

&lt;p&gt;📘 Read our &lt;a href="https://maxkatz.net/okta-workflows-how-to-guides/"&gt;Workflows How-To Guides&lt;/a&gt; based on community member questions.&lt;/p&gt;

</description>
      <category>nocode</category>
      <category>workflows</category>
      <category>webinar</category>
      <category>video</category>
    </item>
  </channel>
</rss>
