diff --git a/.gitbook/assets/Flowcharts for Rewst 100-Series Self-Paced Training (4).png b/.gitbook/assets/Flowcharts for Rewst 100-Series Self-Paced Training (4).png
new file mode 100644
index 00000000..e22a5080
Binary files /dev/null and b/.gitbook/assets/Flowcharts for Rewst 100-Series Self-Paced Training (4).png differ
diff --git a/.gitbook/assets/Rewst Workflow Design Worksheet.docx b/.gitbook/assets/Rewst Workflow Design Worksheet.docx
new file mode 100644
index 00000000..101ebe67
Binary files /dev/null and b/.gitbook/assets/Rewst Workflow Design Worksheet.docx differ
diff --git a/.gitbook/assets/Rewst Workflow Design Worksheet.pdf b/.gitbook/assets/Rewst Workflow Design Worksheet.pdf
new file mode 100644
index 00000000..86459a12
Binary files /dev/null and b/.gitbook/assets/Rewst Workflow Design Worksheet.pdf differ
diff --git a/.gitbook/assets/Rewst Workflow Design Worksheet.zip b/.gitbook/assets/Rewst Workflow Design Worksheet.zip
new file mode 100644
index 00000000..2d7d2b0e
Binary files /dev/null and b/.gitbook/assets/Rewst Workflow Design Worksheet.zip differ
diff --git a/SUMMARY.md b/SUMMARY.md
index 436cdafa..481e0bdd 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -17,21 +17,53 @@
* [Hello World](cluck-university/getting-started/hello-world.md)
* [Workflow Building Tips & Tricks](cluck-university/getting-started/workflow-building-tips-and-tricks.md)
* [Fast Track Onboarding](cluck-university/getting-started/fast-track-your-onboarding.md)
-* [Rewst Foundations (100 Series)](cluck-university/rewst-foundations-10x/README.md)
- * [101 - Laying the Foundations of Automations](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations.md)
- * [DRAFT TEMPLATE - 101 - Laying the Foundations of Automations](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1.md)
- * [102 - Building a Basic Workflow](cluck-university/rewst-foundations-10x/102-building-a-basic-workflow.md)
- * [103 - Jinja Essentials for Workflow Automation](cluck-university/rewst-foundations-10x/103-jinja-essentials-for-workflow-automation.md)
- * [104 - Options Generators & Generic API Requests](cluck-university/rewst-foundations-10x/104-options-generators-and-generic-api-requests.md)
- * [105 - Improve Group Management to Support Exchange](cluck-university/rewst-foundations-10x/105-improve-group-management-to-support-exchange.md)
- * [106 - Sub-Workflows and With Items](cluck-university/rewst-foundations-10x/106-subworkflows-and-with-items.md)
+* [Rewst Foundations](cluck-university/rewst-foundations-10x/README.md)
+ * [Lesson 1: Laying the Foundations of Automation](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/README.md)
+ * [Introduction to Automation and Scoping](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/101-laying-the-foundations-of-automations.md)
+ * [3 Key Principles for Every Automation](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/101-laying-the-foundations-of-automations-1.md)
+ * [Automating a Business Process](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/101-laying-the-foundations-of-automations-2.md)
+ * [Lesson 2: Building a Basic Form and Workflow](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/README.md)
+ * [From Workflow Sketch to Rewst Prototype](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations.md)
+ * [Building the "Add or Remove User - Microsoft Group" Form](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-1.md)
+ * [Creating the "Add or Remove User - Microsoft Group" Workflow](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-2.md)
+ * [Adding Actions to the "Add or Remove User - Microsoft Group" Workflow](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-3.md)
+ * [Testing the "Add or Remove User - Microsoft Group" Form](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-4.md)
+ * [Lesson 3: Jinja Essentials for Workflow Automation](cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/README.md)
+ * [Introduction to Jinja, JSON, and The Context](cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/introduction-to-jinja-json-and-the-context.md)
+ * [Basic Jinja Syntax and Filters](cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/basic-jinja-syntax-and-filters.md)
+ * [Jinja List Comprehension](cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/jinja-list-comprehension.md)
+ * [Jinja List Comprehension Examples ("Them Apples")](cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/jinja-list-comprehension-examples-them-apples.md)
+ * [Using Jinja in Rewst Workflows](cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/using-jinja-in-rewst-workflows.md)
+ * [Lesson 4: Creating an Option Generator Workflow](cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/README.md)
+ * [Introduction to Option Generators](cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/introduction-to-option-generators.md)
+ * [How to Create, Configure, and Trigger an Option Generator Workflow](cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/how-to-create-configure-and-trigger-an-option-generator-workflow.md)
+ * [Using Jinja in Data Aliases and Creating an API Request Action](cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/using-jinja-in-data-aliases-and-creating-an-api-request-action.md)
+ * [Connecting an Option Generator Workflow to a Rewst Form](cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/connecting-an-option-generator-workflow-to-a-rewst-form.md)
+ * [Lesson 5: Managing Workflow Paths](cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/README.md)
+ * [Introduction to Workflow Logic (Microsoft APIs)](cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/introduction-to-workflow-logic-microsoft-apis.md)
+ * [Getting Object Properties for Microsoft Groups](cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/getting-object-properties-for-microsoft-groups.md)
+ * [Creating a Microsoft Exchange Online Path in the Workflow](cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/creating-a-microsoft-exchange-online-path-in-the-workflow.md)
+ * [Lesson 6: Implementing Error-Handling in Rewst Workflows](cluck-university/rewst-foundations-10x/lesson-6-implementing-error-handling-in-rewst-workflows/README.md)
+ * [Adding Error Handling to Workflow Actions](cluck-university/rewst-foundations-10x/lesson-6-implementing-error-handling-in-rewst-workflows/adding-error-handling-to-workflow-actions.md)
+ * [Implementing Error Handling with Feedback Messages](cluck-university/rewst-foundations-10x/lesson-6-implementing-error-handling-in-rewst-workflows/implementing-error-handling-with-feedback-messages.md)
+ * [Lesson 7: Optimizing Workflow Design](cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/README.md)
+ * [Using a Sub Workflow to Update Multiple Groups](cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/using-a-sub-workflow-to-update-multiple-groups.md)
+ * [Updating the Add or Remove User Form](cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/updating-the-add-or-remove-user-form.md)
+ * [Creating a New Parent Workflow](cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/creating-a-new-parent-workflow.md)
+ * [Sub Workflow and With Items Overview](cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/sub-workflow-and-with-items-overview.md)
+ * [Adding Other Parent Workflow Actions](cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/adding-other-parent-workflow-actions.md)
+ * [Testing the Final Workflow](cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/testing-the-final-workflow.md)
+ * [\[Lesson Template\] Lesson Title](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/README.md)
+ * [\[First Module\] Title Goes Here](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/101-laying-the-foundations-of-automations.md)
+ * [\[Middle Modules\] Title Goes Here](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/101-laying-the-foundations-of-automations-1.md)
+ * [\[Last Module\] Title Goes Here](cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/101-laying-the-foundations-of-automations-2.md)
* [Foundations Certification](cluck-university/rewst-foundations-10x/foundations-certification.md)
-* [Clean Automation (200 Series)](cluck-university/clean-automation-200-series/README.md)
- * [201: Advanced Automation Concepts](cluck-university/clean-automation-200-series/201-advanced-automation-concepts.md)
- * [202: Data Types and Jinja](cluck-university/clean-automation-200-series/202-data-types-and-jinja.md)
- * [203: Boolean Logic & Comparisons](cluck-university/clean-automation-200-series/203-boolean-logic-and-comparisons.md)
- * [204: Modular Automation Through Abstraction](cluck-university/clean-automation-200-series/204-modular-automation-through-abstraction.md)
- * [205: Avoiding Automation Anti-Patterns](cluck-university/clean-automation-200-series/205-avoiding-automation-anti-patterns.md)
+* [Clean Automation](cluck-university/clean-automation-200-series/README.md)
+ * [Advanced Automation Concepts](cluck-university/clean-automation-200-series/201-advanced-automation-concepts.md)
+ * [Data Types and Jinja](cluck-university/clean-automation-200-series/202-data-types-and-jinja.md)
+ * [Boolean Logic & Comparisons](cluck-university/clean-automation-200-series/203-boolean-logic-and-comparisons.md)
+ * [Modular Automation Through Abstraction](cluck-university/clean-automation-200-series/204-modular-automation-through-abstraction.md)
+ * [Avoiding Automation Anti-Patterns](cluck-university/clean-automation-200-series/205-avoiding-automation-anti-patterns.md)
* [Clean Automation Certification](cluck-university/clean-automation-200-series/foundations-certification.md)
* [Electives](cluck-university/electives/README.md)
* [Extending the Power of Rewst Workflows](cluck-university/electives/extending-the-power-of-rewst-workflows/README.md)
diff --git a/cluck-university/clean-automation-200-series/201-advanced-automation-concepts.md b/cluck-university/clean-automation-200-series/201-advanced-automation-concepts.md
index 65ec466b..00f06f2c 100644
--- a/cluck-university/clean-automation-200-series/201-advanced-automation-concepts.md
+++ b/cluck-university/clean-automation-200-series/201-advanced-automation-concepts.md
@@ -4,7 +4,7 @@ description: >-
clean automation principles and defensive strategies.
---
-# 201: Advanced Automation Concepts
+# Advanced Automation Concepts
{% hint style="success" %}
Sign up for our **LIVE** sessions **Monday's @ 3pm Eastern** on [Calendly](https://calendly.com/cluck-u/rewst-201).
@@ -12,7 +12,7 @@ Sign up for our **LIVE** sessions **Monday's @ 3pm Eastern** on [Calendly](https
## **Course Overview**
-Rewst 201 offers a deep dive into the nuanced aspects of advanced automation. The course is designed to provide insights into critical concepts that are essential for creating sophisticated and efficient automated workflows in Rewst.
+Advanced Automation Concepts offers a deep dive into the nuanced aspects of advanced automation. The course is designed to provide insights into critical concepts that are essential for creating sophisticated and efficient automated workflows in Rewst.
When you've completed this training, [don't forget to get credit!](https://app.rewst.io/form/0191479a-7e3a-7552-b639-02245aab8ef5)
@@ -27,3 +27,6 @@ When you've completed this training, [don't forget to get credit!](https://app.r
3. **Defensive Automation Strategies**: This part of the course focuses on building automations that proactively anticipate and handle errors or unexpected scenarios, ensuring higher uptime and reliability of automated processes.
4. **Security in Automation**: Addressing the importance of secure automation, the course covers how to protect automations from security threats and unauthorized access, ensuring the safety and integrity of automated workflows.
5. **Applying Pseudocode for Clear Planning**: The course illustrates how pseudocode can be used as a planning tool to transition ideas into tangible automation steps, aiding in the clear and effective development of complex automations.
+
+
+
diff --git a/cluck-university/clean-automation-200-series/202-data-types-and-jinja.md b/cluck-university/clean-automation-200-series/202-data-types-and-jinja.md
index 946818df..bd46384f 100644
--- a/cluck-university/clean-automation-200-series/202-data-types-and-jinja.md
+++ b/cluck-university/clean-automation-200-series/202-data-types-and-jinja.md
@@ -4,7 +4,7 @@ description: >-
manipulation and content rendering techniques.
---
-# 202: Data Types and Jinja
+# Data Types and Jinja
{% hint style="info" %}
Sign up for our **LIVE** sessions **Tuesday's @ 3pm** **Eastern** on [Calendly](https://calendly.com/cluck-u/rewst-202).
@@ -12,7 +12,7 @@ Sign up for our **LIVE** sessions **Tuesday's @ 3pm** **Eastern** on [Calendly](
## **Course Overview**
-Rewst 202 delves into the complexities of data types and the use of Jinja in Rewst. This course builds upon the foundational knowledge from the 103 course, focusing on the efficient handling and manipulation of various data forms. It's designed to enhance your skillset in managing and utilizing data within Rewst's automated workflows.
+Data Types and Jinja delves into the complexities of data types and the use of Jinja in Rewst. This course builds upon the foundational knowledge from the [Jinja Essentials for Workflow Automation Lesson](../rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/), focusing on the efficient handling and manipulation of various data forms. It's designed to enhance your skillset in managing and utilizing data within Rewst's automated workflows.
When you've completed this training, [don't forget to get credit!](https://app.rewst.io/form/0191482f-da4a-7c04-b6e6-699905e4a613)
@@ -25,3 +25,7 @@ When you've completed this training, [don't forget to get credit!](https://app.r
* **Understanding Data Types in Rewst**: Gain a comprehensive understanding of basic and advanced data structures, essential for effective data storage and manipulation.
* **Dynamic Content Rendering with Jinja**: Learn techniques to create dynamic content and perform mathematical operations, enhancing workflow functionality.
* **Complex Data Structure Handling**: Develop skills in creating, accessing, and manipulating lists and dictionaries, using Jinja to manage complex data structures effectively.
+
+
+
+
diff --git a/cluck-university/clean-automation-200-series/203-boolean-logic-and-comparisons.md b/cluck-university/clean-automation-200-series/203-boolean-logic-and-comparisons.md
index b7094c14..c7ff51ea 100644
--- a/cluck-university/clean-automation-200-series/203-boolean-logic-and-comparisons.md
+++ b/cluck-university/clean-automation-200-series/203-boolean-logic-and-comparisons.md
@@ -5,7 +5,7 @@ description: >-
projects.
---
-# 203: Boolean Logic & Comparisons
+# Boolean Logic & Comparisons
{% hint style="info" %}
Sign up for our **LIVE** sessions **Wednesdays @ 3pm** **Eastern** on [Calendly](https://calendly.com/cluck-u/rewst-203).
@@ -13,7 +13,7 @@ Sign up for our **LIVE** sessions **Wednesdays @ 3pm** **Eastern** on [Calendly]
## **Course Overview**
-Rewst 203 dives into the fundamentals and applications of Boolean Logic within the context of Jinja and workflow automation in Rewst. This course provides a deep understanding of how Boolean expressions dictate the logical flow in code execution and task management, emphasizing their role in decision-making processes in automated workflows.
+Boolean Logic & Comparisons dives into the fundamentals and applications of Boolean Logic within the context of Jinja and workflow automation in Rewst. This course provides a deep understanding of how Boolean expressions dictate the logical flow in code execution and task management, emphasizing their role in decision-making processes in automated workflows.
When you've completed this training, [don't forget to get credit!](https://app.rewst.io/form/01914838-f969-7018-9072-9f1ab3e5ece6)
@@ -57,3 +57,5 @@ Here are some important keyboard shortcuts you can use throughout
+
+
diff --git a/cluck-university/clean-automation-200-series/204-modular-automation-through-abstraction.md b/cluck-university/clean-automation-200-series/204-modular-automation-through-abstraction.md
index a8b2e59b..d698621e 100644
--- a/cluck-university/clean-automation-200-series/204-modular-automation-through-abstraction.md
+++ b/cluck-university/clean-automation-200-series/204-modular-automation-through-abstraction.md
@@ -5,7 +5,7 @@ description: >-
workflows
---
-# 204: Modular Automation Through Abstraction
+# Modular Automation Through Abstraction
{% hint style="info" %}
Sign up for our **LIVE** sessions **Thursday @ 12:30pm** **Eastern** on [Calendly](https://calendly.com/cluck-u/rewst-204)
@@ -13,7 +13,7 @@ Sign up for our **LIVE** sessions **Thursday @ 12:30pm** **Eastern** on [Calendl
## **Course Overview**
-Rewst 204 focuses on enhancing automation through the principles of abstraction and modularity. This course aims to instill a developer-like mindset, facilitating the creation of more streamlined and efficient automated workflows. It covers key concepts in breaking down complex tasks into manageable components.
+Modular Automation Through Abstraction focuses on enhancing automation through the principles of abstraction and modularity. This course aims to instill a developer-like mindset, facilitating the creation of more streamlined and efficient automated workflows. It covers key concepts in breaking down complex tasks into manageable components.
When you've completed this training, [don't forget to get credit!](https://app.rewst.io/form/01914838-dbdb-7d72-ba21-1070334b2811)
@@ -27,3 +27,6 @@ When you've completed this training, [don't forget to get credit!](https://app.r
* **Principles of Abstraction and Modularity**: Learn to simplify complex tasks and create reusable workflow components.
* **DRY and KISS in Automation**: Embrace the principles of not repeating yourself and keeping automations simple and straightforward.
* **Designing User-Friendly Workflows**: Focus on creating workflows that are easy to configure, flexible, and adaptable to different use cases.
+
+
+
diff --git a/cluck-university/clean-automation-200-series/205-avoiding-automation-anti-patterns.md b/cluck-university/clean-automation-200-series/205-avoiding-automation-anti-patterns.md
index d54d1446..0304d946 100644
--- a/cluck-university/clean-automation-200-series/205-avoiding-automation-anti-patterns.md
+++ b/cluck-university/clean-automation-200-series/205-avoiding-automation-anti-patterns.md
@@ -1,4 +1,4 @@
-# 205: Avoiding Automation Anti-Patterns
+# Avoiding Automation Anti-Patterns
{% hint style="info" %}
Sign up for our **LIVE** sessions **Thursday @ 2:00pm** **Eastern** on [Calendly](https://calendly.com/cluck-u/rewst-205)
@@ -6,7 +6,7 @@ Sign up for our **LIVE** sessions **Thursday @ 2:00pm** **Eastern** on [Calendly
## **Course Overview**
-Rewst 205 addresses the critical need to identify and avoid automation anti-patterns. This course is tailored to provide insights on common pitfalls and anti-patterns that reduce workflow effiency. This course also highlights the design patterns and practices used to maximize workflow value.
+Avoiding Automation Anti-Patterns addresses the critical need to identify and avoid automation anti-patterns. This course is tailored to provide insights on common pitfalls and anti-patterns that reduce workflow effiency. This course also highlights the design patterns and practices used to maximize workflow value.
When you've completed this training [don't forget to get credit!](https://app.rewst.io/form/0191484b-e07a-7c2d-b0e0-c7069adfc72e)
@@ -18,3 +18,6 @@ When you've completed this training [don't forget to get credit!](https://app.re
* **Understanding and Avoiding Anti-Patterns**: Recognize and prevent common automation mistakes that lead to inefficiencies.
* **Mitigating Anti-Pattern through Design Patterns**: Develop strategies for designing automations that anticipate and manage errors effectively.
+
+
+
diff --git a/cluck-university/clean-automation-200-series/README.md b/cluck-university/clean-automation-200-series/README.md
index 0f3653da..8a80d038 100644
--- a/cluck-university/clean-automation-200-series/README.md
+++ b/cluck-university/clean-automation-200-series/README.md
@@ -1,19 +1,19 @@
---
description: >-
- Explore advanced automation concepts in the 200 series at Cluck University.
- Dive into data handling, abstraction principles, and defensive strategies for
- robust automations.
+ Explore advanced automation concepts in the Clean Automation series at Cluck
+ University. Dive into data handling, abstraction principles, and defensive
+ strategies for robust automations.
---
-# Clean Automation (200 Series)
+# Clean Automation
## Series Overview
-The 200 series courses at Cluck University, designed to follow the foundational 100 series, delve deeper into advanced concepts of workflow automation in Rewst, ensuring you have the practices to build cleanly and efficiently.
+The Clean Automation series courses at Cluck University, designed to follow the Rewst Foundations series, delve deeper into advanced concepts of workflow automation in Rewst, ensuring you have the practices to build cleanly and efficiently.
## **Target Audience**
-This course is designed for individuals who have completed the 100 Series courses, which provided a foundational understanding of automation in Rewst and are looking to expand their skills to create more advanced, efficient, and secure automated solutions. It is ideal for MSPs and other Rewst users who aim to leverage automation for complex tasks and processes.
+This course is designed for individuals who have completed the Rewst Foundations series courses, which provided a foundational understanding of automation in Rewst and are looking to expand their skills to create more advanced, efficient, and secure automated solutions. It is ideal for MSPs and other Rewst users who aim to leverage automation for complex tasks and processes.
## Learning Objectives
@@ -24,6 +24,6 @@ This course is designed for individuals who have completed the 100 Series course
## **Included Courses**
-
+
###
diff --git a/cluck-university/electives/how-to-reference-data-with-variables.md b/cluck-university/electives/how-to-reference-data-with-variables.md
index c63f94d4..ba0c01d7 100644
--- a/cluck-university/electives/how-to-reference-data-with-variables.md
+++ b/cluck-university/electives/how-to-reference-data-with-variables.md
@@ -31,4 +31,4 @@ Unlock the full potential of your Rewst automation by mastering the intricacies
## Conclusion and Exploration
-Explore further in our [Rewst 100 series](../rewst-foundations-10x/), specifically [Rewst 103](../rewst-foundations-10x/103-jinja-essentials-for-workflow-automation.md), to become a proficient Jinja Ninja. Join the [Cluck U Discord Channel ](https://discord.com/channels/936789089703845988/1121465945295167588)for additional support and stay tuned for more Electives! Like, comment, and subscribe to the Rewst YouTube Channel for continuous updates, and let's elevate your Rewst automation skills together!
+Explore further in our [rewst-foundations-10x](../rewst-foundations-10x/ "mention"), specifically [lesson-3-jinja-essentials-for-workflow-automation](../rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/ "mention"), to become a proficient Jinja Ninja. Join the [Cluck U Discord Channel ](https://discord.com/channels/936789089703845988/1121465945295167588)for additional support and stay tuned for more Electives! Like, comment, and subscribe to the Rewst YouTube Channel for continuous updates, and let's elevate your Rewst automation skills together!
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1.md
deleted file mode 100644
index 715df247..00000000
--- a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-description: No fluff, just the good stuff. Your path to automation journey begins here.
-hidden: true
----
-
-# DRAFT TEMPLATE - 101 - Laying the Foundations of Automations
-
-## **Introduction**
-
-This isn't just our foundational course. It's your shortcut to becoming the Stewart of your organization – handling the redundant yet crucial, with a knack for success. This journey into automation is more than learning—it's a transformation.
-
-This course and the rest of the Foundations series is perfect for:
-
-* Aspiring automation wizards in business.
-* IT enthusiasts ready to up their game.
-* Project managers eyeing smarter workflows.
-* Anyone who's ever thought, "There's got to be a better way."
-
-When you've completed this training, [don't forget to get credit!](https://app.rewst.io/form/8ac04607-a1c4-45ea-b203-448b2f1b64e0)
-
-## Watch the video and follow along with the steps below
-
-{% embed url="https://youtu.be/6uyTSRGb8d0" %}
-
-## Get Credit
-
-{% hint style="success" %}
-To get credit for completing this session offline, please [submit this form](https://app.rewst.io/form/8ac04607-a1c4-45ea-b203-448b2f1b64e0).
-{% endhint %}
-
-## **Follow Along**
-
-Here's what's in store:
-
-* **Automation Maturity**: Understand your starting point. From zero automation to full autonomy, know where you stand.
-* **Why Automate?**: Time saved, errors axed, decisions improved. It's not just doing more; it's enhancing how you work.
-* **Principles to Live By**: Can't automate what's not there. We start with the real and build from there.
-* **Choose Wisely**: Pick tasks that scream for automation. Time, volume, errors, compliance - we cover it all.
-* **Best Practices, Minus the Blunders**: Learn the ropes without getting tied up. We're talking clear, effective strategies, minus the common missteps.
-
-## What Did You Learn?
-
-Take a quick quiz and get instant feedback!
-
-{% embed url="https://www.surveymonkey.com/r/QWDXKGB" %}
-Knowledge Check
-{% endembed %}
-
-## Additional Resources
-
-{% hint style="info" %}
-Check out these other introductory lessons on demand:
-
-* [Rewst Platform Overview](../getting-started/rewst-platform-overview.md)
-* [Demystifying Process Automation](../getting-started/dymistifying-process-automation.md)
-* [Identifying What to Automate](../getting-started/identifying-what-to-automate.md)
-{% endhint %}
-
-## Keep On Cluckin'
-
-
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-1.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-1.md
new file mode 100644
index 00000000..5f923333
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-1.md
@@ -0,0 +1,82 @@
+---
+description: Create a form that contains the required input to automate a process
+---
+
+# Building the "Add or Remove User - Microsoft Group" Form
+
+## Module Overview
+
+:bulb: Every Rewst workflow begins with a "trigger." Here, our trigger will be a Rewst form. The form will include fields for selecting a user, a group, and an action (add or remove).
+
+### Video (_5:22 Minutes)_
+
+{% embed url="https://youtu.be/dHzdH0iLddY" %}
+
+Log into Rewst and complete the following steps.
+
+
+
+Step 1: Access the Form Builder
+
+1. **Go to** _Automations -> Forms_.
+2. **Click** the "+" icon to create a new form.
+3. **Name it** "Add or Remove User - Microsoft Group Form"
+
+
+
+:star: Feel free to personalize the title with your name and/or "training demo".
+
+
+
+Step 2: Create the User Selection Field
+
+1. **Use** the "Dropdown" field type for selecting a user from a list.
+2. **Set** "user\_id" as the Field Name (this is important for later workflow steps).
+3. **Label** the field "User" and provide a clear description like "Select a user."
+4. **Make** the field required and enable _Dynamic Options_ to pull data from Microsoft Graph, selecting _Microsoft Graph_ as the integration and _Users_ as the Resource.
+
+
+
+:star: Title case matters! Ensure the **Field Name** is lowercase, one word (or if using multiple words, joined with an underscore as per this example).
+
+
+
+Step 3: Create the Group Selection Field
+
+1. **Add** another "Dropdown" field for selecting a group.
+2. **Set** "group\_id" as the _Field Name_.
+3. **Label** the field "Group" and describe it as "Select a group."
+4. **Make it** a required field, enable "Dynamic Options," and select "Microsoft Graph" as the integration with "Groups" as the _Resource_.
+
+
+
+
+
+Step 4: Create the Action Selection Field
+
+1. **Use** _Radio Buttons_ for the action selection field.
+2. **Set** "action" as the _Field Name_ and label it "Action" with the description "Select one."
+3. **Define** the options: "Add to Group" with a value of "add" and "Remove from Group" with a value of "remove." Title case is important! Ensure all "values" are lowercase, one word.
+4. **Ensure** the field is required and save your work.
+
+
+
+
+
+Step 5: Save and Preview
+
+1. **Save** your form by clicking the _disk icon_ and selecting "submit."
+2. **Preview** the form by clicking the _eye icon_ to see how it looks.
+
+
+
+:star: Remember: Making mistakes is part of the learning process! If you make an error while building your form, you can always go back and edit or delete fields.
+
+### Action Items
+
+* Create your form in Rewst following the steps outlined above, ensuring you include fields for user selection, group selection, and action selection.
+* Make sure to set up your Microsoft Graph integration if you haven’t already, as it's required for the dynamic options in the form fields (and you'll see those after creating the workflow).
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-2.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-2.md
new file mode 100644
index 00000000..befe7c24
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-2.md
@@ -0,0 +1,78 @@
+---
+description: >-
+ Create part of a workflow to test + Configure the workflow settings and
+ trigger to use information from the form
+---
+
+# Creating the "Add or Remove User - Microsoft Group" Workflow
+
+## Module Overview
+
+:bulb: Now that you’ve decided to trigger a workflow using a form and have built that form, it’s time to create the workflow. This is where the automation takes shape.
+
+### Video (_4:57 Minutes)_
+
+{% embed url="https://youtu.be/hT0EREu7bGM" %}
+
+This workflow will be tailored to work with the "Add or Remove User - Microsoft Group" form. It’s useful to keep that form open in a nearby browser tab while you work through the next few steps.
+
+
+
+Step 1: Access the Workflow Builder
+
+1. Within _Automations_, **navigate** to _Workflows_ and **select** the "Create" button.
+2. **Title** the workflow "Add or Remove User - Microsoft Group."
+
+
+
+:star: You can add your name or other details to the title. Creating tags like "Work in Progress" or "Training Demo" can help you organize and remember the purpose of each workflow.
+
+#### **Configure Workflow Settings**
+
+
+
+Step 2: Configure Workflow Settings
+
+1. **Click** the _pencil icon_ to access the workflow configuration settings.
+2. **Keep** the Workflow Type as "Standard."
+3. **Add** your estimated time saved (e.g., 300 seconds or 5 minutes, an estimate of how long this process would take you to do manually).
+4. For input variables, **add** three input configurations using the "+" icon: action, user\_id, and group\_id. Mark each as "required." This will enable autocomplete in the Jinja editor, helping to avoid typos and save time.
+5. **Submit** your settings to save the configuration.
+
+
+
+:star: You can review the workflow configuration any time by selecting the pencil icon again to "open" and "close" this area.
+
+
+
+Step 3: Add the Workflow Trigger
+
+1. **Select** the _lightning bolt_ icon to create a new trigger.
+2. **Name** the trigger (e.g., "form trigger") and toggle it to "enabled" so it’s active immediately.
+3. **Search** for "form," then select "Core - Form Submission" as the trigger type.
+4. In the Trigger Parameters section, **select** the form you just created. If needed, you can **search** for it by title.
+5. For the integration override, **select** your _Microsoft Graph API integration_ to ensure data comes from your own instance.
+6. To keep it simple, **enable** the workflow only for your current organization.
+7. **Submit** to save the trigger.
+
+
+
+:star: You can review the trigger details later by selecting the cog icon next to the trigger name, to open and close the trigger editor.)
+
+
+
+Step 4: Publishing and Version Control
+
+After completing a significant piece of work (like adding a trigger or actions), **hit** "Publish." This allows you to name your progress, which can be helpful if you need to revert to an earlier version.
+
+
+
+:star: Regularly publishing and naming your workflow versions will help you retrace your steps if you ever need to revert to an earlier iteration.
+
+### Action Items
+
+Create your workflow using the steps outlined above, ensuring you configure the input variables (in workflow configuration settings) and trigger (to connect to the form you've built).
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-3.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-3.md
new file mode 100644
index 00000000..29ea2e0a
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-3.md
@@ -0,0 +1,83 @@
+---
+description: Create part of a workflow to test, starting with just a few actions.
+---
+
+# Adding Actions to the "Add or Remove User - Microsoft Group" Workflow
+
+## Module Overview
+
+:bulb: You'll notice that a workflow looks kind of like a flowchart -- that's why you began with a simple sketch. It's time to translate the process from paper to Rewst workflow!
+
+### Video (5_:46 Minutes)_
+
+{% embed url="https://youtu.be/lvGk9KIxWec?si=7ttLX9UqAZ0e5a-E" %}
+
+#### Steps to Add Actions to the Workflow
+
+**Open** the "Add or Remove User - Microsoft Group" workflow, which (up to this point) only has the workflow configuration settings and trigger set up. Complete the following steps to add your workflow actions.
+
+
+
+Step 1: Add the First Action – a "Noop" Decision Point
+
+1. **Search** for and add a "noop" action to your workflow.
+2. **Rename** the action to "add\_or\_remove."
+3. **Configure** this action as a decision point by adding two custom condition transitions:
+
+For the first transition, **label** it "Add to Group," select _custom condition_, and enter `{{ CTX.action == "add" }}` in the Jinja editor. Notice that if you open the editor (by selecting the "Jinja burger" icon to access a pop-up window), typing "CTX." will show you the three input variables that you added to the workflow configuration settings, and you can select "action" rather than typing it manually.
+
+For the second transition, **label** it "Remove from Group," select _custom condition_, and enter `{{ CTX.action == "remove" }}` in the Jinja editor.
+
+
+
+:star: A **noop** action is often used as a placeholder or decision point. Feel free to make this action a "favorite" by selecting the star icon. You can access favorite actions by right-clicking anywhere on the workflow canvas.
+
+
+
+Step 2: Add the Action to Add a Group Member
+
+1. **Search** for "Graph Add."
+2. **Drag and drop** the "Add Group Member" Microsoft Graph action into the workflow canvas, connecting it to the Add transition from the "add\_or\_remove" action by clicking the dot (at the bottom of the transition box) and holding down to "draw" an arrow to the action.
+3. **Select** the action and **enter** the required parameters in the Jinja editor:
+
+For Group, **enter** `{{ CTX.group_id }}`.
+
+For User, **enter** `{{ CTX.user_id }}`.
+
+
+
+:star: This setup (Jinja code in the Microsoft Graph action) allows the action to work with any group and user ID from the submitted form.
+
+
+
+Step 3: Add the Action to Remove a Group Member
+
+1. **Search** for "Graph Remove."
+2. **Drag and drop** the "Remove Group Member" action below the "Remove" transition, connecting the two.
+3. **Repeat** the steps to add the same code for the action parameters as you did for the "Add Group Member" action.
+
+
+
+
+
+Step 4: Edit Action Names (Optional but Recommended)
+
+To make the workflow clearer, consider **editing** the names of the actions to remove the "Microsoft\_Graph\_" prefix. Shorter action names are easier to view/read on the workflow canvas.
+
+
+
+
+
+Step 5: Publish the Workflow
+
+Remember, while Rewst auto-saves your work, it’s a good habit to **publish** after significant updates. This not only saves your progress but also allows you to add comments that can be useful if you ever need to revert to a previous version through the "Workflow History" icon.
+
+
+
+### Action Items
+
+Add the actions to your workflow as outlined above, ensuring that you configure each action correctly and connect them to the appropriate transitions.
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-4.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-4.md
new file mode 100644
index 00000000..f1b9f77c
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-4.md
@@ -0,0 +1,67 @@
+---
+description: Test a workflow and view the results.
+---
+
+# Testing the "Add or Remove User - Microsoft Group" Form
+
+## Module Overview
+
+:bulb: Now that you've built your form and workflow, it's time to test the prototype by submitting the form and checking the workflow execution results. This step ensures that the workflow triggers correctly and performs the intended actions.
+
+### Video (3_:20 Minutes)_
+
+{% embed url="https://youtu.be/elucwgeq7Ww?si=iUjQglqjJCp-b_BY" %}
+
+#### Steps to Test the Workflow
+
+Log into Rewst and open the "Add or Remove User - Microsoft Group" workflow.
+
+
+
+Step 1: Access the Form for Testing
+
+One way to access your form is by **selecting** the "cog" icon in the workflow trigger settings. From there, **select** "View Direct URLs" and open the link to the form.
+
+
+
+
+
+Step 2: Submit the Form
+
+Note: Test something you're comfortable doing!
+
+For example, try adding (or removing) yourself to (or from) a group. This way, if the automation works, you can repeat the test to change your group membership back to what it needs to be.
+
+1. **Select** a user.
+2. **Select** a group.
+3. **Select** the action.
+4. **Submit** the form to trigger the workflow.
+
+
+
+
+
+Step 3: Check the Workflow Execution Results
+
+After submitting the form, switch to the workflow tab.
+
+1. **Select** the "graph" icon at the top to view the workflow results.
+2. Each workflow execution will show a status (succeeded or failed), the number of successful tasks, a timestamp, and more details.
+3. **Investigate** the workflow status; **select** the status to access more details.
+
+If the workflow failed: **Click** into the failed status to find the action where it failed. **Review** the error data to understand what went wrong. Common issues might include integration problems or typos in the Jinja code.
+
+If the workflow succeeded: Congratulations! You’ve successfully completed your first "Update Group Membership" automation.
+
+
+
+:star: Alternatively, you can go to the "Results" tab under "Automations" to see all workflow results, and find the row that corresponds to your"Add or Remove User - Microsoft Group" workflow.
+
+### Action Items
+
+* Test your workflow by submitting the form and reviewing the results to ensure it triggers and performs the actions correctly.
+* If the workflow fails, investigate the error data and make necessary corrections. For help with this, post in the #cluck-u Discord channel.
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations.md
new file mode 100644
index 00000000..fcb36ee7
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations.md
@@ -0,0 +1,36 @@
+---
+description: Sketch a workflow, including the workflow trigger
+---
+
+# From Workflow Sketch to Rewst Prototype
+
+## Module Overview
+
+:bulb: Automation starts with a clear plan. Before diving into Rewst, sketch out what the process looks like and identify the trigger that will initiate this automation.
+
+### Video (_1:46 Minutes)_
+
+{% embed url="https://youtu.be/vV8H3m4HjYg" %}
+
+
+
+Introduction to Workflow Sketching
+
+It's time to sketch (by hand, or using your favorite flowcharting tool) a simple, prototype workflow for the "Add or Remove User - Microsoft Groups" automation and identify the trigger (the mechanism that "starts" the automation). Your prototype should include:
+
+* A Rewst Form as the Trigger (we'll create the form, and then select it in the "trigger" settings of the workflow)
+* A Rewst Workflow with 3 Steps (we'll expand this over the next few lessons)
+
+Here's a visual to use for inspiration:
+
+
+
+
+
+### Action Items
+
+Sketch your workflow, ensuring you’ve identified the trigger (e.g., a Rewst form). Feel free to use the example from this video as a guide.
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/README.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/README.md
new file mode 100644
index 00000000..7c7aa985
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-1/README.md
@@ -0,0 +1,67 @@
+---
+description: Get started with your first automation - updating Microsoft Group membership.
+---
+
+# Lesson 2: Building a Basic Form and Workflow
+
+## **What to Eggs-pect**
+
+After completing this lesson, you will be able to:
+
+1. Sketch a workflow, including the workflow trigger
+2. Create a form that contains the required input to automate a process
+3. Create part of a workflow to test, starting with just a few actions
+4. Configure the workflow settings and trigger to use information from the form
+5. Test a workflow and view the results
+
+When you've completed this training, don't forget to [check your knowledge](./#what-did-you-learn) and [get credit](./#get-credit)!
+
+### **Prerequisite(s)**
+
+1. Set up your main organization in Rewst.
+2. Set up your Microsoft Graph integration.
+
+## Lesson Modules
+
+To get started, select the first module. Each module includes a video and written guidance with resources, followed by navigation to go back/forward. To wrap up the lesson, visit [Next Steps](./#next-steps).
+
+1. [From Workflow Sketch to Rewst Prototype](101-laying-the-foundations-of-automations.md) (_1:46 Minutes_)
+2. [Building the "Add or Remove User - Microsoft Group" Form](101-laying-the-foundations-of-automations-2.md) (_5:22 Minutes_)
+3. [Creating the "Add or Remove User - Microsoft Group" Workflow](101-laying-the-foundations-of-automations-2.md) (_4:57 Minutes_)
+4. [Adding Actions to the "Add or Remove User - Microsoft Group" Workflow](101-laying-the-foundations-of-automations-3.md) (5_:46 Minutes_)
+5. [Testing the "Add or Remove User - Microsoft Group" Form](101-laying-the-foundations-of-automations-4.md) (3_:20 Minutes_)
+
+### Lesson Resources
+
+{% hint style="info" %}
+Check out these supplementary resources.
+
+* [prebuilt-automation-to-start.md](../../getting-started/prebuilt-automation-to-start.md "mention")
+* [hello-world.md](../../getting-started/hello-world.md "mention")
+* [workflow-building-tips-and-tricks.md](../../getting-started/workflow-building-tips-and-tricks.md "mention")
+* [data-input-and-output.md](../../../documentation/workflows/data-input-and-output.md "mention")
+* [navigating-between-tasks-with-transitions.md](../../../documentation/workflows/configuring-your-workflow-tasks/navigating-between-tasks-with-transitions.md "mention")
+* [intro-to-triggers.md](../../../documentation/triggers/intro-to-triggers.md "mention")
+{% endhint %}
+
+## Next Steps
+
+Complete the **Knowledge Check** and remember to **Get Credit** for your learning.
+
+### What Did You Learn?
+
+Take a quick quiz and get instant feedback!
+
+{% embed url="https://www.surveymonkey.com/r/buildingabasicworkflowKC" %}
+
+### Get Credit
+
+{% hint style="danger" %}
+[Submit this form](https://app.rewst.io/form/38c7d9ca-1606-4a61-872e-884466850287) to get credit for completing this lesson offline.
+{% endhint %}
+
+### Keep On Cluckin'
+
+You've created a simple form, a workflow, and connected them with a trigger. In upcoming lessons, you’ll refine this automation. But first...it's time to learn the basics of Jinja (and demystify all of that "CTX.user\_id," "CTX.group\_id" stuff). Jump to the next lesson when you're ready!
+
+
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/101-laying-the-foundations-of-automations-1.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/101-laying-the-foundations-of-automations-1.md
new file mode 100644
index 00000000..a93fa481
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/101-laying-the-foundations-of-automations-1.md
@@ -0,0 +1,46 @@
+---
+description: Learning objective goes here.
+---
+
+# \[Middle Modules] Title Goes Here
+
+## Module Overview
+
+Replace with relevant text, keep the icon.]
+
+:bulb: Automation starts with a clear plan. Before diving into Rewst, sketch out what the process looks like and identify the trigger that will initiate this automation.
+
+### Video (_X:XX Minutes)_
+
+\[Update timestamp and use 'embed' feature to add YouTube URL]
+
+### Documentation
+
+\[Replace module copy, keeping the heading structure - 'Documentation' H2, headings within documentation H3, bold for anything further than an H3/to make it stand out as needed.]
+
+#### Heading
+
+Body text.
+
+Body text.
+
+#### Heading
+
+Body text
+
+* Maybe a list
+* with some bullet points
+
+### Action Item
+
+\[Replace with module copy, hyperlinking to relevant resources where appropriate]
+
+Write down a task that's ripe for automation. Make sure the task or process is possible to automate and get clear on your goal (whether it's to save time, reduce errors, and/or any of the other benefits you just learned about). This will help you apply key concepts from this course to a scenario that's relevant to your MSP!
+
+
+
+## Navigation
+
+\[Replace with back and next links]
+
+ | | |
---|
Go to the previous module:
| | |
Go to the next module: | | |
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/101-laying-the-foundations-of-automations-2.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/101-laying-the-foundations-of-automations-2.md
new file mode 100644
index 00000000..399ecc9b
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/101-laying-the-foundations-of-automations-2.md
@@ -0,0 +1,46 @@
+---
+description: Learning objective goes here.
+---
+
+# \[Last Module] Title Goes Here
+
+## Module Overview
+
+Replace with relevant text, keep the icon.]
+
+:bulb: Automation starts with a clear plan. Before diving into Rewst, sketch out what the process looks like and identify the trigger that will initiate this automation.
+
+### Video (_X:XX Minutes)_
+
+\[Update timestamp and use 'embed' feature to add YouTube URL]
+
+### Documentation
+
+\[Replace module copy, keeping the heading structure - 'Documentation' H2, headings within documentation H3, bold for anything further than an H3/to make it stand out as needed.]
+
+#### Heading
+
+Body text.
+
+Body text.
+
+#### Heading
+
+Body text
+
+* Maybe a list
+* with some bullet points
+
+### Action Item
+
+\[Replace with module copy, hyperlinking to relevant resources where appropriate]
+
+Write down a task that's ripe for automation. Make sure the task or process is possible to automate and get clear on your goal (whether it's to save time, reduce errors, and/or any of the other benefits you just learned about). This will help you apply key concepts from this course to a scenario that's relevant to your MSP!
+
+
+
+## Navigation
+
+\[Replace with back and next links]
+
+ | | |
---|
Go to the previous module:
| | |
Go to wrap up the lesson: | | |
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/101-laying-the-foundations-of-automations.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/101-laying-the-foundations-of-automations.md
new file mode 100644
index 00000000..77767d33
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/101-laying-the-foundations-of-automations.md
@@ -0,0 +1,46 @@
+---
+description: Learning objective goes here.
+---
+
+# \[First Module] Title Goes Here
+
+## Module Overview
+
+\[Replace with relevant text, keep the icon.]
+
+:bulb: Automation starts with a clear plan. Before diving into Rewst, sketch out what the process looks like and identify the trigger that will initiate this automation.
+
+### Video (_X:XX Minutes)_
+
+\[Update timestamp and use 'embed' feature to add YouTube URL]
+
+### Documentation
+
+\[Replace module copy, keeping the heading structure - 'Documentation' H2, headings within documentation H3, bold for anything further than an H3/to make it stand out as needed.]
+
+#### Heading
+
+Body text.
+
+Body text.
+
+#### Heading
+
+Body text
+
+* Maybe a list
+* with some bullet points
+
+### Action Item
+
+\[Replace with module copy, hyperlinking to relevant resources where appropriate]
+
+Write down a task that's ripe for automation. Make sure the task or process is possible to automate and get clear on your goal (whether it's to save time, reduce errors, and/or any of the other benefits you just learned about). This will help you apply key concepts from this course to a scenario that's relevant to your MSP!
+
+
+
+## Navigation
+
+\[Replace with back and next links]
+
+ | | |
---|
Go back to the lesson page:
| | |
Go to the next module: | | |
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/README.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/README.md
new file mode 100644
index 00000000..0794787d
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations-2/README.md
@@ -0,0 +1,68 @@
+---
+description: Brief description (can't be formatted in Gitbook).
+hidden: true
+---
+
+# \[Lesson Template] Lesson Title
+
+## **What to Eggs-pect**
+
+After completing this lesson, you will be able to:
+
+1. LO
+2. LO
+3. LO
+
+### **Prerequisite(s)**
+
+\[Add a sentence here with hyperlinked text. Delete stuff in brackets before publishing.]
+
+## Lesson Modules
+
+\[Change the titles and timestamps! Ensure 'Next Steps' links to heading on this page.]
+
+To get started, select the first module. Each module includes a video and written guidance with resources, followed by navigation to go back/forward. To wrap up the lesson, visit [Next Steps](./#next-steps).
+
+1. Title (_X:XX Minutes)_
+2. Title (_X:XX Minutes)_
+3. Title (_X:XX Minutes)_
+
+### Lesson Resources
+
+{% hint style="info" %}
+Check out these supplementary resources.
+
+* Descriptive title, hyperlinked
+* Another one
+* A third one
+{% endhint %}
+
+## Next Steps
+
+Complete the **Knowledge Check** and remember to **Get Credit** for your learning.
+
+### What Did You Learn?
+
+\[Replace with SurveyMonkey link for relevant lesson]
+
+Take a quick quiz and get instant feedback!
+
+{% embed url="https://www.surveymonkey.com/r/QWDXKGB" %}
+Knowledge Check
+{% endembed %}
+
+### Get Credit
+
+\[Replace with link for relevant 'credit' form.]
+
+{% hint style="danger" %}
+[Submit this form](https://app.rewst.io/form/8ac04607-a1c4-45ea-b203-448b2f1b64e0) to get credit for completing this lesson offline.
+{% endhint %}
+
+### Keep On Cluckin'
+
+\[Replace text below with brief description of what they've just achieved (where relevant) and what's next. Then, update 'cards' to link to previous and next lesson. Keep Office Hours card at bottom.]
+
+In the next lesson, you'll build a simple Rewst form and workflow.
+
+ | | |
---|
Go back a lesson: | | |
Go to the next lesson: | | |
Get help with this lesson in office hours! | office-hours.md | |
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations.md
deleted file mode 100644
index a95e375c..00000000
--- a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-description: No fluff, just the good stuff. Your path to automation journey begins here.
----
-
-# 101 - Laying the Foundations of Automations
-
-## **Introduction**
-
-This isn't just our foundational course. It's your shortcut to becoming the Stewart of your organization – handling the redundant yet crucial, with a knack for success. This journey into automation is more than learning—it's a transformation.
-
-This course and the rest of the Foundations series is perfect for:
-
-* Aspiring automation wizards in business.
-* IT enthusiasts ready to up their game.
-* Project managers eyeing smarter workflows.
-* Anyone who's ever thought, "There's got to be a better way."
-
-When you've completed this training, [don't forget to get credit!](https://app.rewst.io/form/8ac04607-a1c4-45ea-b203-448b2f1b64e0)
-
-## Watch the video and follow along with the steps below
-
-{% embed url="https://youtu.be/6uyTSRGb8d0" %}
-
-## Get Credit
-
-{% hint style="success" %}
-To get credit for completing this session offline, please [submit this form](https://app.rewst.io/form/8ac04607-a1c4-45ea-b203-448b2f1b64e0).
-{% endhint %}
-
-## **Follow Along**
-
-Here's what's in store:
-
-* **Automation Maturity**: Understand your starting point. From zero automation to full autonomy, know where you stand.
-* **Why Automate?**: Time saved, errors axed, decisions improved. It's not just doing more; it's enhancing how you work.
-* **Principles to Live By**: Can't automate what's not there. We start with the real and build from there.
-* **Choose Wisely**: Pick tasks that scream for automation. Time, volume, errors, compliance - we cover it all.
-* **Best Practices, Minus the Blunders**: Learn the ropes without getting tied up. We're talking clear, effective strategies, minus the common missteps.
-
-## What Did You Learn?
-
-Take a quick quiz and get instant feedback!
-
-{% embed url="https://www.surveymonkey.com/r/QWDXKGB" %}
-Knowledge Check
-{% endembed %}
-
-## Additional Resources
-
-{% hint style="info" %}
-Check out these other introductory lessons on demand:
-
-* [Rewst Platform Overview](../getting-started/rewst-platform-overview.md)
-* [Demystifying Process Automation](../getting-started/dymistifying-process-automation.md)
-* [Identifying What to Automate](../getting-started/identifying-what-to-automate.md)
-{% endhint %}
-
-## Keep On Cluckin'
-
-
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/101-laying-the-foundations-of-automations-1.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/101-laying-the-foundations-of-automations-1.md
new file mode 100644
index 00000000..53915de5
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/101-laying-the-foundations-of-automations-1.md
@@ -0,0 +1,42 @@
+---
+description: >-
+ Recall the 3 principles for effective automations + Scope an automation by
+ planning with the end state in mind and involving your stakeholders
+---
+
+# 3 Key Principles for Every Automation
+
+## Module Overview
+
+💡 The following principles will help you scope and build effective automations, no matter your goal or starting point. Use the Workflow Design Worksheet to guide you through the scoping process.
+
+### Video (_4:31 Minutes_)
+
+{% embed url="https://youtu.be/He04KlDM_Ao" %}
+
+
+
+3 Key Principles to Automation
+
+**1. Aharon's Law: You can't document a process that doesn't exist.**
+
+Start with documenting the process and make sure you involve colleagues to gather key information about the process, identify bottlenecks or inefficiencies, and ensure alignment on the goals/objectives.
+
+**2. The best automations are forgettable...so figure out how you'll measure the value of an automation from the start!**
+
+This may be time saved or a different metric (or set of metrics), and goes back to the benefits of automation.
+
+**3. Start with small, simple, frequent tasks.**
+
+...or, start with just a few steps. Test, refine, and build from there.
+
+
+
+### Action Items
+
+* Use the Workflow Design Worksheet to support scoping your first automation. Keep it simple -- selecting a well-defined, automatable task that's part of a larger process is a great starting point.
+* Make sure to collaborate with stakeholders to ensure your task/process is well-documented, and consider creating a diagram/flowchart to help you translate these starting points into the visual interface of a Rewst workflow.
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/101-laying-the-foundations-of-automations-2.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/101-laying-the-foundations-of-automations-2.md
new file mode 100644
index 00000000..d8c4c175
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/101-laying-the-foundations-of-automations-2.md
@@ -0,0 +1,123 @@
+---
+description: >-
+ Scope an automation by planning with the end state in mind and involving your
+ stakeholders
+---
+
+# Automating a Business Process
+
+## Module Overview
+
+💡 Throughout the rest of this course, we will focus on how to automate a business process. Get a preview of what's coming up in the remaining lessons.
+
+### Video (_2:46 Minutes_)
+
+{% embed url="https://youtu.be/YVg-n0lRiwM?si=V82305-jnCFDogpB" %}
+
+This will be a step-by-step journey, starting simple and iterating on the process over time -- from an MVP of a workflow (with just 3 steps) to using a sub-workflow in a parent workflow for ultimate automation efficiency. Here's a snapshot of what you'll do in upcoming lessons:
+
+#### Building a Basic Form and Workflow
+
+**Main Objective:** Create a basic automation with three steps: adding or removing a user from a group using the Microsoft Graph integration.
+
+
+
+Steps:
+
+1. **Build** a request form that triggers the automation.
+2. **Connect** the form to a workflow where the automation takes place.
+3. **Test** the workflow to ensure it works correctly.
+
+
+
+#### Jinja Essentials for Workflow Automation
+
+**Main Objective:** Learn how to use Jinja, the templating engine in Rewst, to pass data through your workflows for specific results.
+
+
+
+Steps:
+
+1. **Review** the basics of Jinja syntax.
+2. **Apply** Jinja in the _Live Editor_ to manipulate data (and test your code).
+
+
+
+#### Creating an Option Generator Workflow
+
+**Main Objective:** Enhance your request form by creating a workflow that generates relevant options based on the user and action selected.
+
+**Bonus:** In one of the modules for this lesson, you'll learn how to customize your own action (if a "pre-built" action in Rewst doesn't yet exist) by using API documentation.
+
+
+
+Steps:
+
+1. **Build** an option generator workflow.
+2. **Update** the request form to connect to this workflow.
+3. **Test** the updated form to ensure it displays the correct groups.
+
+
+
+#### Managing Workflow Paths
+
+**Main Objective:** Handle group updates that require Microsoft Exchange Online using Powershell commands.
+
+
+
+Steps:
+
+1. **Identify** which groups need to be updated through _Exchange Online_.
+2. **Integrate** _Powershell_ commands into your workflow.
+
+
+
+#### Implementing Error-Handling in Rewst Workflows
+
+**Main Objective:** Add techniques for error-handling to a workflow.
+
+
+
+Steps:
+
+1. **Add** "on failure" transitions to certain actions
+2. **Create** data aliases to store feedback messages for the results of certain actions
+3. **Learn** why/when to update "task transition criteria sensitivity" on an action
+
+
+
+#### Optimizing Workflow Design
+
+**Main Objective:** Combine everything you've learned to create an efficient automation that updates multiple groups and provides feedback.
+
+
+
+Steps:
+
+1. **Update** your request form to handle multiple groups.
+2. **Use** a sub-workflow and "with items" to process each group for the user and action.
+3. **Set up** an email notification to inform the requester of the automation results.
+
+
+
+####
+
+
+
+Support and Resources
+
+As you progress through these lessons (at your own pace!), remember that each one is accompanied by step-by-step instructions and additional resources to deepen your understanding. Return to these materials at any time for a refresher.
+
+If you encounter any challenges, we’re here to help! Register for live office hours for direct support, or drop your questions in the Rewst Discord #cluck-u channel to get assistance from professors and peers.
+
+
+
+### Action Items
+
+Before moving on, ensure that your main organization and Microsoft Graph integrations are set up.
+
+Once that's done, you’re ready to dive into creating your own form and workflow. This is where the real hands-on building begins!
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/101-laying-the-foundations-of-automations.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/101-laying-the-foundations-of-automations.md
new file mode 100644
index 00000000..f5d23b87
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/101-laying-the-foundations-of-automations.md
@@ -0,0 +1,91 @@
+---
+description: Identify a task that is suitable for automation.
+---
+
+# Introduction to Automation and Scoping
+
+## Module Overview
+
+:bulb: Automation is more than just letting technology solve problems for us. To truly succeed with automation, it's important to start with the right mindset.
+
+### Video (_4:20 Minutes)_
+
+{% embed url="https://youtu.be/qvAoELrfHGI" %}
+
+
+
+1. Reflect on Your Automation Options
+
+Before diving into the “why and what” of automation, take a moment to reflect on the challenges you face in your day-to-day operations. Consider what could benefit from automation and how it might improve your workflow....Did you pause to reflect? Ya sure? Okay, I trust you!
+
+Let's dive in and explore what automation can do for you and what needs to be set up from the beginning to make it effective.
+
+
+
+
+
+2. Reasons and Benefits of Automation
+
+With Rewst, automation connects your tools, enabling your team to focus on tasks that benefit from human expertise, rather than simply reducing headcount or cutting tools.
+
+* **Save Time:** Automate repetitive tasks to free up time for more critical work.
+* **Reduce Mistakes:** Automation ensures consistency and accuracy, minimizing human error.
+* **Improve Decision-Making:** Gain more robust data through integrations, enhancing your ability to make informed decisions.
+* **Scale Your Business:** Focus on tasks that truly require your attention and skill, allowing you to scale effectively.
+
+
+
+
+
+3. Aharon's Automation Maturity Model
+
+Consider where you are on the automation journey, and what will help you get to the next level. Take it step by step to make your journey smart and sustainable.
+
+0\. **No Automation**: All manual, all the time.
+
+1\. **Basic Task Automation**: Automating simple tasks that are currently handled manually.
+
+2\. **Process Automation**: Expanding automation to cover complex processes involving multiple tools.
+
+3\. **Advanced Automation**: Reaching a point where processes run smoothly in the background, with minimal oversight.
+
+
+
+
+
+4. Scoping Your Automation
+
+Once you’ve decided that automation is the way forward, the next step is to scope your automation projects effectively. Automation can generally be divided into **tasks** and **processes**.
+
+**Tasks:**
+
+* Typically involve simple, repetitive actions that can be handled by one or two tools with a few steps.
+* Examples include funneling tickets into specific queues or updating multiple fields across tickets.
+
+**Processes:**
+
+* These are more complex and involve automating a series of related tasks, often across multiple tools.
+* An example might be automating customer onboarding or offboarding, which involves several steps and interactions across different platforms.
+
+
+
+
+
+5. Getting Started
+
+For those new to automation, it’s recommended to start with smaller tasks that are easy to manage and can deliver quick wins. As you gain confidence, you can begin to tackle more complex processes. Here are a few ideas on types of tasks to automate:
+
+* **High Volume Tasks**: Tasks that are repetitive and time-consuming, like updating a large number of tickets.
+* **Error-Prone Tasks**: Actions where mistakes are common, such as selecting incorrect fields.
+* **Compliance Tasks**: Tasks that need to be performed consistently and reported on regularly.
+* **Customer-Focused Tasks**: Repetitive requests from customers, such as password resets or adding users to groups.
+
+
+
+### Action Items
+
+Write down a task that's ripe for automation. Make sure the task or process is possible to automate and get clear on your goal (whether it's to save time, reduce errors, and/or any of the other benefits you just learned about). This will help you apply key concepts from this course to a scenario that's relevant to your MSP!
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/README.md b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/README.md
new file mode 100644
index 00000000..d75add40
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations/README.md
@@ -0,0 +1,57 @@
+---
+description: >-
+ Get into the automation mindset, and learn a few best practices for the start
+ of your automation journey!
+---
+
+# Lesson 1: Laying the Foundations of Automation
+
+## **What to Eggs-pect**
+
+After completing this lesson, you will be able to:
+
+1. Identify a task that is suitable for automation
+2. Recall the 3 principles for effective automations
+3. Scope an automation by planning with the end state in mind and involving your stakeholders
+
+### **Prerequisite(s)**
+
+Complete all resources in the [Getting Started](../../getting-started/) section to get familiar with the platform.
+
+## Lesson Modules
+
+To get started, select the first module. Each module includes a video and written guidance with resources, followed by navigation to go back/forward. To wrap up the lesson, visit [Next Steps](./#next-steps).
+
+1. [Introduction to Automation and Scoping](101-laying-the-foundations-of-automations.md) (_4:20 Minutes_)
+2. [3 Key Principles for Every Automation](101-laying-the-foundations-of-automations-1.md) (_4:31 Minutes_)
+3. [Automating a Business Process](101-laying-the-foundations-of-automations-2.md) (_2:46 Minutes_)
+
+### Lesson Resources
+
+{% hint style="info" %}
+Check out these supplementary resources.
+
+[Rewst Workflow Design Worksheet](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAQQ1EHVcEsGKBPVHmiav%2Fuploads%2FuRW8KH7r5T6EIW4fGgzG%2FRewst%20Workflow%20Design%20Worksheet.pdf?alt=media\&token=d2d3aa4e-f0db-417b-81c8-1a31414e500c)
+{% endhint %}
+
+## Next Steps
+
+Complete the **Knowledge Check** and remember to **Get Credit** for your learning.
+
+### What Did You Learn?
+
+Take a quick quiz and get instant feedback!
+
+{% embed url="https://www.surveymonkey.com/r/layingthefoundationsofautomationKC" %}
+
+### Get Credit
+
+{% hint style="danger" %}
+[Submit this form](https://app.rewst.io/form/8ac04607-a1c4-45ea-b203-448b2f1b64e0) to get credit for completing this lesson offline.
+{% endhint %}
+
+### Keep On Cluckin'
+
+In the next lesson, you'll build a simple Rewst form and workflow.
+
+
diff --git a/cluck-university/rewst-foundations-10x/102-building-a-basic-workflow.md b/cluck-university/rewst-foundations-10x/102-building-a-basic-workflow.md
deleted file mode 100644
index e01dc41d..00000000
--- a/cluck-university/rewst-foundations-10x/102-building-a-basic-workflow.md
+++ /dev/null
@@ -1,330 +0,0 @@
----
-description: Welcome to the second course in the Rewst Foundations series!
-layout:
- title:
- visible: true
- description:
- visible: true
- tableOfContents:
- visible: true
- outline:
- visible: true
- pagination:
- visible: true
----
-
-# 102 - Building a Basic Workflow
-
-## Platform Overview
-
-If you haven't already, make sure to complete all Getting Started resources for more context before you dive into workflow-building.
-
-{% content-ref url="../getting-started/" %}
-[getting-started](../getting-started/)
-{% endcontent-ref %}
-
-## Introduction
-
-Hello and welcome! In this tutorial, we'll guide you through the process of creating automated workflows using Rewst. Our focus will be on creating a form, building an MVP workflow, and connecting the two with a trigger. Follow these steps to build the Add or Remove Users from AD workflow!
-
-When you've completed this training, [don't forget to get credit!](https://app.rewst.io/form/38c7d9ca-1606-4a61-872e-884466850287)
-
-## Watch the video and follow along with the steps below
-
-{% embed url="https://youtu.be/MuOTYGS56l4" %}
-
-## Get Credit
-
-{% hint style="success" %}
-To get credit for completing this session offline, please [submit this form](https://app.rewst.io/form/38c7d9ca-1606-4a61-872e-884466850287).
-{% endhint %}
-
-## Follow Along
-
-### Part 1: Build a Form to Add or Remove Users in AD
-
-We'll start by creating a form to collect the necessary information to pass to the workflow. First, we'll go to the Forms section in Rewst. Next, we'll design the form with fields, and configure the fields to dynamically show us a list of users and groups. And finally, we'll define which variables can be accessed from the workflow for each field. Follow these steps:
-
-
-
-Steps: Building a Form
-
-**Add a Form**
-
-1. **Go to** _Automations_ → _Forms_ in the menu.
-2. **Click** _Add_ at the top right to add a new Form.
-3. **Type** _Add or Remove from AzureAD Group_ for the name.
-4. **Click** Submit.
-
-**Add a Dropdown field to Choose a User**
-
-1. **Drag and Drop** a _Dropdown_ field.
-2. **Click** on the field to open the field settings.
-3. **Type** "user\_id" for the _Field Name_.
-4. **Replace** the default _Field Label_ text with "User".
-5. **Type** "Choose a User" for the _Field Description_ text.
-6. **Click** the _Required_ checkbox.
-7. **Click** on the _Dynamic Options_ slider.
-8. **Choose** _Microsoft Graph_ for the _Integration_ dropdown.
-9. **Choose** _Users_ for the _Resource_ dropdown.
-
-**Add a Dropdown field to Choose a Group**
-
-1. **Drag and Drop** a _Dropdown_ field.
-2. **Click** on the field to open the field settings.
-3. **Type** "group\_id" for the _Field Name_.
-4. **Replace** the default _Field Label_ text with "Group".
-5. **Type** "Select a Group" for the _Field Description_ text.
-6. **Click** the _Required_ checkbox.
-7. **Click** on the _Dynamic Options_ slider.
-8. **Choose** _Microsoft Graph_ for the _Integration_ dropdown.
-9. **Choose** _Groups_ for the _Resource_ dropdown.
-
-**Add Radio Buttons to identify whether to add or remove users**
-
-1. **Drag and Drop** a _Radio Buttons_ field.
-2. **Click** on the field to open the field settings.
-3. **Type** "action" for the _Field Name_.
-4. **Replace** the default _Field Label_ text with "Add or Remove".
-5. **Click** the _Required_ checkbox.
-6. **Type** "Add" for the first _Option Label_.
-7. **Type** "Remove" for the second _Option Label_.
-8. **Click** on the minus (-) button to remove the third option.
-9. **Type** "add" for the first _Option Value_.
-10. **Type** "remove" for the second _Option Value_.
-
-**Save the form**
-
-1. **Click** the _Save_ button at the top right of the form builder.
-2. **Click** _Submit_ on the pop-up to confirm.
-
-
-
-***
-
-### Part 2: Build a Workflow to Add or Remove Users in AD
-
-Next, let's design a workflow that responds to the form submissions. We'll start by going to the Workflow section in Rewst and adding a new workflow. Then, we'll add the actions, including MS Graph actions, to the workflow. Finally, we'll implement transitions based on whether a user is added or removed from a group.
-
-
-
-Steps: Creating a Workflow
-
-**Create a New Workflow**
-
-1. **Go to** _Automations_ → _Workflows_ in the menu.
-2. **Click** _Create_ at the top right to add a new Workflow.
-3. **Type** _Add or Remove User from AzureAD Group_ for the name.
-4. **Click** Submit.
-
-**Add the Initial Workflow Actions**
-
-1. **Open** the _Core_ section in the left Actions menu.
-2. **Drag and Drop** the _noop_ action to the Workflow Canvas.
-3. **Open** the _Microsoft Graph_ section in the left Actions menu.
-4. **Drag and Drop** the _Add Group Member_ action to the Workflow Canvas.
-5. **Click and Drag** the transition from the _noop_ action to the _Add Group Member_ action.
- * To do this, you will need to hover over the gray circle under the _On Success_ section of the _noop_ action.
-
-**Configure the Noop**
-
-1. **Click** on the _noop_ Action to open the properties.
-2. **Click** the edit icon next to the _noop_ name.
-3. **Type** "add\_or\_remove" for the name.
-4. **Type** "Checks the action variable to determine if we are adding or removing a user from a group" for the _Description_.
-
-**Configure the Transition**
-
-1. **Click** on the transition on the _noop_ Action.
-2. **Type** "Add" in the _Custom Label_ field.
-3. **Click** on the _Custom Condition_ option under _Condition_.
-4. **Click** on the Jinja editor button next to the _Custom Condition_ field.
-5. **Type** the following to add a custom condition where the action is performed on "add".
-
-```django
-{{ CTX.action == "add" }}
-```
-
-6. **Close** the editor.
-
-**Configure the Workflow Variable Inputs with the Form Variables**
-
-1. **Click** on the _Configure Workflow Variable_ button in the top right menu.
- * This is the pencil icon.
-2. **Type** "300" in the _Time Saved (seconds)_ field.
-3. **Click** the plus (+) button next to _Input Configuration_ to add the user variable.
-4. **Type** "user\_id" in the _name_ field.
-5. **Click** the _Required_ checkbox.
-6. **Click** the plus (+) button next to _Input Configuration_ again to add the group variable.
-7. **Type** "group\_id" in the _name_ field.
-8. **Click** the _Required_ checkbox.
-9. **Click** the plus (+) button next to _Input Configuration_ again to add the action variable.
-10. **Type** "action" in the _name_ field.
-11. **Click** the _Required_ checkbox.
-12. **Click** _Submit_.
-
-
-
-***
-
-### Part 3: Triggering the Workflow with the Form
-
-Next, we'll add a Form trigger to the workflow to ensure that the information that comes through the form can kick off the workflow process.
-
-
-
-Steps: Triggering the Workflow with the Form
-
-**Add a Form Trigger**
-
-1. **Click** the _Add Trigger_ button at the top menu.
-2. **Type** "Form Trigger" in the _Name_ field.
-3. **Click** the _Enabled_ slider.
-4. **Choose** _Core - Form Submission_ for the _Trigger Type_.
-5. **Choose** _Microsoft Graph_ for _Integration Overrides_.
-6. **Choose** the _Add or Remove User from AzureAD Group_ form under _Trigger Parameters_ → _Form_.
-7. **Click** Submit.
-8. **Click** _Publish_ to save the Workflow with the new Trigger.
-
-
-
-***
-
-### Part 4: Configuring the Add and Remove Graph Actions
-
-We jumped ahead to show how to trigger a workflow with a form. We now are going back to set the parameters needed for the actions to add or remove a user from a group.
-
-
-
-Steps: Finishing the Workflow
-
-**Add a Second Transition**
-
-1. **Click** the _Add_ (+) button on the _noop_ action to add a new transition.
-
-**Configure the Remove Transition**
-
-1. **Click** on the right transition on the _noop_ Action.
-2. **Type** "Remove" in the _Custom Label_ field.
-3. **Click** on the _Custom Condition_ option under _Condition_.
-4. **Click** on the Jinja editor button next to the _Custom Condition_ field.
-5. **Type** the following to add a custom condition.
-
-```django
-{{ CTX.action == "remove" }}
-```
-
-6. **Close** the editor.
-
-**Set the Transitions to Follow First**
-
-1. **Click** the _noop_ Action, now named "add\_or\_remove".
-2. **Click** on the _Advanced_ section at the bottom.
-3. **Click** _Follow First_ under _Transition Mode_.
-4. **Click** _Publish_ to save the Workflow.
-
-**Add and Configure the Remove Group Member Action**
-
-1. **Open** the _Microsoft Graph_ section in the left Actions menu.
-2. **Drag and Drop** the _Remove Group Member_ action to the Workflow Canvas.
-3. **Click** the _Remove Group Member_ Action.
-4. **Type** "Removing user from Group" in the _Description_ field.
-5. **Click** on the Jinja editor button next to the _Group_ field.
-6. **Type** the following to to reference the `group_id` input variable with Jinja:
-
-```django
-{{ CTX.group_id }}
-```
-
-7. **Close** the editor.
-8. **Click** on the Jinja editor button next to the _User ID_ field.
-9. **Type** the following to to reference the `user_id` input variable with Jinja:
-
-```django
-{{ CTX.user_id }}
-```
-
-10. **Close** the editor.
-11. **Click and Drag** the transition from the _noop_ action to the _Remove Group Member_ action.
-
-* To do this, you will need to hover over the gray circle under the new _Remove_ section you added.
-
-**Configure Add Group Member Action**
-
-1. **Click** the _Add Group Member_ Action.
-2. **Type** "Adding user to Group" in the _Description_ field.
-3. **Click** on the Jinja editor button next to the _Group_ field.
-4. **Type** the following to to reference the `group_id` input variable with Jinja:
-
-```django
-{{ CTX.group_id }}
-```
-
-5. **Click** on the Jinja editor button next to the _User ID_ field.
-6. **Type** the following to to reference the `user_id` input variable with Jinja:
-
-```django
-{{ CTX.user_id }}
-```
-
-
-
-### Part 5: Check the Results
-
-Finally, let's test out the workflow by filling out the form and checking the workflow results!
-
-
-
-Steps: Testing the Workflow
-
-⚠️ This will only work with live data If you are using Microsoft Graph, make sure you keep in mind that this will work with live data so you can add or remove users appropriately. It's best to have pretend data to work with.
-
-**View the Form URL**
-
-1. **Click** _Edit Trigger_ at the top menu next to our Form Trigger
-2. **Click** the _View Direct URLs_ button next to _Dynamic Form URL_.
-3. **Click** on the link.
-
-**Test the Form**
-
-1. **Choose** a User.
-2. **Choose** a Group.
-3. **Click** Add or Remove.
-
-**View the Results of the Workflow**
-
-1. **Go to** _view results for workflow_.
- * This can be found next to the name of the workflow in the top menu.
-2. **Click** on _Succeeded_ under Status to see the full results.
-
-📝 If the user or group aren't valid, you may see failure. To troubleshoot, you can open the _Context_, _Logs_, or _Input_ sections to dig into more detail and see what happened.
-
-
-
-***
-
-## Conclusion
-
-Congratulations! You have successfully created a form, designed a workflow, and connected the two with a trigger to automate Azure AD group management. In Rewst 103, we'll take a step back and look at using Jinja in our workflows. If you have any questions, don't hesitate to reach out. Happy automating!
-
-## What Did You Learn?
-
-Take a quick quiz and get instant feedback!
-
-{% embed url="https://www.surveymonkey.com/r/KC102" %}
-Knowledge Check
-{% endembed %}
-
-## Additional Resources
-
-{% hint style="info" %}
-For more information on using Forms, Workflows, and Triggers, check out our documentation:
-
-* [Building Workflows](../../documentation/workflows/)
-* [Using Forms](../../documentation/forms/)
-* [Introduction to Triggers](../../documentation/triggers/intro-to-triggers.md)
-{% endhint %}
-
-## Keep On Cluckin'
-
-
diff --git a/cluck-university/rewst-foundations-10x/103-jinja-essentials-for-workflow-automation.md b/cluck-university/rewst-foundations-10x/103-jinja-essentials-for-workflow-automation.md
deleted file mode 100644
index 225de17a..00000000
--- a/cluck-university/rewst-foundations-10x/103-jinja-essentials-for-workflow-automation.md
+++ /dev/null
@@ -1,466 +0,0 @@
----
-description: Welcome to the third course in the Rewst Foundations series!
----
-
-# 103 - Jinja Essentials for Workflow Automation
-
-## Introduction
-
-Welcome to Rewst 103! In this course, we'll be talking about Jinja, the templating language that has become an essential tool for web developers and data engineers alike. In this article, we will explore the basics of Jinja, its syntax, and various use cases, with a focus on understanding the different use cases.
-
-When you've completed this training, [don't forget to get credit!](https://app.rewst.io/form/ef9d5d9a-f4d0-4aaf-a7a0-c11a9b3b80a1)
-
-## Watch the video and follow along with the steps below
-
-{% embed url="https://youtu.be/jU8OZ0exa_0" %}
-
-## Get Credit
-
-{% hint style="success" %}
-To get credit for completing this session offline, please [submit this form](https://app.rewst.io/form/ef9d5d9a-f4d0-4aaf-a7a0-c11a9b3b80a1).
-{% endhint %}
-
-## Follow Along
-
-### Part 1: Live Editor
-
-The [Jinja Essentials](../../documentation/jinja/jinja-essentials.md) doc is a great resource to reference if you get stuck along the way.
-
-
-
-Step 1: Open the Live Editor with Sample Context Data and Jinja
-
-**Open the Live Editor**
-
-1. **Open** the [Live Editor with some sample data.](https://app.rewst.io/jinja-live-editor?id=4ee84407-d0c1-4a9a-94b3-84c643b8dd3f)
-
-Here are some important keyboard shortcuts you can use throughout
-
-1. Remove comments
- * Windows: _ctrl + /_
- * OSX: _cmd + /_
-2. Render code
- * Windows: _ctrl + enter_
- * OSX: _cmd + enter_
-
-
-
-
-
-Step 2: Start by viewing the basic CTX Attributes
-
-**Expressing all the CTX Attributes**
-
-1. **View JSON Context:**
- * Open the Context editor to view the JSON context.
-2. **Uncomment CTX:**
- * **Initially**: `{# {{ CTX }} #}`
- * **To view**: Remove comments as shown in Step 1. Render `{{ CTX }}`.
- * **Revert**: Re-add the comments to return to `{# {{ CTX }} #}`.
-
-**Show the Value of the Week**
-
-1. **Display Week Value:**
- * **Initially**: `{# {{- CTX.week -}} #}`
- * **To view:** Uncomment, render `{{- CTX.week -}}`, and follow Step 1 for removing comments.
- * **Revert:** Re-add comments to return to `{# {{- CTX.week -}} #}`.
-
-**Show Days in the Schedule**
-
-1. **Display Schedule Days:**
- * **Initially**: `{# {{ CTX.days | length }} #}`
- * **To view**: Uncomment, render `{{ CTX.days | length }}`, and follow Step 1 for removing comments.
- * **Revert**: Re-add comments to return to `{# {{ CTX.days | length }} #}`.
-
-
-
-***
-
-### Part 2: Loops, Lists, and List Comprehension
-
-
-
-Step 3: Use Loops and List Comprehension
-
-**Show the Dessert for each Weekday**
-
-1. **Uncomment** and **Render** the following:
-
- ```django
-
-
-
- {% raw %}
- {% for weekday in CTX.days %}
- The dessert on {{ weekday.day }} is {{ weekday.lunch.dessert }}
- {% endfor %}
- {% endraw %}
-
-
-
- ```
-2. **Review** the Output.
-3. **Re-add** the comments.
-
-**Use List Comprehension to build a List of Strings**
-
-1. **Uncomment** and **Render** the following:
-
- ```django
- {{-
- [
- "The dessert on "~weekday.day~" is "~weekday.lunch.dessert
- for weekday in CTX.days
- ]
- -}}
- ```
-2. **Review** the Output.
-
-**Add Join Filter to Output List as text**
-
-1. **Type** `| join('.\n')` to the end of your code like the following:
-
- ```django
- {{-
- [
- "The dessert on "~weekday.day~" is "~weekday.lunch.dessert
- for weekday in CTX.days
- ] | join('.\n')
- -}}
- ```
-2. **Render** the code.
-3. **Review** the Output.
-4. **Re-add** the comments.
-
-
-
-
-
-Step 4: Organize List Data
-
-**Render a List of Lists**
-
-1. **Uncomment** and **Render** the following:
-
- ```django
- {{-
- [
- weekday.lunch.sides
- for weekday in CTX.days
- ]
- -}}
- ```
-2. **Review** the Output.
-
-**Use the Flatten Filter to Output a Single List**
-
-1. **Type** `| flatten` to the end of your code like the following:
-
- ```django
- {{-
- [
- weekday.lunch.sides
- for weekday in CTX.days
- ] | flatten
- -}}
- ```
-2. **Render** the code.
-3. **Review** the Output.
-
-**Use the Unique Filter to Remove Repetition**
-
-1. **Type** `| unique` to the end of your code like the following:
-
- ```django
- {{-
- [
- weekday.lunch.sides
- for weekday in CTX.days
- ] | flatten | unique
- -}}
- ```
-2. **Render** the code.
-3. **Review** the Output.
-
-**Use the Sort Filter to Order Alphabetically**
-
-1. **Type** `| sort` to the end of your code like the following:
-
- ```django
- {{-
- [
- weekday.lunch.sides
- for weekday in CTX.days
- ] | flatten | unique | sort
- -}}
- ```
-2. **Render** the code.
-3. **Review** the Output.
-4. **Re-add** the comments.
-
-**Simplify the Output with a JSON Path Query**
-
-1. **Uncomment** and **Render** the following:
-
- ```django
- {{- CTX.days | jsonpath_query('[*].lunch.sides[*]') | sort | unique -}}
- ```
-2. **Review** the Output to see that it's the same.
-3. **Re-add** the comments.
-
-**Optional: Use the Map Filter to Generate the Same List**
-
-1. **Type** the following in the next line:
-
- ```django
- {{ CTX.days | map(attribute="lunch.sides")}}
- ```
-2. **Render** the code.
-3. **Review** the Output.
-
-**Optional: Add Different Filters with the List Filter to Organize**
-
-1. **Type** `| list` the following in the next line:
-
- ```django
- {{ CTX.days | map(attribute="lunch.sides") | list}}
- ```
-2. **Try** out filters like `| flatten` or `| sort` to organize.
-3. **Render** the code.
-4. **Review** the Output.
-5. **Re-add** the comments.
-
-
-
-
-
-Step 5: Use More Advanced List Comprehension and Filtering
-
-**Check for a Specific Attribute**
-
-1. **Uncomment** and **Render** the following:
-
- ```django
- {{-
- [
- weekday.day
- for weekday in CTX.days
- if weekday.lunch.drink == "Milk"
- ]
- -}}
- ```
-2. **Review** to see that it only shows Monday even though Friday has Chocolate Milk.
-3. **Re-add** the comments.
-
-**Ensure all Versions of the Attribute are Displayed**
-
-1. **Uncomment** and **Render** the following:
-
- ```django
- {{-
- [
- weekday.day
- for weekday in CTX.days
- if "milk" in weekday.lunch.drink | lower
- ]
- -}}
- ```
-2. **Review** to see that the output includes both options.
-
-**Add String Concatenation to Turn Data into a Sentence**
-
-1. **Replace** the top line of this code snippet to say `weekday.lunch.drink ~ " will be served on " ~weekday.day`.
-2. **Render** the following:
-
- ```django
- {{-
- [
- weekday.lunch.drink ~ " will be served on " ~weekday.day
- for weekday in CTX.days
- if "milk" in weekday.lunch.drink | lower
- ]
- -}}
- ```
-3. **Review** the output.
-
-**Use the Join Operator to Combine the Two Statements**
-
-1. **Add** `| join(" and ")` to the end of the code snippet.
-2. **Render** the following:
-
- ```django
- {{-
- [
- weekday.lunch.drink ~ " will be served on " ~weekday.day
- for weekday in CTX.days
- if "milk" in weekday.lunch.drink | lower
- ] | join(" and ")
- -}}
- ```
-3. **Review** the output.
-4. **Re-add** the comments.
-
-**Multiply numbers within a list by themselves, and output a new list with modified data**
-
-1. **Uncomment & Render** the following:
-
- ```django
-
- {% raw %}
- {% set old_list = [1,2,3] %}
- {% endraw %}
-
-
- {{
- [
- num * num for num in old_list
- ]
- }}
- ```
-
-
-
-
-
-Step 6: Combine List Comprehension and Loops
-
-**Build a List and Loop Through it**
-
-1. **Uncomment** and **Render** the following:
-
-{% code overflow="wrap" %}
-```
-```
-{% endcode %}
-
-\`\`\`django \{%- set milky\_days = \[ weekday for weekday in CTX.days if "milk" in weekday.lunch.drink | lower ] -%\}
-
-\{%- for weekday in milky\_days -%\}
-
-On \{{ weekday.day \}} you should bring a frosty RewstyCola for lunch at \{{ weekday.lunch.time \}} because they are serving \{{ weekday.lunch.drink | lower \}}.
-
-````
-
-
-
-2. **Review** the output.
-3. **Re-add** the comments.
-
-
-
-***
-
-### **Eggstra-Credit!**
-
-
-
-Eggstra-Credit!
-
-**Loop Through and If And Statement and Combine with a Join Operator**
-
-1. **Uncomment** and **Render** the following:
-
- ```django
- On {{
- [
- weekday.day
- for weekday in CTX.days
- if
- "west" in weekday.weather.wind_direction
- and
- (
- "rain" in weekday.weather.conditions | lower
- or
- "storm" in weekday.weather.conditions | lower
- )
- ] | join(" and ")
- }} you will need to close the darn windows!
- ```
-2. **Review** the output.
-3. **Re-add** the comments to revert the code.
-
-**Loop Through and Output JSON Objects**
-
-1. **Uncomment** and **Render** the following:
-
- ```django
- {{-
- [
- {
- "day": weekday.day,
- "temp": weekday.weather.temperature
- }
- for weekday in CTX.days
- if
- weekday.weather.temperature <= 65
- ]
- -}}
- ```
-2. **Review** the output.
-3. **Add** a comma at the end of `"temp": weekday.weather.temperature`.
-4. **Type** `"lunch": weekday.lunch` on the next line.
-5. **Render** the following:
-
- ```django
- {{-
- [
- {
- "day": weekday.day,
- "temp": weekday.weather.temperature,
- "lunch": weekday.lunch
- }
- for weekday in CTX.days
- if
- weekday.weather.temperature <= 65
- ]
- -}}
- ```
-6. **Review** the output to see the lunch attribute added.
-7. **Re-add** the comments to revert the code.
-
-**Output an HTML Table**
-
-1. **Uncomment** the HTML structure at the bottom of your sample code.
-2. **Render** the HTML Structure.
-3. **Open** a text editor and copy/paste the output.
-4. **Save** the file as _Jinja-to-html.html_.
-5. **Drop** the file into a browser to see the results!
-
-
-
-***
-
-## **Conclusion**
-
-Understanding Jinja and its diverse functionalities empowers trainers to create dynamic and responsive workflows within the Rewst environment. By mastering Jinja’s syntax, you can efficiently manipulate data, enabling the seamless execution of complex tasks.
-
-## What Did You Learn?
-
-Take a quick quiz and get instant feedback!
-
-
-
-Knowledge Check
-
-
-
-## Additional Resources
-
-
-
-For more information on using Jinja, check out our documentation:
-
-* [Introduction to Jinja](../../documentation/jinja/intro-to-jinja.md)
-* [Jinja Essentials](../../documentation/jinja/)[ ](../../documentation/jinja/jinja-essentials.md)
-* [Data Types](../../documentation/jinja/data-types.md)
-* [List of Jinja Filters](../../documentation/jinja/list-of-jinja-filters.md)
-* [Filter Examples](../../documentation/jinja/filter-examples.md)
-
-
-
-## Keep On Cluckin'
-
-
-````
-
-
diff --git a/cluck-university/rewst-foundations-10x/104-options-generators-and-generic-api-requests.md b/cluck-university/rewst-foundations-10x/104-options-generators-and-generic-api-requests.md
deleted file mode 100644
index ffb0e32b..00000000
--- a/cluck-university/rewst-foundations-10x/104-options-generators-and-generic-api-requests.md
+++ /dev/null
@@ -1,340 +0,0 @@
----
-description: Welcome to the fourth course in the Rewst Foundations series!
----
-
-# 104 - Options Generators & Generic API Requests
-
-## Introduction
-
-In Rewst 104, we will delve into the intricacies of option generators and generic API requests. Specifically, we will learn how option generators enhance forms, building upon the knowledge acquired in our Rewst 102 course. Additionally, we will explore generic API requests by integrating Microsoft Graph API, demonstrating its functionality within the Rewst platform. We will also implement list comprehension techniques, building upon the concepts introduced in Rewst 103.
-
-When you've completed this training, [don't forget to get credit](104-options-generators-and-generic-api-requests.md#get-credit)[!](https://app.rewst.io/form/cdeabeb5-7fcb-4695-8534-94af2bcb10f0)
-
-{% hint style="danger" %}
-These steps assume you have completed the full steps from Rewst 102.
-
-You can find the instructions to make this form on the [Rewst 102 Page](102-building-a-basic-workflow.md).
-{% endhint %}
-
-## Watch the video and follow along with the steps below
-
-{% embed url="https://youtu.be/pkKRidcAHWA" %}
-
-## Get Credit
-
-{% hint style="success" %}
-To get credit for completing this session offline, please [submit this form](https://app.rewst.io/form/cdeabeb5-7fcb-4695-8534-94af2bcb10f0).
-{% endhint %}
-
-## Follow Along
-
-### Understanding Option Generators
-
-In this course, we will filter groups based on user membership status. When adding a user to a group, only groups the user is a member of will be displayed. Conversely, when removing a user from a group, only groups the user is a member of will be shown. To achieve this, we will utilize option generators, specialized workflows that curate form field options dynamically.
-
-### Part 1: Modifying the Form
-
-We'll start by modifying our existing form from Rewst 102. The group field and add/remove field positions will be switched. When users select a user and the add/remove radio button, these values will be passed to our option generator workflow.
-
-
-
-Step 1: Modify the Form Created in Rewst 102
-
-**Open the Form**
-
-1. **Go to** _Automations_ → _Forms_ in the menu.
-2. **Search** for the _Add or Remove from AzureAD Group_ Form.
-3. **Click** on the Form to Open it.
-
-**Re-order the Form**
-
-1. **Drag and Drop** the _Add or Remove Field_ above _Group_.
-2. **Click** the _Save_ button at the top right of the form builder.
-3. **Click** _Submit_ on the pop-up to confirm.
-
-
-
-***
-
-### Part 2: Creating the Option Generator
-
-In our next steps, we'll go to the Workflow section. Here, we'll craft a new workflow called "Demo Option Generator for Groups Based on User Membership." This workflow will be configured as an option generator, with specified inputs including user ID and action (add or remove). Moreover, we'll set the output configuration variable as "options" for our subsequent tasks.
-
-
-
-Step 2: Create a New Option Generator Workflow
-
-**Create a New Workflow**
-
-1. **Go to** _Automations_ → _Workflows_ in the menu.
- * You can open this in a new tab to make it easier.
-2. **Click** _Create_ at the top right to add a new Workflow.
-3. **Type** _Option Generator for Groups based on User Membership_ for the name.
-4. **Click** Submit.
-
-**Add Output Configuration in Workflow Variables**
-
-1. **Click** on _Configure Workflow Variables_ (The Pencil icon) at the top right of the Menu.
-2. **Choose** _Option Generator_ for the _Workflow Type_ dropdown.
-3. **Click** on the Add (+) button next to _Output Configuration_ at the bottom.
-4. **Type** _options_ for the _Field Name_.
-5. **Click** Submit.
-
-**Add Input Configuration Variables**
-
-1. **Click** on the Add (+) button next to _Input Configuration_.
-2. **Type** _action_ for the _name_.
-3. **Click** _Required_.
-4. **Click** on the Add (+) button next to _Input Configuration_ again.
-5. **Type** _user\_id_ for the _name_.
-6. **Click** _Required_.
-7. **Click** Submit.
-
-
-
-
-
-Step 3: Add the List Member Actions to Option Generator Workflow
-
-**Add a Core Noop Action to the Canvas**
-
-1. **Drag and Drop** the _noop_ action to the Workflow Canvas.
- * You can find this in the Core section or by searching.
-2. **Click** on the _noop_ to open the Details menu.
-3. **Click** the edit button next to _core\_noop_.
-4. **Rename** the action to _add\_or\_remove_.
-5. **Click** _Advanced_.
-6. **Choose** the _Follow First_ Transition Mode.
-
-**Create a Transition for Adding a User**
-
-1. **Click** on the default _On Success_ transition on the _add\_or\_remove_ noop.
-2. **Type** _Add_ for the _Custom Label_.
-3. **Click** the _Custom Condition_ button from the Condition options.
-4. **Click** the Source button next to the _Custom Condition_ field.
-5. **Type** `{{ CTX.action == "add" }}` in the editor.
-6. **Close** the editor.
-
-**Create a Transition for Removing a User**
-
-1. **Click** the Add (+) button next to the _Add_ transition.
-2. **Type** _Remove_ for the _Custom Label_.
-3. **Click** the _Custom Condition_ button from the Condition options.
-4. **Click** the Source button next to the _Custom Condition_ field.
-5. **Type** `{{ CTX.action == "remove" }}` in the editor.
-
-**Add a Graph API Request action to List Member Groups**
-
-1. **Drag and Drop** the _Graph API Request_ action to the Workflow Canvas.
- * You can find this in the Microsoft Graph section or by searching.
-2. **Click** on the new action to open the Details menu.
-3. **Click** the edit button next to the name.
-4. **Rename** the action to _list\_user\_groups_.
-
-**Add API Information to the List User Groups Action**
-
-It is recommended that you reference the API Docs [These docs are references in this portion of the training](https://learn.microsoft.com/en-us/graph/api/user-list-memberof?view=graph-rest-1.0\&tabs=http)
-
-1. **Click** the Source button next to the _Endpoint_ field.
-2. **Add** `/users/{id | userPrincipalName}/memberOf` from the API docs to the editor.
-3. **Replace** `{id | userPrincipalName}` with `{{ CTX.user_id }}` so it looks like the following:
-
- ```django
- /users/{{ CTX.user_id }}/memberOf
- ```
-4. **Close** the editor.
-5. **Click and Drag** the transition from the _add\_or\_remove_ action to the _list\_user\_groups_ action.
- * To do this, you will need to hover over the circle under the _Remove_ section of the action.
-
-**Add a Graph List Groups action to List All Groups**
-
-1. **Drag and Drop** the _List Groups_ action to the Workflow Canvas.
- * You can find this in the Microsoft Graph section or by searching.
-2. **Click** on the action to open the Details menu.
-3. **Click** the edit button next to name.
-4. **Rename** the action to _list\_all\_groups_.
-
-**Add a Data Alias to the List All Groups action**
-
-1. **Click** on the _On Success_ transition.
-2. **Click** on the Add (+) button next to _Data Aliases_.
-3. **Type** _all\_groups_ as the _key_.
-4. **Open** the Source editor.
-5. **Add** the following to the editor:
-
-```django
-{{ RESULT.result.data.value }}
-```
-
-6. **Close** the editor.
-7. **Click and Drag** the transition from the _add\_or\_remove_ action to the _list\_all\_groups_ action.
- * To do this, you will need to hover over the circle under the _Add_ section of the action.
-
-**Add a Data Alias to the List User Groups action**
-
-1. **Click** on the _On Success_ transition of _list\_user\_groups_.
-2. **Click** on the Add (+) button next to _Data Aliases_.
-3. **Type** _group\_list_ as the _key_.
-4. **Open** the Source editor.
-5. **Add** the following to the editor:
-
- ```django
- {{ RESULT.result.data.value }}
- ```
-6. **Close** the editor.
-
-**Copy the List User Groups Action**
-
-1. **Click** on the options menu next to the _list\_user\_groups_ action.
-2. **Click** _Create Copy_.
-3. **Move** it on the Canvas under the _list\_all\_groups_ action.
-4. **Drag** the Transition from _list\_all\_groups_ to the _list\_user\_groups_ copy.
-5. **Click** on the _On Success_ Transition for the new copy.
-6. **Change** the Data Alias from _group\_list_ to _user\_groups_.
-
-**Add a Final Noop to Build the Group List**
-
-1. **Add** a _core\_noop_ action under the _list\_user\_groups_ copy.
-2. **Click** on the action to open the Details menu.
-3. **Change** the name to _build\_group\_list_.
-4. **Click** the _On Success_ Transition.
-5. **Click** on the Add (+) button next to _Data Aliases_.
-6. **Type** _group\_list_ as the _key_.
-7. **Open** the Source editor.
-8. **Add** the following Jinja to the editor:
-
- ```django
- {{
- [
- group
- for group in CTX.all_groups
- if group.id not in [
- user_group.id
- for user_group in CTX.user_groups
- ]
- ]
- }}
- ```
-9. **Close** the editor.
-
-**Add the Final Transition**
-
-1. **Drag** the Transition from _list\_user\_groups_ copy to _build\_group\_list_.
-2. **Click** _Publish_.
-3. **Click** _Submit_.
-
-
-
-***
-
-### Part 3: Trigger and Integration
-
-Next, we'll first add a trigger, configured to always pass, guaranteeing the workflow's execution when necessary inputs are supplied. Following that, we'll integrate the option generator into the group field within the form. To ensure clarity, we'll specify the display name attribute for the label field, ensuring that the options appear as group names for user selection.
-
-
-
-Step 4: Update the options Config and add the Trigger
-
-**Open the Workflow Variables**
-
-1. **Click** on _Configure Workflow Variables_ (The Pencil icon) at the top right of the Menu.
-2. **Open** the source editor next to the options _Output Configuration_.
-3. **Type** the following:
-
- ```django
- {{ CTX.group_list }}
- ```
-4. **Click** Submit.
-
-**Add and Configure the Trigger**
-
-1. **Click** _Add Trigger_ in the top menu.
-2. **Type** _Option Generator_ for the Name.
-3. **Click** the slider next to _Enabled_.
-4. **Choose** _Core - Always Pass_ Trigger Type.
-5. **Click** the Add (+) button next to _Integration Overrides_.
-6. **Choose** _Microsoft Graph_ for the _Integration_ dropdown.
-7. **Click** the slider next to _All current and future managed organizations_.
-8. **Click** _Submit_.
- * You may need to Click _Cancel_ after to close it.
-9. **Click** _Publish_ at the top right of the workflow.
-10. **Click** _Submit_.
-
-
-
-
-
-Step 5: Update the Form to be a Workflow Generated Form
-
-**Change the Group field to Workflow Generated**
-
-1. **Go to** _Automations_ → _Forms_ in the menu.
- * If you already have another tab open, go back to your form.
-2. **Open** the _Add or Remove from AzureAD Group_ Form.
-3. **Click** on the _Group_ field.
-4. **Click** the slider under _Workflow Generated_.
-
-**Configure the Details of the Workflow Generated Field**
-
-1. **Select** the _Option Generator for Groups based on User Membership_ Workflow from the dropdown.
- 1. Refresh the page if the workflow does not appear.
-2. **Replace** the _Label Field_ default with _displayName_.
-3. **Choose** _Option Generator_ for the Trigger.
-4. **Click** _Populate from form field_ under the `action` field.
-5. **Choose** `action` from the dropdown.
-6. **Click** _Populate from form field_ under the `user_id` field.
-7. **Choose** `user_id` from the dropdown.
-8. **Click** _Save_.
-9. **Click** _Submit_.
-
-**Run the Form to Pull the Options Generator**
-
-1. **Click** on _View Usages_ at the top right.
-2. **Click** on the _View Direct URLs_.
-3. **Click** on the link.
-
-⚠️ You will not see the link if you haven't completed Rewst 102 The link shows up because the Workflow built in 102 has the Form set as a trigger. You can find the instructions to make this workflow on the Rewst 102 Page
-
-
-
-
-
-Step 6: Test it!
-
-**Try it for yourself!**
-
-1. **Choose** a User.
-2. **Click** Add or Remove.
-3. **Check** to see if the groups show correctly!
-
-
-
-***
-
-## Conclusion
-
-Congratulations! You've successfully configured an option generator and implemented logic using generic API requests and list comprehension techniques. With this knowledge, you can enhance your forms and streamline group management.
-
-## What Did You Learn?
-
-Take a quick quiz and get instant feedback!
-
-{% embed url="https://www.surveymonkey.com/r/KC104" %}
-Knowledge Check
-{% endembed %}
-
-## Additional Resources
-
-{% hint style="info" %}
-For more information on using Options Generators, Generic API Requests, List Comprehension, and more, check out our documentation:
-
-* [Option Generators](../../documentation/workflows/workflow-generated-options.md)
-* [Generic API Requests](../../documentation/integrations/cloud/microsoft-cloud-integration-bundle/microsoft-graph/microsoft-graph-integration-setup.md#graph-api-request)
-* [List Comprehension](../../documentation/jinja/use-cases-and-best-practices/jinja-lists.md)
-* [Diff Lists](../../documentation/workflows/actions-in-rewst/transform-actions/diff-lists.md)
-* [Microsoft Graph API](https://learn.microsoft.com/en-us/graph/api/overview?view=graph-rest-1.0)
-{% endhint %}
-
-## Keep On Cluckin'
-
-
diff --git a/cluck-university/rewst-foundations-10x/105-improve-group-management-to-support-exchange.md b/cluck-university/rewst-foundations-10x/105-improve-group-management-to-support-exchange.md
deleted file mode 100644
index b64525ea..00000000
--- a/cluck-university/rewst-foundations-10x/105-improve-group-management-to-support-exchange.md
+++ /dev/null
@@ -1,297 +0,0 @@
----
-description: Welcome to the fifth course in the Rewst Foundations series!
----
-
-# 105 - Improve Group Management to Support Exchange
-
-## Introduction
-
-Hello and welcome to Rewst 105, where we focus on managing groups using Microsoft's APIs. We'll learn how to differentiate between different types of groups, whether they are managed using Microsoft Graph or Microsoft Exchange Online. Additionally, we'll explore how to implement feedback messages and handle errors effectively within our workflow.
-
-When you've completed this training, [don't forget to get credit!](https://app.rewst.io/form/4f233131-a105-496f-8904-3153af0a95ba)
-
-{% hint style="danger" %}
-These steps below require [Rewst 102](102-building-a-basic-workflow.md) and [Rewst 104](104-options-generators-and-generic-api-requests.md) to be completed prior to starting the exercise.
-{% endhint %}
-
-## Watch the video and follow along with the steps below
-
-{% embed url="https://youtu.be/yG6h679xnfk" %}
-
-## Get Credit
-
-{% hint style="success" %}
-To get credit for completing this session offline, please [submit this form](https://app.rewst.io/form/4f233131-a105-496f-8904-3153af0a95ba).
-{% endhint %}
-
-## Follow Along
-
-Review this article for more about [Managing Groups: Microsoft Graph vs. Exchange Online](../../documentation/integrations/general/microsoft-graph-vs-exchange-online.md).
-
-### Part 1: Get Group Object
-
-We'll start by retrieving the group object using the group ID. This action is performed using the Microsoft Graph API.
-
-
-
-Step 1: Getting the Properties of a Group
-
-⚠️ These steps assume you have completed the full steps from Rewst 104 You can find the instructions to make this form on the Rewst 104 Page
-
-**Add a Get Group Action**
-
-1. **Open** the _Add or Remove from AzureAD Group_ workflow.
-2. **Add** a _Get Group_ action from the _Microsoft Graph_ category.
-3. **Move** the _Get Group_ action to top of the workflow.
-4. **Rename** the _Get Group_ action to "get\_group".
-5. **Set** _Group ID_ to `{{ CTX.group_id }}` under _Parameters_.
-6. **Click** the _On Success_ transition of _Get Group_.
-7. **Create** a Data Alias:
- * _Key_: `group`
- * _Value_: `{{RESULT.result.data.value}}`
-
-
-
-### Part 2: Determine Group Type
-
-Next, we'll use conditional logic to determine the group type based on the group object properties. Depending on the type, the workflow branches out to the corresponding actions.
-
-
-
-Step 2: Differentiating Group Types
-
-**Create a Fork in the Workflow**
-
-1. **Add** a noop below the _get\_group_ action to create a new fork in the workflow.
-2. **Connect** the _On Success_ transition from _get\_group_ to the new noop.
-3. **Click** the noop.
-4. **Rename** the noop "check\_group\_type".
-5. **Click** Advanced.
-6. **Set** the _Transition Mode_ to _Follow First_.
-
-**Identify Dynamic Membership Groups**
-
-1. **Click** the _On Success_ transition on _check\_group\_type_.
-2. **Add** "Dynamic Group" as the Custom Label.
-3. **Set** the _Custom Condition_ as `{{ "DynamicMembership" in CTX.group.groupTypes }}`.
-
-**Identify Unified and non-Mail Enabled Groups**
-
-1. **Add** another transition labeled "Graph" for _check\_group\_type_.
-2. **Set** the _Custom Condition_ as `{{ "Unified" in CTX.group.groupTypes or not CTX.group.mailEnabled }}`.
-3. **Connect** the _Graph_ transition to the _add\_or\_remove_ noop.
-
-**Add a Transition for Exchange Online Managed Groups**
-
-1. **Add** another transition labeled _Exchange Online_ for _check\_group\_type_.
-2. **Copy** _add\_or\_remove_.
-3. **Rename** the copy to "_add\_or\_remove\_exo_".
-4. **Move** _add\_or\_remove\_exo_ below and to the right of _check\_group\_type_.
-5. **Connect** the _Exchange Online_ transition from _check\_group\_type_ to _add\_or\_remove\_exo_.
-
-
-
-***
-
-### Part 3: Add or Remove Users
-
-For Unified and Security Groups managed by Microsoft Graph or Distribution Groups managed by Exchange Online, we'll implement actions to add or remove users based on the group type.
-
-
-
-Step 3: Implementing Add Using Microsoft Exchange Online
-
-**Implement Add-DistributionGroupMember**
-
-1. **Add** an _InvokeCommand_ action from the _Microsoft Exchange_ category.
-2. **Move** the _InvokeCommand_ action under the _Add_ transition of _add\_or\_remove\_exo_.
-3. **Connect** the _Add_ transition to the _InvokeCommand_ action.
-4. **Click** the _InvokeCommand_ action.
-5. **Rename** the action "exo\_add\_group\_member"
-6. **Enter** `Add-DistributionGroupMember` for _Cmdlet Name_.
-7. **Add** the parameters:
- * _Member_: `{{ CTX.user_id }}`
- * _Identity_: `{{ CTX.group_id }}`
- * _BypassSecurityGroupManagerCheck_: `{{ true }}`
-
-
-
-
-
-Step 4: Implementing Remove Using Microsoft Exchange Online
-
-**Implement Remove-DistributionGroupMember**
-
-1. **Copy** _exo\_add\_group\_member_.
-2. **Click** the copied _exo\_add\_group\_member_.
-3. **Rename** the action "_exo\_remove\_group\_member_"
-4. **Move** _exo\_remove\_group\_member_ under the _Remove_ transition of _add\_or\_remove\_exo_.
-5. **Connect** the _Remove_ transition to the _exo\_remove\_group\_member_ action.
-6. **Enter** `Remove-DistributionGroupMember` for _Cmdlet Name_
-7. **Check** the parameters are set:
- * _Member_: `{{ CTX.user_id }}`
- * _Identity_: `{{ CTX.group_id }}`
- * _BypassSecurityGroupManagerCheck_: `{{ true }}`
-
-
-
-***
-
-### Part 4: Handle Errors and Provide Feedback
-
-Next, we'll incorporate error-handling mechanisms by providing feedback messages for successful or failed actions. This ensures a seamless user experience and clear communication in case of issues.
-
-
-
-Step 5: Configure Workflow Settings
-
-**Output Variable Setup**
-
-1. **Click** Configure Workflow Settings (Pencil icon)
-2. **Add** an Output Configuration variable:
- * _Field Name_: `group_result`
- * _Value_: `{{ CTX.group_result }}`
-3. **Click** Submit.
-4. **Click** Configure Workflow Settings to exit.
-
-
-
-
-
-Step 6: Implementing Feedback Messages to Microsoft Graph Actions
-
-**Add On Success and On Failure Messages to \_microsoft\_graph\_add\_group\_member**\_
-
-1. **Click** the _On Success_ transition for _microsoft\_graph\_add\_group\_member_.
-2. **Create** a _Data Alias_:
- * _Key_: `group_result`
- * _Value_: User was added to MS Graph Group `{{ CTX.group.displayName | d }}`.
-3. **Add** a new transition.
-4. **Click** the new transition.
-5. **Click** _On Failure_ under _Condition_.
-6. **Add** a _Data Alias_:
- * _Key_: `group_result`
- * _Value_: Failed adding the user to Graph Group `{{ CTX.group.displayName | d }}`.
-
-**Add On Success and On Failure Messages to \_microsoft\_graph\_remove\_group\_member**\_
-
-1. **Click** the _On Success_ transition for _microsoft\_graph\_remove\_group\_member_.
-2. **Create** a _Data Alias_:
- * _Key_: `group_result`
- * _Value_: User was removed from MS Graph Group `{{ CTX.group.displayName | d }}`.
-3. **Add** a new transition.
-4. **Click** the new transition.
-5. **Click** _On Failure_ under _Condition_.
-6. **Add** a _Data Alias_:
- * _Key_: `group_result`
- * _Value_: Failed removing the user from Graph Group `{{ CTX.group.displayName | d }}`.
-
-
-
-
-
-Step 7: Implementing Feedback Messages to Exchange Online Actions
-
-**Add On Success and On Failure Messages to \_exo\_add\_group\_member**\_
-
-1. **Click** the _On Success_ transition for _exo\_add\_group\_member_.
-2. **Add** a _Data Alias_:
- * _Key_: `group_result`
- * _Value_: User was added to Exchange Group `{{ CTX.group.displayName | d }}`.
-3. **Add** a new transition.
-4. **Click** the new transition.
-5. **Click** _On Failure_ under _Condition_.
-6. **Add** a _Data Alias_:
- * _Key_: `group_result`
- * _Value_: Failed adding the user to Exchange Group `{{ CTX.group.displayName | d }}`.
-
-**Add On Success and On Failure Messages to \_exo\_remove\_group\_member**\_
-
-1. **Click** the _On Success_ transition for _exo\_remove\_group\_member_.
-2. **Add** a _Data Alias_:
- * _Key_: `group_result`
- * _Value_: User was removed from Exchange Group `{{ CTX.group.displayName | d }}`.
-3. **Add** a new transition.
-4. **Click** the new transition.
-5. **Click** _On Failure_ under _Condition_.
-6. **Create** a _Data Alias_:
- * _Key_: `group_result`
- * _Value_: Failed removing the user from Exchange Group `{{ CTX.group.displayName | d }}`.
-
-
-
-***
-
-### Part 5: Workflow Completion and Success
-
-Finally, we'll set up the workflow completion criteria, ensuring that the workflow is considered successful if at least one parent task succeeds.
-
-
-
-Step 8: Finishing Touches
-
-**Add an On Failure Message for get\_group**
-
-1. **Create** a new transition for _get\_group_.
-2. **Click** the new transition.
-3. **Click** _On Failure_ under _Condition_.
-4. **Add** a _Data Alias_:
- * _Key_: `group_result`
- * _Value_: Failed to get Group information for `{{ CTX.group_id }}`.
-
-**Add a Message for Dynamic Groups**
-
-1. **Click** the _Dynamic Group_ transition on _check\_group\_type_
-2. **Add** a _Data Alias_:
- * _Key_: `group_result`
- * _Value_: The Group `{{ CTX.group.displayName | d }}` is a Dynamic Group and can not be directly modified. You will need to edit its Membership Rules to modify this.
-
-**Add a Finish to the Workflow**
-
-1. **Add** a noop towards the bottom of the workflow.
-2. **Click** the newly added noop.
-3. **Rename** the noop "finish".
-4. **Set** the _Task Transition Criteria Sensitivity_ to _1_ under _Advanced_.
-5. **Connect** the transitions from _graph\_add\_group\_member_, _graph\_remove\_group\_member_, _exo\_add\_group\_member_, and _exo\_remove\_group\_member_ to the finish noop.
-
-
-
-
-
-Step 9: Test it
-
-**Try it for yourself**
-
-1. **Choose** a User.
-2. **Click** Add or Remove.
-3. **Select** a Group.
-4. **Check** the results of the workflow to see which action is executed.
-
-
-
-## Conclusion
-
-Rewst 105 equips you with the knowledge and skills to manage groups effectively in Rewst. By understanding the nuances of different group types and employing the appropriate APIs, you can efficiently handle group operations within your applications.
-
-***
-
-## What Did You Learn?
-
-Take a quick quiz and get instant feedback!
-
-{% embed url="https://www.surveymonkey.com/r/KC105" %}
-Knowledge Check
-{% endembed %}
-
-## Additional Resources
-
-{% hint style="info" %}
-For more information on Microsoft Exchange PowerShell Commandlets, check out their documentation:
-
-* [Managing Groups: Microsoft Graph vs. Exchange Online](../../documentation/integrations/general/microsoft-graph-vs-exchange-online.md)
-* [Exchange PowerShell Commandlets](https://learn.microsoft.com/en-us/powershell/module/exchange/?view=exchange-ps)
-{% endhint %}
-
-## Keep On Cluckin'
-
-
diff --git a/cluck-university/rewst-foundations-10x/106-subworkflows-and-with-items.md b/cluck-university/rewst-foundations-10x/106-subworkflows-and-with-items.md
deleted file mode 100644
index bd64d3f6..00000000
--- a/cluck-university/rewst-foundations-10x/106-subworkflows-and-with-items.md
+++ /dev/null
@@ -1,201 +0,0 @@
----
-description: Welcome to the sixth course in the Rewst Foundations series!
----
-
-# 106 - Sub-Workflows and With Items
-
-## Introduction
-
-Hello and welcome! In Rewst 106, we'll complete our workflow and explore how to use Sub-Workflows and With Items in Rewst. Sub-Workflows enable us to utilize workflows within other workflows, creating a parent-child relationship. With Items is a feature in Rewst that allows actions or workflows to run on all items in a list simultaneously. We'll demonstrate how to leverage these functionalities to manage group memberships efficiently.
-
-When you've completed this training,[ don't forget to get credit!](https://app.rewst.io/form/1339a9d0-a298-4e2e-8d40-2fa1626509a8)
-
-## Watch the video and follow along with the steps below
-
-{% embed url="https://youtu.be/r2LMDkzp3ac" %}
-
-## Get Credit
-
-{% hint style="success" %}
-To get credit for completing this session offline, please [submit this form](https://app.rewst.io/form/1339a9d0-a298-4e2e-8d40-2fa1626509a8).
-{% endhint %}
-
-## Follow Along
-
-### Part 1: Creating a Parent Workflow in Rewst
-
-First, we're going to build a new parent workflow that starts by getting the User from the form.
-
-
-
-Step 1: Building the new Parent Workflow
-
-**Setting Input Configuration Variables**
-
-1. **Create** a new workflow named "Add or Remove User from Multiple Groups".
-2. **Add** Input Configuration variables:
- * _action_
- * _user\_id_
- * _group\_ids_
-3. **Set** type to _List_ for group\_ids.
-4. **Click** Submit.
-
-**Adding **_**Get User**_** Action**
-
-1. **Add** a _Get User_ action from the Microsoft Graph category.
-2. **Rename** the action _get\_user_.
-3. **Set** the parameter _User ID_ to `{{ CTX.user_id }}`.
-4. **Click** the _On Success_ transition.
-5. **Create** a Data Alias:
- * _Key_: `target_user`
- * _Value_: `{{ RESULT.result.data.value }}`
-
-
-
-### Part 2: Adding a Sub-Workflow and Utilizing With Items
-
-Next, we're going to add our original workflow as the Sub-Workflow and modify the form and Form Trigger to take advantage of With Items.
-
-
-
-Step 2: Adding a Sub-Workflow into the Parent Workflow
-
-**Add the **_**Add or Remove Group Membership**_** workflow**
-
-1. **Add** the _Add or Remove from AzureAD Group_ workflow from the _Workflows_ category.
- 1. This is the workflow that was updated in Rewst 105; adding this action makes it a Sub-Workflow.
-2. **Connect** _On Success_ transition of _get\_user_ to the sub-workflow.
-3. **Rename** the Sub-Workflow to "modify\_group\_member".
-4. **Set** _With Items_ in the Advanced tab to `{{ CTX.group_ids }}`.
-5. **Configure** the _Parameters_ of the sub-workflow.
- * _action_: `{{ CTX.action }}`
- * _user\_id_: `{{ CTX.user_id }}`
- * _group\_id_: `{{ item() }}`
-
-
-
-
-
-Step 3: Modifying the Form Trigger
-
-**Configuring **_**Add or Remove User from AzureAD Group Form**_
-
-1. **Navigate** to _Add or Remove from AzureAD Group_ form.
- * (Optional): Clone the form, to keep a copy of the form, and work on the cloned copy going forward.
- * (Optional): Rename the form to _Add or Remove from AzureAD Groups Form_.
-2. **Add** a Multi-Select Field to the form.
-3. **Configure** the Multi-Select field:
- * _Field Name_: `group_ids`
- * _Field Label_: Groups
- * _Field Description_: Select the groups to add to or remove from.
- * _Dynamic Options_: Enabled
- * _Workflow Generated_: Enabled
- * _Workflow_: Option Generator for Groups based on User Membership
- * _Label Field:_ displayName
- * _Trigger:_ Option Generator
- * _Workflow Inputs:_ Note the variable at the end of the name. Check _Populate from form field_ and select the variable that corresponds with each input.
-4. **Remove** the previous Group field.
-
-**Add the Form as a Trigger for the Parent Workflow**
-
-1. **Return** to the parent workflow.
-2. **Add** a form trigger to Add or Remove User from Multiple Groups
- * _Name_: Form Trigger
- * _Enabled_ toggled
- * _Trigger Type_: Core - Form Submission
- * _Form_: Add or Remove User from AzureAD Groups
-3. **Click** Submit.
-
-
-
-### Part 3: Collect the Modification Results and Send Email Notifications
-
-Next, we're going to capture the results and store them in a list in order to send the information via email.
-
-
-
-Step 4: Sending Feedback to the User
-
-**Get the Results**
-
-1. **Add** a noop below _modify\_group\_member_.
-2. **Rename** it "collect\_modification\_results".
-3. **Connect** modify\_group\_member's On Success transition to _collect\_modification\_results_.
-4. **Click** _collect\_modification\_results_'s transition.
-5. **Create** a Data Alias:
- * key: `modification_results`
- * value:
-
-```django
-{{
- [
- modification.result.group_result
- for modification in TASKS.modify_group_member.collected_results
- ]
-}}
-```
-
-**Set Up Rewst to Email the Results**
-
-1. **Add** a Core sendmail action below _collect\_modification\_results_.
-2. **Connect** _collect\_modification\_results_'s transition to _core\_sendmail_.
-3. **Click** _core\_sendmail_.
-4. **Set** the Parameters:
- * Recipient: `{{ CTX.user.username }}`.
- * Subject: User `{{ CTX.target_user.displayName | d }}` Group Modification
- * Title: User `{{ CTX.target_user.displayName | d }}` Group Modification
- * Message:
-
-{% code overflow="wrap" %}
-```django
-The group memberships for {{ CTX.target_user.displayName|d }} have been modified:
-
-
-* {{ CTX.modification_results | join('\n* ') }}
-```
-{% endcode %}
-
-
-
-### Part 4: Testing the Workflow
-
-Finally, we'll test it all out to see how it works!
-
-
-
-Step 5: Test It
-
-**Adding or Removing a User to Multiple Groups**
-
-1. **Access** the form.
-2. **Select** a user.
-3. **Select** Add or Remove.
-4. **Select** multiple groups.
-5. **Confirm** that an email is received with the feedback messages.
-
-
-
-## Conclusion
-
-Thank you for watching! We hope this course helps you effectively utilize Sub-Workflows and With Items in Rewst for efficient workflow management. If you have any questions or need further assistance, don't hesitate to reach out. Happy automating!
-
-## What Did You Learn?
-
-Take a quick quiz and get instant feedback!
-
-{% embed url="https://www.surveymonkey.com/r/KC106" %}
-Knowledge Check
-{% endembed %}
-
-## Additional Resources
-
-{% hint style="info" %}
-For more information about With Items and Sub-Workflows, check out our documentation:
-
-* [With Items](../../documentation/workflows/configuring-your-workflow-tasks/advanced-workflow-operations.md#with-items)
-* [Sub-workflows](../../documentation/workflows/different-types-of-workflows.md#subworkflow)
-{% endhint %}
-
-## Keep On Cluckin'
-
-
diff --git a/cluck-university/rewst-foundations-10x/README.md b/cluck-university/rewst-foundations-10x/README.md
index c123596c..1421841c 100644
--- a/cluck-university/rewst-foundations-10x/README.md
+++ b/cluck-university/rewst-foundations-10x/README.md
@@ -1,8 +1,34 @@
-# Rewst Foundations (100 Series)
+# Rewst Foundations
-Hatch your potential in the world of automation with our Foundations series. From constructing a basic form to hatching your very first workflow and triggering it with a form, you'll gain the confidence to streamline your processes and enhance productivity.
+Hatch your potential in the world of automation with our Foundations course. From constructing a basic form to hatching your very first workflow and triggering it with a form, you'll gain the confidence to streamline your processes and enhance productivity.
-Each class in the series builds upon the last, providing a step-by-step approach to mastering automation and workflow enhancement. If you're seeking to level up your technical skills, streamline your business processes, or just become a superhero of automation, this series gives you the power to become a true champion. Join us to transform the way you work with Rewst, and unlock a world of possibilities.
+Each lesson in the series builds upon the last, providing a step-by-step approach to mastering automation and workflow enhancement. If you're seeking to level up your technical skills, streamline your business processes, or just get started with automation in Rewst, this course gives you the power to become a true champion.
-
+At the end of the course, you'll be ready for your Rewst Foundations Certification Exam!
+
+## Course Prerequisite
+
+1. Complete all [Getting Started](../getting-started/) resources
+2. Get access to Rewst (to build examples and get hands-on practice)
+3. Start going through onboarding (you'll be working with organizations, integrations, and more in this course)
+
+## Course Lessons
+
+Use the left-hand menu to expand this page and navigate lesson by lesson (through subpages) to make your way forward. Or, use the links below.
+
+1. [Laying the Foundations of Automations](101-laying-the-foundations-of-automations/)
+2. [Building a Basic Form and Workflow](101-laying-the-foundations-of-automations-1/)
+3. [Jinja Essentials for Workflow Automation](lesson-3-jinja-essentials-for-workflow-automation/)
+4. [Creating an Option Generator Workflow](lesson-4-creating-an-option-generator-workflow/)
+5. [Managing Workflow Paths](lesson-5-managing-workflow-paths/)
+6. [Implementing Error-Handling in Rewst Workflows](lesson-6-implementing-error-handling-in-rewst-workflows/)
+7. [Optimizing Workflow Design](lesson-7-optimizing-workflow-design/)
+
+## Feedback and Support
+
+Share feedback on your learning experience: TBD
+
+Get support throughout the course via [Office Hours](../office-hours.md) and the #cluck-u channel in Rewst Discord!
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/README.md b/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/README.md
new file mode 100644
index 00000000..60352794
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/README.md
@@ -0,0 +1,65 @@
+# Lesson 3: Jinja Essentials for Workflow Automation
+
+## **What to Eggs-pect**
+
+After completing this lesson, you will be able to:
+
+1. Recognize JSON formatting in the context of the Jinja live editor
+2. Identify common Jinja syntax and filters
+3. Use the Live Editor to practice Jinja code on Context data
+4. Practice writing list comprehension, using Jinja, to create a new list from existing list data
+5. Recognize where to use Jinja in workflows
+
+When you've completed this training, don't forget to [check your knowledge](./#what-did-you-learn) and [get credit](./#get-credit)!
+
+### **Prerequisite(s)**
+
+In this lesson, we review context data from the form and workflow that you create in "Building a Basic Form and Workflow."
+
+## Lesson Modules
+
+To get started, select the first module. Each module includes a video and written guidance with resources, followed by navigation to go back/forward. To wrap up the lesson, visit [Next Steps](./#next-steps).
+
+1. [Introduction to Jinja, JSON, and The Context](introduction-to-jinja-json-and-the-context.md) (_1:10 Minutes + 3:50 Minutes_)
+2. [Basic Jinja Syntax and Filters](basic-jinja-syntax-and-filters.md) (_5:21 Minutes_)
+3. [Jinja List Comprehension](jinja-list-comprehension.md) (_3:16 Minutes_)
+4. [Jinja List Comprehension Examples](jinja-list-comprehension-examples-them-apples.md) _(4:56 Minutes_)
+5. [Using Jinja in Rewst Workflows](using-jinja-in-rewst-workflows.md) _(6:31 Minutes_)
+
+### Lesson Resources
+
+{% hint style="info" %}
+Check out these supplementary resources.
+
+* [intro-to-jinja.md](../../../documentation/jinja/intro-to-jinja.md "mention")
+* [jinja-essentials.md](../../../documentation/jinja/jinja-essentials.md "mention")
+* [data-types.md](../../../documentation/jinja/data-types.md "mention")
+* [list-of-jinja-filters.md](../../../documentation/jinja/list-of-jinja-filters.md "mention")
+* [filter-examples.md](../../../documentation/jinja/filter-examples.md "mention")
+* [Lunch Menu Exercise](https://app.rewst.io/jinja-live-editor?id=4ee84407-d0c1-4a9a-94b3-84c643b8dd3f)
+* [intro-to-templates.md](../../../documentation/templates-messages/intro-to-templates.md "mention")
+* [jinja-lists.md](../../../documentation/jinja/use-cases-and-best-practices/jinja-lists.md "mention")
+* [how-to-reference-data-with-variables.md](../../electives/how-to-reference-data-with-variables.md "mention")
+{% endhint %}
+
+## Next Steps
+
+Complete the **Knowledge Check** and remember to **Get Credit** for your learning.
+
+### What Did You Learn?
+
+Take a quick quiz and get instant feedback!
+
+{% embed url="https://www.surveymonkey.com/r/jinjaessentialsforworkflowautomationKC" %}
+
+### Get Credit
+
+{% hint style="danger" %}
+[Submit this form](https://app.rewst.io/form/ef9d5d9a-f4d0-4aaf-a7a0-c11a9b3b80a1) to get credit for completing this lesson offline.
+{% endhint %}
+
+### Keep On Cluckin'
+
+You've created a simple form, a workflow, and connected them with a trigger. In upcoming lessons, you’ll refine this automation. But first...it's time to learn the basics of Jinja (and demystify all of that "CTX.user\_id," "CTX.group\_id" stuff). Jump to the next lesson when you're ready!
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/basic-jinja-syntax-and-filters.md b/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/basic-jinja-syntax-and-filters.md
new file mode 100644
index 00000000..614cc12f
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/basic-jinja-syntax-and-filters.md
@@ -0,0 +1,93 @@
+---
+description: >-
+ Identify common Jinja syntax and filters + Use the Live Editor to practice
+ Jinja code on data from the context
+---
+
+# Basic Jinja Syntax and Filters
+
+## Module Overview
+
+:bulb: It's time to tackle basic Jinja syntax and filters. These building blocks will help you write and practice Jinja code in the Jinja Live Editor, and eventually use it in your Rewst workflows.
+
+### Video (_5:21 Minutes)_
+
+{% embed url="https://youtu.be/2guz71Ytizo?si=a30A-pkaAT2Qbh5d" %}
+
+Key Concepts About Jinja Syntax
+
+
+
+Output Dynamic Content:
+
+* Use two curly braces to output or print data from your workflow.
+* Example:`{{ CTX.action }}` outputs the value of the "action" variable, such as "add" or "remove."
+
+
+
+
+
+Jinja Statements:
+
+* Use `{% %}` for code blocks that control logic, such as if/else statements or loops.
+* Example:`{% if CTX.action == "add" %} The user was added{% else %} The user was removed{% endif %}`
+
+
+
+
+
+Comments:
+
+* Use `{# #}` to add comments in your code. Comments are ignored during execution but help others (or yourself) understand the code.
+* Example:`{# This is a comment #}`
+
+
+
+
+
+Removing Extra Spaces:
+
+* Use a dash inside any of these delimiters to strip extra spaces.
+* Example:`{{- CTX.action -}}`
+
+
+
+
+
+Jinja Filters
+
+Filters modify data in Jinja without changing the original information. Common filters allow you to format dates, capitalize text, or provide default values.
+
+* Example: Use the `d` filter to avoid errors if a context variable is empty:
+
+`{{ CTX.group.displayName | d }}` outputs an empty string if there is no display name for the group.
+
+
+
+
+
+### Action Items
+
+1. Review Context Data from the "Building a Basic Form and Workflow" Lesson
+
+Open the workflow results from your "Add or Remove User - Microsoft Group" workflow and review the context data. Practice rendering the following Jinja code in the Jinja Live Editor, and notice that the results match the values of the context data for the variables:
+
+
+
+* `{{ CTX.action }}`
+* `{{ CTX.user_id }}`
+* `{{ CTX.group_id }}`
+
+2. Complete the Lunch Menu Exercises:
+
+Navigate to the "Lesson Resources" section to access the "Lunch Menu" sample data set and instructions for using Jinja syntax and filters in the Jinja Live Editor. Focus on:
+
+* Rendering values from the context
+* Applying Jinja filters to format the output
+* Practicing list comprehension (using two different methods -- a Jinja statement, and list comprehension).
+
+By practicing these exercises, you’ll solidify your understanding of Jinja syntax, filters, and data manipulation in Rewst workflows.
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/introduction-to-jinja-json-and-the-context.md b/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/introduction-to-jinja-json-and-the-context.md
new file mode 100644
index 00000000..13271220
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/introduction-to-jinja-json-and-the-context.md
@@ -0,0 +1,71 @@
+---
+description: >-
+ Recognize JSON formatting in the context of the Jinja live editor + Use the
+ Live Editor to practice Jinja code on data from the context
+---
+
+# Introduction to Jinja, JSON, and The Context
+
+## Module Overview
+
+:bulb: Let's explore the format of JSON data in the context of the Jinja Live Editor, to visualize and experiment with data as part of Rewst workflows.
+
+### Video _(1:10 Minutes)_
+
+{% embed url="https://youtu.be/FqAISlf40wM?si=Som5P-HrI1KtbPkf" %}
+
+### Video (_3:50 Minutes)_
+
+{% embed url="https://youtu.be/H_lX0k871zU?si=bGNgniYjFsAX1Abt" %}
+
+
+
+Key Concepts About Jinja and JSON
+
+* Jinja is the templating language used in Rewst workflows. It allows you to create placeholders in your code that are filled in with real data when the workflow runs.
+* Think of Jinja as your tool for working with dynamic data like user names, group IDs, and actions.
+* Every time a Rewst workflow runs, the data processed is shown in JSON (JavaScript Object Notation) format in the context of the workflow.
+* JSON organizes data into objects (also called context variables in Rewst workflows), with key: value pairs. For example, "action" is a key and "add" could be the value.
+
+
+
+
+
+Working with Object Attributes
+
+In JSON, objects may have additional attributes, organized within more braces. You can access a specific attribute using dot notation.
+
+* For example, to get the organization ID, use "CTX.organization.id" in the Jinja Live Editor.
+* If you need the entire object, ask for "CTX.organization" to get all its attributes and values.
+
+
+
+
+
+Accessing Context Data in Rewst
+
+To get familiar with your context data, complete these steps in Rewst:
+
+1. Open the "Add or Remove User - Microsoft Group" workflow and go to the "workflow results" by selecting the graph icon.
+2. Open the most recent success and review the Context data. This will show you all the information processed during the workflow execution.
+
+Key objects like "action," "user\_id," and "group\_id" are visible as part of the context data. These were configured in the workflow input and are now accessible for use in Jinja code.
+
+
+
+
+
+Exploring the Jinja Live Editor
+
+The Jinja Live Editor is a great place to experiment with Jinja code. You can paste in JSON data and practice writing Jinja statements without affecting any real data.
+
+
+
+### Action Items
+
+* Read the [Jinja Essentials ](https://docs.rewst.help/documentation/jinja/jinja-essentials)documentation for more information on Jinja and JSON, including Rewst examples
+* Review the context data from your "Add or Remove User - Microsoft Group" workflow execution (part of the lesson, "Building a Basic Form and Workflow").
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/jinja-list-comprehension-examples-them-apples.md b/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/jinja-list-comprehension-examples-them-apples.md
new file mode 100644
index 00000000..4a974a7a
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/jinja-list-comprehension-examples-them-apples.md
@@ -0,0 +1,59 @@
+---
+description: >-
+ Practice writing list comprehension, using Jinja, to create a new list from
+ existing list data.
+---
+
+# Jinja List Comprehension Examples ("Them Apples")
+
+## Module Overview
+
+:bulb: Let's explore list comprehension with two examples, focusing on how the output (first part) and condition (last part, optional) can be used.
+
+### Video (_4:56 Minutes)_
+
+{% embed url="https://youtu.be/VZ9SZ5Q6nOY?si=gelo03VRTQvO6WJD" %}
+
+Picture this: a basket of apples labeled "them\_apples." Each apple has attributes like color, shape, and brand name (e.g., Granny Smith, Red Delicious). We’ll use these details to build two different lists.
+
+
+
+Example 1: Apple Names
+
+We want a list of the apple brand names. Here's how the list comprehension breaks down:
+
+* **Output:** The specific attribute we want is the apple's name. So, we use `apple.name`.
+* **For Loop:** Loop through each apple with `for apple in CTX.them_apples`.
+* **Condition:** No condition needed here.
+
+The result is a list of brand names like Pink Lady, Honeycrisp, and Jazz, stored in `CTX.apple_names`. You’ll learn more about storing lists in the lesson on Creating an Option Generator Workflow.
+
+
+
+
+
+Example 2: Down With Red Delicious
+
+This time, let's filter a list by the attribute "color" to create a new list that excludes red apples.
+
+* **Output:** We want the whole apple this time, so we use `apple`.
+* **For Loop:** Same as before, `for apple in CTX.them_apples`.
+* **Condition:** Only include apples with the colors pink or green, by writing `if "green" in apple.color or if "pink" in apple.color`.
+
+Alternative methods for the condition could be:
+
+* `if "red" not in apple.color`
+* `if "Red Delicious" not in apple.name`
+
+This gives us a new list of only pink and green apples, stored in `CTX.best_apples`.
+
+
+
+### Action Items
+
+* Practice the Lunch Menu exercises that use list comprehension.
+* Post further questions about list comprehension in the #cluck-u Rewst Discord channel to get help from professors and peers!
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/jinja-list-comprehension.md b/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/jinja-list-comprehension.md
new file mode 100644
index 00000000..19096901
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/jinja-list-comprehension.md
@@ -0,0 +1,48 @@
+---
+description: >-
+ Practice writing list comprehension, using Jinja, to create a new list from
+ existing list data
+---
+
+# Jinja List Comprehension
+
+## Module Overview
+
+:bulb: List comprehension (a special enhancement to "Rewst-flavored Jinja"!) allows you to create a new list from an existing one in a simplified way, without needing to end the code with `{% endfor %}`. It consists of three parts:
+
+1. Output – What do you want in your new list?
+2. For Loop – How do you loop through data in the original list?
+3. Condition (Optional) – Do you need to filter items to include in your new list?
+
+Here's the basic structure:
+
+`{{` \
+`[ output for output`\
+`in CTX.list`\
+`if condition ]}}`
+
+### Video (_3:16 Minutes)_
+
+{% embed url="https://youtu.be/bvCXCyCl5rE?si=X0djxKF7Jduux1nL" %}
+
+
+
+Additional Tips
+
+* Use dot notation in the output to specify parts of each item.
+* The condition (typically, an "if" statement) is optional and filters based on criteria like "if the color is not red."
+* If you want to turn the list into a string, apply the "join" filter. You'll find an example of this in the "Lunch Menu" exercises for this lesson.
+
+For a few examples, refer to the Jinja List Comprehension Examples module.
+
+
+
+### Action Items
+
+Practice the list comprehension exercises included in the "Lunch Menu" data set: [#lesson-resources](./#lesson-resources "mention")
+
+
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/using-jinja-in-rewst-workflows.md b/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/using-jinja-in-rewst-workflows.md
new file mode 100644
index 00000000..6df94159
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/using-jinja-in-rewst-workflows.md
@@ -0,0 +1,59 @@
+---
+description: Recognize where to use Jinja in workflows.
+---
+
+# Using Jinja in Rewst Workflows
+
+## Module Overview
+
+:bulb: In Rewst workflows, Jinja helps us work with variables in automations. You’ll see variables in places like:
+
+* Form field names
+* Workflow configuration settings
+* Action parameters (like "publish results as")
+* Workflow transitions (custom conditions, data aliases)
+
+Context variables are created and modified through workflow actions and transitions, making data reusable across the workflow. Let’s break down some key workflows where Jinja plays a role.
+
+### Video (6_:31 Minutes)_
+
+{% embed url="https://youtu.be/UgcaWp9rZi8?si=40ubnOI6blYq8rjO" %}
+
+
+
+Jinja Throughout the Rewst Foundations Course
+
+Here are a few examples of how and where you'll use Jinja in other course lessons:
+
+* **Building a Basic Form and Workflow:** Form field names become input variables (e.g., `user_id`, `group_id`, `action`), which are passed into the workflow context for each form submission. If you've already completed this lesson, you've used Jinja by using code in your action parameters: `CTX.group_id` and `CTX.user_id` .
+* **Creating an Option Generator Workflow:** You’ll configure output variables like `{{ CTX.group_result }}` for workflow output.
+* **Workflow Logic:** Custom conditions use Jinja to check variable attributes, e.g., `{{ Graph }}` transition.
+* **Getting Modular with a Sub-Workflow:** Input variables become required parameters when this workflow is used in a "parent workflow."
+
+
+
+
+
+How Data is Created in a Workflow
+
+Data is created through workflow actions in two ways:
+
+1. **Action Result:** When the action runs, Rewst gets raw data (e.g., Microsoft Graph API response) stored in the "Result" section.
+2. **Data Alias:** If a transition condition is met, data aliases can store results (e.g., success or failure).
+
+Check out this example of a Microsoft Graph List Groups action:
+
+* Data is stored in `group_list` and validated by a data alias called `hooray`in the "on success" transition.
+* If the action fails, the data alias `boo`would show in the workflow execution results (as it is added to the "on failure" transition).
+
+**Pro Tip:** Use a data alias to store and modify data as needed. You’ll practice this in the lesson on Creating an Option Generator Workflow.
+
+
+
+### Action Items
+
+Beyond the examples reviewed in this module, you can also use Jinja in a feature available for workflow actions, called "Publish Results As." To see this in action, watch the video on how to reference data with variables [here](https://docs.rewst.help/cluck-university/electives/how-to-reference-data-with-variables).
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/README.md b/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/README.md
new file mode 100644
index 00000000..f80c69d2
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/README.md
@@ -0,0 +1,65 @@
+---
+description: >-
+ Improve the form you created in the "Building a Basic Form and Workflow"
+ lesson by creating an Option Generator to power the "Group" field.
+---
+
+# Lesson 4: Creating an Option Generator Workflow
+
+## **What to Eggs-pect**
+
+After completing this lesson, you will be able to:
+
+1. Create an option generator workflow designed for a Rewst form field
+2. Use a data alias to store the "options" for a form field and accurately map those options in workflow output configuration
+3. Create an API Request Action
+4. Update a Rewst form to use an Option Generator
+
+### **Prerequisite(s)**
+
+In this lesson, we review context data from the form and workflow that you create in "Building a Basic Form and Workflow."
+
+## Lesson Modules
+
+To get started, select the first module. Each module includes a video and written guidance with resources, followed by navigation to go back/forward. To wrap up the lesson, visit [Next Steps](./#next-steps).
+
+1. Introduction to Option Generators (6:08 Minutes)
+2. How to Create, Configure, and Trigger an Option Generator Workflow (4_:23 Minutes)_
+3. Using Jinja in Data Aliases and Creating an API Request Action (12_:52 Minutes)_
+4. Connecting an Option Generator Workflow to a Rewst Form (5_:55 Minutes)_
+
+### Lesson Resources
+
+{% hint style="info" %}
+Check out these supplementary resources.
+
+* [workflow-generated-options.md](../../../documentation/workflows/workflow-generated-options.md "mention")
+* [microsoft-graph-integration-setup.md](../../../documentation/integrations/cloud/microsoft-cloud-integration-bundle/microsoft-graph/microsoft-graph-integration-setup.md "mention")
+* [jinja-lists.md](../../../documentation/jinja/use-cases-and-best-practices/jinja-lists.md "mention")
+* [diff-lists.md](../../../documentation/workflows/actions-in-rewst/transform-actions/diff-lists.md "mention")
+* [Microsoft Graph REST API v1.0 endpoint reference](https://learn.microsoft.com/en-us/graph/api/overview?view=graph-rest-1.0)
+* [working-with-options-generator-workflows-in-rewst.md](../../electives/working-with-options-generator-workflows-in-rewst.md "mention")
+* [how-to-reference-data-with-variables.md](../../electives/how-to-reference-data-with-variables.md "mention")
+{% endhint %}
+
+## Next Steps
+
+Complete the **Knowledge Check** and remember to **Get Credit** for your learning.
+
+### What Did You Learn?
+
+Take a quick quiz and get instant feedback!
+
+{% embed url="https://www.surveymonkey.com/r/optionsgeneratorsandgenericapiKC" %}
+
+### Get Credit
+
+{% hint style="danger" %}
+[Submit this form](https://app.rewst.io/form/cdeabeb5-7fcb-4695-8534-94af2bcb10f0) to get credit for completing this lesson offline.
+{% endhint %}
+
+### Keep On Cluckin'
+
+We've created a workflow and set it up as an Option Generator to populate the group field with relevant groups, depending on whether the user is being added or removed from a group. In the next lesson, we'll complete the workflow to handle all group types.
+
+ | | |
---|
Go back a lesson: | | |
Go to the next lesson: | | |
Get help with this lesson in office hours! | office-hours.md | |
diff --git a/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/connecting-an-option-generator-workflow-to-a-rewst-form.md b/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/connecting-an-option-generator-workflow-to-a-rewst-form.md
new file mode 100644
index 00000000..bf04dfcc
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/connecting-an-option-generator-workflow-to-a-rewst-form.md
@@ -0,0 +1,58 @@
+---
+description: >-
+ Now all that's left is connecting that workflow to the "Add or Remove User -
+ Microsoft Groups" form...the one you created in the "Building a Basic Form
+ and Workflow" lesson.
+---
+
+# Connecting an Option Generator Workflow to a Rewst Form
+
+## Module Overview
+
+:bulb: In this last module we'll update the Rewst form to use the Option Generator built in the previous module. If you skipped ahead and don't have that form, or any workflows, don't worry - you can still catch up. So whether you're watching this to continue building what we started earlier in this course, or just to see how Option Generators work, let's jump in to see how it's done!
+
+### Video (5_:55 Minutes)_
+
+{% embed url="https://youtu.be/7TWjgVSnEus" %}
+
+
+
+
+
+Step 1: Connecting a form to an Option Generator Workflow
+
+1. **Navigate** to the Form created in [101-laying-the-foundations-of-automations-1](../101-laying-the-foundations-of-automations-1/ "mention")
+2. **Reorder** the fields, moving "Action" between the User and Group field.
+3. **Select** the Group field and **enable** "Workflow Generated".
+4. In the "Workflow" field, **select** your Option Generator
+ 1. You can find it easier by **typing** its title
+5. In "Label Field" **enter** "displayName"
+6. In Trigger, **select** the trigger to the Option Generator.
+7. Under Workflow Inputs:
+ * **Select** "Populate from form field" for the action field
+ * **Select** `action` from the dropdown
+ * **Select** "Populate from form field" for the user\_id field
+ * **Select** `user_id`
+8. **Save** the Form.
+
+
+
+
+
+Step 2: Testing the Option Generator
+
+1. **Select** the View Usages (_List Icon_)
+2. **Select "**View Direct URLs" -> "Open the URL for your Organization"
+3. **Select** a User
+4. **Choose** add or remove.
+5. **Click** the Group field dropdown.
+
+
+
+### Action Item
+
+* Test the form to ensure the Group field populates with different options based on the selected action.
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/how-to-create-configure-and-trigger-an-option-generator-workflow.md b/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/how-to-create-configure-and-trigger-an-option-generator-workflow.md
new file mode 100644
index 00000000..d5ffd720
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/how-to-create-configure-and-trigger-an-option-generator-workflow.md
@@ -0,0 +1,68 @@
+---
+description: >-
+ Implement the sketch from the previous module by creating an Options
+ Generator, configuring its initial inputs and output, and setting up the
+ appropriate trigger.
+---
+
+# How to Create, Configure, and Trigger an Option Generator Workflow
+
+## Module Overview
+
+:bulb: Planning a workflow before building speeds up the process by sorting out logistics upfront, so you can focus on execution later. The inputs and outputs are key to this module—without them, the options generator won't work.
+
+### Video (4_:23 Minutes)_
+
+{% embed url="https://youtu.be/cXp2GFEb4iU" %}
+
+Log into Rewst and complete the following steps.
+
+
+
+Step 1: Create a Workflow
+
+1. **Create** a new workflow called "Option Generator for Microsoft Groups."
+ * Personalize the name and add tags to your liking.
+2. **Select** the pencil icon to configure the workflow settings.
+3. **Select** "Option Generator" for the workflow type.
+ * As a bonus, this will add an "option gen" tag to your workflow, so you can easily filter for those in your list of all the workflows.
+4. **Add** Time Saved
+5. **Add** the _Input Configurations_
+ * `user_id`
+ * `action`
+6. **Add** the _Output Configuration_
+ * Field Name: options
+ * **Select** the Jinja Editor Icon
+ * **Enter** `CTX.group_list`
+
+7: **Select** _Submit_ to save the settings
+
+
+
+
+
+Step 2: Add Workflow Trigger
+
+1. _**Select**_ the lightning bolt to add a workflow trigger.
+2. **Enter** "option generator" for the name
+3. **Toggle** Enabled to enable the trigger.
+4. **Search** for "always" in the "trigger type" dropdown
+5. **Select** 'Core - Always Pass.'
+ * The workflow will trigger as soon as we have a "user" and an "action" selected - before the form is submitted.
+6. **Select** Microsoft Graph for integration override.
+7. **Select** your own organization
+ * Test with a user you're comfortable with (maybe yourself).
+ * If you want to use this process for your customers, refer to the special instructions on the Rewst 104 tutorial page in Cluck University
+8. **Submit** to save the trigger.
+
+
+
+### Action Item
+
+* Create a workflow and configure its properties, inputs, and outputs to function as an Option Generator.
+* Setup a trigger for the Option Generator workflow.
+* Add an Integration Override to the Option Generator so it can be used across all your managed organizations. This ensures the workflow is flexible and scalable for different environments
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/introduction-to-option-generators.md b/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/introduction-to-option-generators.md
new file mode 100644
index 00000000..5975591b
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/introduction-to-option-generators.md
@@ -0,0 +1,85 @@
+---
+description: >-
+ Create an option generator workflow designed for a Rewst form field + Use a
+ data alias to store the "options" for a form field and accurately map those
+ options in workflow output configuration
+---
+
+# Introduction to Option Generators
+
+## Module Overview
+
+:bulb: When automating processes like "Add or Remove User - Microsoft Group," it's crucial to ensure that the options provided are dynamic, not static. If we continue using the same list of groups for every user and action, we waste time and potentially make errors by automating something that doesn’t apply. Here’s how we can fix that using an option generator workflow.
+
+### Video (6_:08 Minutes)_
+
+{% embed url="https://youtu.be/NGImOFnyeo8" %}
+
+#### Introduction to Option Generators
+
+An option generator workflow allows us to provide tailored options (like a list of groups) based on the user and the action they choose. For example, depending on the user and whether they want to add or remove someone from a group, the list of groups should change accordingly. This workflow dynamically generates the options, so they're always relevant to the task at hand.
+
+
+
+Creating a Workflow with Custom Options
+
+To implement this, follow these key steps:
+
+1. **Determine the Options:**
+
+First, **decide** what options need to be displayed based on the user’s selection. For example, the list of groups should change depending on whether the action is to "add" or "remove" a user.
+
+2. **Store the Options:**
+
+We will **create** a context variable to store these options. In this case, let’s call the variable `group_list`. This will allow us to easily reference the list of groups at any stage of the workflow.
+
+3. **Map the Options in Workflow Output:**
+
+Finally, reference the `group_list` variable in your workflow output. This will ensure the relevant options appear in the Rewst form field.
+
+
+
+
+
+Using Data Aliases for Option Management
+
+The context variable `group_list` will be populated through a data alias, a concept covered in the Jinja lesson. A data alias allows you to store and manipulate the data returned by your workflow actions. In our example, it stores the list of groups—filtered dynamically based on the user and action.
+
+
+
+
+
+Visualizing the Workflow
+
+Before building the option generator, it’s helpful to sketch out your workflow to clarify the inputs and outputs:
+
+* **Inputs:** The user and action determine which groups to show.
+* **Outputs:** Two lists of groups:
+ * One list contains the user's current groups (for removing a user).
+ * One list contains groups that the user is not a member of yet (for adding the user to new groups).
+
+In this workflow, the first action is a decision point: "add to group" or "remove from group." Each option leads to different steps, such as retrieving the user's current groups or generating a list of groups they can join.
+
+
+
+
+
+Handling the "Add to Group"
+
+For the "add" action, we need to **create** a new list by subtracting the user's current groups from the total list of groups. To do this, you can use list comprehension within the Jinja code for your data alias, `group_list`.
+
+In both cases (add or remove), we end up with the context variable `group_list` that stores the relevant groups for that user. This is then mapped to the Rewst form field using the variable `{{ CTX.group_list }}` in the workflow output configuration.
+
+
+
+### Action Item
+
+* Practice creating a simple option generator workflow in Rewst.
+* Use a data alias to store and filter options based on a user’s action (e.g., add or remove).
+* Map the context variable `group_list` to your workflow’s output configuration using Jinja syntax.
+
+
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/using-jinja-in-data-aliases-and-creating-an-api-request-action.md b/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/using-jinja-in-data-aliases-and-creating-an-api-request-action.md
new file mode 100644
index 00000000..e0cdfd78
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-4-creating-an-option-generator-workflow/using-jinja-in-data-aliases-and-creating-an-api-request-action.md
@@ -0,0 +1,102 @@
+---
+description: >-
+ Use a data alias to store the "options" for a form field and accurately map
+ those options in workflow output configuration.
+---
+
+# Using Jinja in Data Aliases and Creating an API Request Action
+
+## Module Overview
+
+:bulb: In this Options Generator workflow, you'll use data aliases to manage how individual actions store data from integrations. You'll also implement custom API requests when Rewst doesn't offer a built-in action, leveraging Microsoft Graph API documentation. Two key skills, one workflow—like finding that double-yolk at breakfast!
+
+### Video (12_:52 Minutes)_
+
+{% embed url="https://youtu.be/8zGCKXkHTAU" %}
+
+Remember, everything we’re doing is to output data to the group field connected to this Option Generator. That's the ultimate goal of this workflow!
+
+#### Add Actions to the Workflow
+
+
+
+Step 1: Add a noop action
+
+1. **Add** a noop to the workflow canvas.
+2. **Follow** the instructions in: [101-laying-the-foundations-of-automations-3.md](../101-laying-the-foundations-of-automations-1/101-laying-the-foundations-of-automations-3.md "mention")to configure the noop.
+ * Alternatively, you can **copy** the noop from the "Add or Remove User - Microsoft Group" workflow and paste it into this Option Generator.
+3. **Search** "graph list groups" in the search bar.
+4. **Add** List Groups action under the "Add to Group" transition of the add\_or\_remove noop.
+5. **Connect** the transition from Add to Group to the List Groups action
+6. **Search** "graph api" in the search bar.
+7. **Add "**Graph API Request" below "remove from group" transition.
+8. **Rename** "Graph API Request" to "list\_user\_groups"
+
+
+
+
+
+Step 2: Adding Graph Actions
+
+1. **Search** for "graph list groups" in the search bar.
+2. **Add** List Groups below the "Add to Group" transition of the add\_or\_remove noop.
+3. **Connect** the transition from Add to Group to the List Groups action
+4. **Search** "graph api" in the search bar.
+5. **Add** "Graph API Request" under the "Remove from Group" transition of the noop.
+6. **Rename** the "Graph API Request" to "list\_user\_groups".
+7. S**elect** the Jinja Editor icon for the Endpoint field in "list\_user\_groups"
+ * **Add** `/users/{{ CTX.user_id }}/memberOf`
+8. **Close** the Jinja Editor.
+9. **Add** a data alias in the transition of the "list\_user\_groups" action
+ * Key: `group_list`
+ * Value: `{{ RESULT.result.data.value }}`
+10. **Rename** "microsoft\_graph\_list\_groups" to "list\_all\_groups"
+11. **Add** a data alias in the transition of "list\_all\_groups"
+ * Key: `all_groups`
+ * Value: `{{ RESULT.result.data.value }}`
+12. **Copy** the "list\_user\_groups" API request action and **move** it below "list\_all\_groups"
+13. **Connect** the transition of "list\_all\_groups" to "list\_user\_groups" from the previous step
+
+
+
+
+
+Step 3: Adding Jinja Logic
+
+1. A**dd** a noop below the copied "list\_user\_groups" and **connect** the transition from "list\_user\_groups"
+2. **Rename** the noop "build\_group\_list"
+3. **Create** a data alias in "build\_group\_list"
+ * Key: `group_list`
+ * Value
+ * ```
+ {{-
+ ```
+
+ ```
+ [
+ group
+ for group in CTX.all_groups
+ if group.id not in
+ [
+ user_group.id
+ for user_group in CTX.user_groups
+ ]
+ ]
+ -}}
+
+ ```
+
+
+
+15. **Click** _Publish_ to save the workflow.
+
+
+
+### Action Item
+
+* Add and configure a new Generic API Action to execute specific functionality based on the API documentation. Ensure the API endpoint, method, headers, and parameters are set according to the documentation for proper integration.
+* Review [how-to-reference-data-with-variables.md](../../electives/how-to-reference-data-with-variables.md "mention") to store objects from the action into Data Aliases.
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/README.md b/cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/README.md
new file mode 100644
index 00000000..befc28b4
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/README.md
@@ -0,0 +1,65 @@
+---
+description: >-
+ Sometimes, technology throws a curveball at us...look out, it's Microsoft
+ groups!
+---
+
+# Lesson 5: Managing Workflow Paths
+
+## **What to Eggs-pect**
+
+After completing this lesson, participants will be able to:
+
+* Implement custom condition transitions in Task Transitions for dynamic decision-making in Workflows
+* Configure "Follow First" to prioritize Task Transition conditions
+* Create actions for Microsoft Exchange Online using Powershell commandlets
+
+### **Prerequisite(s)**
+
+In this lesson, we update the "Add or Remove User - Microsoft Group" workflow to incorporate Microsoft Exchange Online actions for updating group membership (and more!)
+
+## Lesson Modules
+
+To get started, select the first module. Each module includes a video and written guidance with resources, followed by navigation to go back/forward. To wrap up the lesson, visit [#next-steps](./#next-steps "mention").
+
+1. [introduction-to-workflow-logic-microsoft-apis.md](introduction-to-workflow-logic-microsoft-apis.md "mention") (3 Min)
+2. [getting-object-properties-for-microsoft-groups.md](getting-object-properties-for-microsoft-groups.md "mention") (9 Min)
+3. [creating-a-microsoft-exchange-online-path-in-the-workflow.md](creating-a-microsoft-exchange-online-path-in-the-workflow.md "mention") (6 Min)
+
+### Lesson Resources
+
+{% hint style="info" %}
+Check out these supplementary resources.
+
+* [navigating-between-tasks-with-transitions.md](../../../documentation/workflows/configuring-your-workflow-tasks/navigating-between-tasks-with-transitions.md "mention")
+* [#transition-modes](../../../documentation/workflows/configuring-your-workflow-tasks/advanced-workflow-operations.md#transition-modes "mention")
+* Electives: [how-to-use-powershell-in-rewst.md](../../electives/how-to-use-powershell-in-rewst.md "mention")(strongly encourage watching!)
+* Microsoft Groups API: [Working with groups in Microsoft Graph](https://learn.microsoft.com/en-us/graph/api/resources/groups-overview?view=graph-rest-1.0\&tabs=http)
+* Powershell 'Add' Commandlet: [Add-DistributionGroupMember](https://learn.microsoft.com/en-us/powershell/module/exchange/add-distributiongroupmember?view=exchange-ps)
+* [203-boolean-logic-and-comparisons.md](../../clean-automation-200-series/203-boolean-logic-and-comparisons.md "mention")
+* [201-advanced-automation-concepts.md](../../clean-automation-200-series/201-advanced-automation-concepts.md "mention")
+{% endhint %}
+
+## Next Steps
+
+Complete the **Knowledge Check** below and remember to **Get Credit** for your learning.
+
+### What Did You Learn?
+
+Take a quick quiz and get instant feedback!
+
+{% embed url="https://www.surveymonkey.com/r/H9JFPQR" %}
+
+### Get Credit
+
+{% hint style="danger" %}
+[Submit this form](https://app.rewst.io/form/4f233131-a105-496f-8904-3153af0a95ba) to get credit for completing this lesson offline.
+{% endhint %}
+
+### Keep On Cluckin'
+
+We've expanded our workflow to accommodate all group types by adding logic to check the group type. This guides the workflow towards the appropriate action, whether it's Exchange Online or Microsoft Graph, ensuring the correct process is implemented for each group type.
+
+In the next lesson, we'll explore error handling, how it works, and implement a method of error handling using feedback messages to highlight potential issues and bring awareness to any problems in the workflow.
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/creating-a-microsoft-exchange-online-path-in-the-workflow.md b/cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/creating-a-microsoft-exchange-online-path-in-the-workflow.md
new file mode 100644
index 00000000..825f4055
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/creating-a-microsoft-exchange-online-path-in-the-workflow.md
@@ -0,0 +1,76 @@
+---
+description: >-
+ Configure the "Follow First" setting to prioritize Task Transition conditions,
+ ensuring the workflow follows the most relevant path first. Additionally,
+ create actions for Microsoft Exchange Online us
+---
+
+# Creating a Microsoft Exchange Online Path in the Workflow
+
+## Module Overview
+
+:bulb: Now that we have logic in the workflow that checks for specific values of the Microsoft "group" object properties, and we've connected to the "Microsoft Graph" path, we need to build a similar path for updating group membership using Microsoft Exchange Online.
+
+### Video (5_:48 Minutes)_
+
+{% embed url="https://youtu.be/A9OgX8v-WZc" %}
+
+
+
+Step 1: Configuring the Transition Mode of the check_group_type action
+
+1. **Select** the "check\_group\_type" noop.
+2. **Select** the Advanced Tab.
+3. **Select** "Follow First" under Transition Mode.
+
+
+
+
+
+Step 2: Creating Microsoft Exchange Online Path
+
+1. **Rename** the "add\_or\_remove" noop to "add\_or\_remove\_graph".
+2. **Copy and Paste** the "add\_or\_remove\_graph" noop below the "Exchange Online" transition.
+3. **Rename** the copied noop to "add\_or\_remove\_exchange".
+4. **Connect** the "Exchange Online" transition to the "add\_or\_remove\_exchange" noop.
+
+
+
+
+
+Step 3: Implementing Add to Group using Microsoft Exchange Online
+
+1. **Add** the "Invoke Command" action from Microsoft Exchange Online below the "add" transition of the "add\_or\_remove\_exchange" noop.
+2. **Select** the InvokeCommand action.
+3. **Enter** "Add-DistributionGroupMember" for Cmdlet Name.
+4. **Add** the parameters:
+ * Member: `{{ CTX.user_id }}`
+ * Identity: `{{ CTX.group_id }}`
+ * BypassSecurityGroupManagerCheck: `{{ true }}`
+5. Rename the action to "add\_group\_member"
+
+
+
+
+
+Step 4: Implementing Remove from Group using Microsoft Exchange Online
+
+1. **Copy and paste** the "add\_group\_member" action from Microsoft Exchange Online below the "remove" transition of the "add\_or\_remove\_exchange" noop.
+2. **Select** the copied action.
+3. **Select** the InvokeCommand action.
+4. **Enter** "Remove-DistributionGroupMember" for Cmdlet Name.
+5. **Add** the parameters:
+ * Member: `{{ CTX.user_id }}`
+ * Identity: `{{ CTX.group_id }}`
+ * BypassSecurityGroupManagerCheck: `{{ true }}`
+6. **Rename** the action to "remove\_group\_member"
+
+
+
+### Action Item
+
+* Add or remove users from groups, ensuring the workflow uses the correct actions based on the group type.
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/getting-object-properties-for-microsoft-groups.md b/cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/getting-object-properties-for-microsoft-groups.md
new file mode 100644
index 00000000..82f26f2a
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/getting-object-properties-for-microsoft-groups.md
@@ -0,0 +1,58 @@
+---
+description: >-
+ Implement custom condition transitions in Task Transitions to enable dynamic
+ decision-making in workflows, based on the properties of a Microsoft Group.
+---
+
+# Getting Object Properties for Microsoft Groups
+
+## Module Overview
+
+:bulb: Certain properties of Microsoft Group objects impact what integration (or what API) we'll use to add someone to that group or remove them from the group. Storing the Group object in a data alias enables custom conditions in transitions to guide the workflow toward the correct integration.
+
+### Video (8:47 _Minutes)_
+
+{% embed url="https://youtu.be/Z6IWP50i9zA" %}
+
+
+
+
+
+Step 1: Adding the "Get Group" Action
+
+1. **Add** the "get group" action from Microsoft Graph to the top of the workflow.
+ * Turn on the "snap to grid" feature for easier alignment
+2. **Rename** the action to delete "get\_group", deleting "microsoft\_graph"
+3. **Select** the Jinja Editor for the Group ID field
+ * Enter `{{ CTX.group_id }}` and close the Jinja Editor
+4. **Add** a data alias to the "on success" transition
+ * Key: `group`
+ * Value: `{{ RESULT.result.data.value }}`
+
+
+
+
+
+Step 2: Using a Noop for Decision-Making: What "Path" Do We Take From Here?
+
+1. **Add** a noop below the "get\_group" action
+2. **Rename** the noop "check\_group\_type"
+3. **Add** 2 more transitions to "check\_group\_type"
+4. **Label** the three transitions and place them in the follow order from left to right:
+ * Dynamic
+ * Graph
+ * Exchange Online
+5. **Select** the Dynamic transition and add the following custom condition: `{{ "DynamicMembership" in CTX.group.groupTypes }}`
+6. **Select** the Graph transition and add the following custom condition: `{{ "Unified in CTX.group.groupTypes or not CTX.group.mailEnabled }}`
+7. **Connect** the Graph transition to the "add\_or\_remove" noop
+
+
+
+### Action Item
+
+* Store the group object in a data alias for easier data management.
+* Implement a noop to control the workflow's flow, determining the appropriate action based on the group type.
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/introduction-to-workflow-logic-microsoft-apis.md b/cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/introduction-to-workflow-logic-microsoft-apis.md
new file mode 100644
index 00000000..1ec56cb2
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-5-managing-workflow-paths/introduction-to-workflow-logic-microsoft-apis.md
@@ -0,0 +1,24 @@
+---
+description: >-
+ Sometimes, technology throws a curveball at us...look out, it's Microsoft
+ groups!
+---
+
+# Introduction to Workflow Logic (Microsoft APIs)
+
+## Module Overview
+
+:bulb: Turns out that we can't use good ol' Microsoft Graph to update the membership of all groups...because there are different types of groups, based on the values of certain "group properties." But that's not gonna stop us from achieving automation nirvana.
+
+### Video (2_:45 Minutes)_
+
+{% embed url="https://youtu.be/HgBFM1SYoLo" %}
+
+### Action Item
+
+* Open up the workflow we started building earlier in[101-laying-the-foundations-of-automations-1](../101-laying-the-foundations-of-automations-1/ "mention")
+* Grab a beverage and get ready to dive into building out the rest of the workflow!
+
+## Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-6-implementing-error-handling-in-rewst-workflows/README.md b/cluck-university/rewst-foundations-10x/lesson-6-implementing-error-handling-in-rewst-workflows/README.md
new file mode 100644
index 00000000..b0c24840
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-6-implementing-error-handling-in-rewst-workflows/README.md
@@ -0,0 +1,59 @@
+---
+description: >-
+ Finish the workflow by implementing error handling, so it's prepared for
+ situations where things don’t go as expected. This will help catch issues
+ early and ensure smoother debugging.
+---
+
+# Lesson 6: Implementing Error-Handling in Rewst Workflows
+
+## What to Eggs-pect
+
+After completing this lesson, participants will be able to:
+
+1. Build in "error handling" for a workflow by adding "on failure" transitions to actions
+2. Implement feedback messages by using data aliases
+3. Identify use cases for "Task Transition Criteria Sensitivity" on actions
+
+### **Prerequisite(s)**
+
+In this lesson, we finish the "Add or Remove User - Microsoft Group" workflow. Make sure you've completed [lesson-5-managing-workflow-paths](../lesson-5-managing-workflow-paths/ "mention") before starting this lesson to ensure you're prepared for the next steps in the process.
+
+## Lesson Modules
+
+To get started, select the first module. Each module includes a video and written guidance with resources, followed by navigation to go back/forward. To wrap up the lesson, visit [#next-steps](./#next-steps "mention")
+
+1. [adding-error-handling-to-workflow-actions.md](adding-error-handling-to-workflow-actions.md "mention") (7 min)
+2. [implementing-error-handling-with-feedback-messages.md](implementing-error-handling-with-feedback-messages.md "mention") (5 Min)
+
+### Lesson Resources
+
+{% hint style="info" %}
+* [how-to-use-powershell-in-rewst.md](../../electives/how-to-use-powershell-in-rewst.md "mention")
+* [201-advanced-automation-concepts.md](../../clean-automation-200-series/201-advanced-automation-concepts.md "mention")
+* [navigating-between-tasks-with-transitions.md](../../../documentation/workflows/configuring-your-workflow-tasks/navigating-between-tasks-with-transitions.md "mention")
+* [#what-does-this-error-mean-unreachablejoinerror-the-join-task-or-route-xxxxxxx-is-partially-satisfied](../../../faqs/frequently-asked-questions.md#what-does-this-error-mean-unreachablejoinerror-the-join-task-or-route-xxxxxxx-is-partially-satisfied "mention")
+* [how-to-reference-data-with-variables.md](../../electives/how-to-reference-data-with-variables.md "mention")
+{% endhint %}
+
+## Next Steps
+
+Complete the **Knowledge Check** and remember to **Get Credit** for your learning.
+
+### What Did You Learn?
+
+Take a quick quiz and get instant feedback!
+
+{% embed url="https://www.surveymonkey.com/r/H9FCJ33" %}
+
+### Get Credit
+
+{% hint style="danger" %}
+[Submit this form](https://app.rewst.io/form/019229ec-7ff0-72ab-b470-3c1e59120733) to get credit for completing this lesson offline.
+{% endhint %}
+
+### Keep On Cluckin'
+
+We implemented error handling by adding feedback messages to notify us of the success or failure of our Graph and Exchange Online actions. We also briefly touched on the Task Transition Criteria Sensitivity setting, which will be covered in more detail in \[lesson here].
+
+In the next lesson, we'll wrap up by optimizing the workflow, streamlining the feedback messages to be sent directly to the person who filled out the form, and enhancing both the workflow's functionality and design.
diff --git a/cluck-university/rewst-foundations-10x/lesson-6-implementing-error-handling-in-rewst-workflows/adding-error-handling-to-workflow-actions.md b/cluck-university/rewst-foundations-10x/lesson-6-implementing-error-handling-in-rewst-workflows/adding-error-handling-to-workflow-actions.md
new file mode 100644
index 00000000..c8441acb
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-6-implementing-error-handling-in-rewst-workflows/adding-error-handling-to-workflow-actions.md
@@ -0,0 +1,61 @@
+---
+description: >-
+ So far, we've been working on what to do next based on the success of our
+ actions. But...what if something fails
+---
+
+# Adding Error Handling to Workflow Actions
+
+## Module Overview
+
+We've come a long way together, and we're about to develop another key skill: building error-handling techniques into our workflows.
+
+### Video (6_:55 Minutes)_
+
+{% embed url="https://youtu.be/VPHBRRIQnQI" %}
+
+Log into Rewst and complete the following steps
+
+
+
+Step 1: Adding On Failure Transition to Key Actions
+
+1. **Click** the add button on the get\_group action to add a new transition
+2. **Select** the new transition
+3. **Select** On Failure under Condition
+4. **Repeat** the process for each Microsoft Graph action and Exchange Online action.
+
+
+
+
+
+Step 2: The FInish Noop
+
+1. **Add** a noop towards the bottom right of the workflow
+2. **Renam**e it Finish
+3. **Connect** all of the On Failure transitions to the Finish noop.
+4. **Connect** the On Success transitions of the Microsoft Graph and Exchange Online actions to the Finsih noop.
+5. **Connect** the Dynamic Transition to the Finish noop.
+
+
+
+
+
+Step 3: Configuring the Finish Noop
+
+1. **Select** the Finish noop.
+2. **Select** the Advanced Tab.
+3. **Set** Task Transition Criteria to 1.
+
+
+
+### Action Item
+
+Review the lesson resources on task transitions and experiment with adjusting the number of transitions. Observe what happens when multiple transitions feed into a no-op, while also tweaking the task transition criteria sensitivity. This will help you understand how different sensitivity levels affect the workflow's behavior and execution paths in various scenarios.
+
+Start thinking about how you'd like to implement error handling in your workflows. Consider whether you'd prefer simple feedback messages, detailed error logs, or automated corrective actions. Defining clear criteria for handling different types of errors can ensure smoother workflow execution and make troubleshooting more efficient.
+
+### Navigation
+
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-6-implementing-error-handling-in-rewst-workflows/implementing-error-handling-with-feedback-messages.md b/cluck-university/rewst-foundations-10x/lesson-6-implementing-error-handling-in-rewst-workflows/implementing-error-handling-with-feedback-messages.md
new file mode 100644
index 00000000..7bc7cd23
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-6-implementing-error-handling-in-rewst-workflows/implementing-error-handling-with-feedback-messages.md
@@ -0,0 +1,98 @@
+---
+description: >-
+ While it's easy for us, as the builders, to spot errors in the workflow
+ execution results, it's much harder for someone filling out the form.
+---
+
+# Implementing Error Handling with Feedback Messages
+
+## Module Overview
+
+Looking at every possible "ending point", we'll want to communicate to the person that submits the request form what happened. We'll do this via email, but first we need a handy way to get those feedback messages describing what happened.
+
+### Video (5_:18 Minutes)_
+
+{% embed url="https://youtu.be/CaTi4rl-sm8" %}
+
+Log into Rewst and complete the following steps
+
+
+
+Step 1: Adding a Feedback Message for Dynamic Groups
+
+1. Select the "Dynamic" transition of the "check\_group\_type" action
+2. Add a Data Alias:
+ * **Key**: feedback\_message
+ * **Value**: The Group`{{ CTX.group.displayName | d }}`is a Dynamic Group and can not be directly modified. You will need to edit its membership Rules to modify this.
+
+
+
+
+
+Step 2: Adding Feedback Messages for Graph Add Action
+
+1. **Select** the On Success Transition of add\_group\_member\_graph
+2. **Add** a Data Alias:
+ * **Key:** feedback\_message
+ * **Value:** User was successfully added to Graph Group `{{ CTX.group.displayName | d }}`.
+3. **Select** the On Failure Transition of add\_group\_member\_graph
+4. **Add** a Data Alias:
+ 1. **Key:** feedback\_message
+ 2. **Value:** Failed to add User to Graph Group `{{ CTX.group.displayName | d }}`.
+
+
+
+
+
+Step 3 Adding Feedback Message for Graph Remove Action
+
+1. **Select** the On Success Transition of remove\_group\_member\_graph
+2. **Add** a Data Alias:
+ * **Key**: feedback\_message
+ * **Value**: User was successfully removed from Graph Group `{{ CTX.group.displayName | d }}`.
+3. **Select** the On Failure Transition of remove\_group\_member\_graph
+4. **Add** a Data Alias:
+ * **Key**: feedback\_message
+ * **Value**: Failed to remove User from Graph Group `{{ CTX.group.displayName | d }}`.
+
+
+
+
+
+Step 4: Adding Feedback Messages for Exchange Online Add Actions
+
+1. **Select** the On Success Transition of add\_group\_member\_ex
+2. **Add** a Data Alias:
+ * **Key**: feedback\_message
+ * **Value**: User was successfully added to Exchange Online Group `{{ CTX.group.displayName | d }}`.
+3. **Select** the On Failure Transition of add\_group\_member\_ex
+4. **Add** a Data Alias:
+ * Key: feedback\_message
+ * Value: Failed to add User to Exchange Online Group `{{ CTX.group.displayName | d }}`.
+
+
+
+
+
+Step 5: Adding Feedback Messages for Exchange Online Remove Actions
+
+1. **Select** the On Success Transition of add\_group\_member\_ex
+2. **Add** a Data Alias:
+ * **Key**: feedback\_message
+ * **Value**: User was successfully added to Exchange Online Group `{{ CTX.group.displayName | d }}`.
+3. **Select** the On Failure Transition of add\_group\_member\_ex
+4. **Add** a Data Alias:
+ * **Key**: feedback\_message
+ * **Value**: Failed to add User to Graph Group `{{ CTX.group.displayName | d }}`.
+5. **Publish** the Workflow.
+
+
+
+### Action Item
+
+Test the workflow and check the workflow results to find the feedback\_message Data Alias as a context variable.
+
+### Navigation
+
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/README.md b/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/README.md
new file mode 100644
index 00000000..537d7ec4
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/README.md
@@ -0,0 +1,66 @@
+---
+description: >-
+ Let's wrap up what we started earlier in the course—automating the process of
+ updating a user's Microsoft Group memberships. In this final "foundations"
+ lesson, we'll introduce some major upgrades.
+---
+
+# Lesson 7: Optimizing Workflow Design
+
+## **What to Eggs-pect**
+
+After completing this lesson, participants will be able to:
+
+1. Configure workflow output to store feedback messages that will be retrieved in a "parent" workflow
+2. Update a form to handle multiple items at once for efficiency
+3. Use 'With Items' to loop through a list of items on a workflow action
+4. Create an email action that shares relevant, customized feedback for each workflow execution
+
+### **Prerequisite(s)**
+
+In this lesson, we create a parent workflow that will contain the workflow that you finished creating in "Implementing Error-Handling in Rewst Workflows"
+
+## Lesson Modules
+
+To get started, select the first module. Each module includes a video and written guidance with resources, followed by navigation to go back/forward. To wrap up the lesson, visit [Next Steps](./#next-steps).
+
+1. [using-a-sub-workflow-to-update-multiple-groups.md](using-a-sub-workflow-to-update-multiple-groups.md "mention") (5 Min)
+2. [updating-the-add-or-remove-user-form.md](updating-the-add-or-remove-user-form.md "mention") (4 Min)
+3. [creating-a-new-parent-workflow.md](creating-a-new-parent-workflow.md "mention") (4 Min)
+4. [sub-workflow-and-with-items-overview.md](sub-workflow-and-with-items-overview.md "mention") (6 min)
+5. [adding-other-parent-workflow-actions.md](adding-other-parent-workflow-actions.md "mention") (12 min)
+6. [testing-the-final-workflow.md](testing-the-final-workflow.md "mention") (3 Min)
+
+### Lesson Resources
+
+{% hint style="info" %}
+Check out these supplementary resources.
+
+* [how-to-reference-data-with-variables.md](../../electives/how-to-reference-data-with-variables.md "mention")
+* [advanced-workflow-operations.md](../../../documentation/workflows/configuring-your-workflow-tasks/advanced-workflow-operations.md "mention")
+* [data-input-and-output.md](../../../documentation/workflows/data-input-and-output.md "mention")
+* [cloning-an-existing-form.md](../../../documentation/forms/cloning-an-existing-form.md "mention")
+* [foundations-certification.md](../foundations-certification.md "mention")
+{% endhint %}
+
+## Next Steps
+
+Complete the **Knowledge Check** and remember to **Get Credit** for your learning.
+
+### What Did You Learn?
+
+Take a quick quiz and get instant feedback!
+
+{% embed url="https://www.surveymonkey.com/r/subworkflowsandwithitemsKC" %}
+
+### Get Credit
+
+{% hint style="danger" %}
+[Submit this form](https://app.rewst.io/form/1339a9d0-a298-4e2e-8d40-2fa1626509a8) to get credit for completing this lesson offline.
+{% endhint %}
+
+### Keep On Cluckin'
+
+You have complete the Rewst Foundations Course! Test your knowledge with the Rewst [foundations-certification.md](../foundations-certification.md "mention")!
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/adding-other-parent-workflow-actions.md b/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/adding-other-parent-workflow-actions.md
new file mode 100644
index 00000000..bacf871a
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/adding-other-parent-workflow-actions.md
@@ -0,0 +1,78 @@
+---
+description: Finishing up our Parent workflow
+---
+
+# Adding Other Parent Workflow Actions
+
+## Module Overview
+
+Before testing our sub-workflow, we'll add the necessary actions to send an email to the user who filled out the form. This ensures they receive confirmation or relevant information about the workflow's execution via the `feedback_message.`
+
+### Video (11_:55 Minutes)_
+
+{% embed url="https://youtu.be/axNOfoTb7EQ" %}
+
+Log into Rewst and complete the following steps
+
+
+
+Step 1: Identifying the User Who Filled Out the Form
+
+1. **Add** the Microsoft Graph Get User action in the parent workflow
+2. **Connect** the On Success transition to update\_groups
+3. **Select** the action
+4. **Rename** the action "get\_user"
+5. **Select** the On Success transition of get\_user
+6. **Create** a Data Alias
+ 1. **Name**: target\_user
+ 2. **Value:** `{{ RESULT.result.data.value }}`
+
+
+
+
+
+Step 2: Collecting Feedback Messages
+
+1. **Add** a noop below update\_groups
+2. **Connect** the On Success transition of update\_groups to the noop.
+3. **Rename** the noop "list\_feedback\_messages"
+4. **Create** a Data Alias
+ 1. Name: `feedback_message_list`
+ 2. Value:
+
+ ```django
+ {{-
+ [
+ message.result.feedback_message
+ for message in TASKS.update_groups.collected_results
+ ]
+ -}}
+ ```
+
+
+
+
+
+Step 3: Sending the Email of Feedback Messages
+
+1. **Add** the sendmail action below list\_feedback\_messages
+2. **Connect** the On Success transition from list\_feedback\_messages to sendmail.
+3. **Rename** the action to send\_mail
+4. **Select** send\_mail
+5. **Configure** send\_mail
+ 1. **Recipient:** `{{ CTX.user.username }}`
+ 2. **Subject:** Your request to update Microsoft Groups for the User `{{ CTX.target_user.displayName | d }}`.
+ 3. **Title:** Your request to update Microsoft Groups for the User `{{ CTX.target_user.displayName | d }}`.
+ 4. **Message:** Here are the results of your request to update Microsoft Groups for the User `{{ CTX.target_user.displayName | d }}`.
+
+ `{{ CTX.feedback_message_list | join("\n* "}}`
+
+
+
+### Action Item
+
+With actions that implement With Items, test the Collected Results and use Publish Result As to simplify managing collected\_results of actions.
+
+### Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/creating-a-new-parent-workflow.md b/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/creating-a-new-parent-workflow.md
new file mode 100644
index 00000000..a5cf1d35
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/creating-a-new-parent-workflow.md
@@ -0,0 +1,66 @@
+---
+description: >-
+ I heard you like workflows, so I put a workflow in your workflow, so you can
+ automate while you automate.
+---
+
+# Creating a New Parent Workflow
+
+## Module Overview
+
+With the introduction of Sub Workflows, we now have the ability to have workflows trigger other workflows, unlocking endless possibilities and providing a powerful new tool to enhance the design and flexibility of our future workflows.
+
+### Video (3_:48 Minutes)_
+
+{% embed url="https://youtu.be/a5KAdfur_sY" %}
+
+Log into Rewst and complete the following steps
+
+
+
+Step 1: Creating a Sub Workflow
+
+* **Open** a new tab
+* **Navigate** back to the Workflows section of Rewst
+* **Create** a new Workflow
+ 1. **Name**: Add or Remove User - Multiple Microsoft Groups.
+
+
+
+
+
+Step 2: Configure the Sub Workflow
+
+1. **Select** the Configure Workflow Setting icon
+2. **Add** Time Saved
+3. **Add** the following Input Configurations
+ * action
+ * user\_id
+ * group\_ids
+ * Type: List
+4. **Select** Submit
+
+
+
+
+
+Step 3: Add a Trigger
+
+1. **Select** the Add Trigger icon
+2. **Name** the trigger "Form Trigger"
+3. **Toggle** Enabled
+4. **Select "**Core - Form Submission" for Trigger Type
+5. **Add** an Integration Overrides
+ 1. **Select** Microsoft Graph for Integration
+6. **Select** the "Add or Remove user - Multiple Microsoft Group Form" for Form
+7. **Select** Submit
+
+
+
+### Action Item
+
+In your own processes, begin considering how to apply sub workflows in current and future automations.
+
+### Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/sub-workflow-and-with-items-overview.md b/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/sub-workflow-and-with-items-overview.md
new file mode 100644
index 00000000..afa23dfa
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/sub-workflow-and-with-items-overview.md
@@ -0,0 +1,64 @@
+---
+description: >-
+ These two crucial features will elevate your automation skillset, setting you
+ up to create highly efficient workflows.
+---
+
+# Sub Workflow and With Items Overview
+
+## Module Overview
+
+It's time to put a workflow in a workflow...making it a "sub-workflow" and creating a "parent/child" relationship.
+
+### Video (5_:38 Minutes)_
+
+{% embed url="https://youtu.be/RVSrHrsJ5n4" %}
+
+Log into Rewst and complete the following steps
+
+
+
+Step 1: Adding a Sub Workflow
+
+1. **Search** Add or Remove User in the Search Actions search bar.
+2. **Add** the Add or Remove User workflow into the current workflow.
+3. **Select** the sub workflow.
+4. **Rename** the workflow "update\_groups".
+
+
+
+
+
+Step 2: Configuring Sub Workflow Parameters
+
+1. **Select** the Jinja Editor for the action field.
+ * **Enter** \{{ `CTX.action }}`
+ * **Close** the Jinja Editor
+2. **Select** the Jinja Editor for the user\_id field.
+ * **Enter** `{{ CTX.user_id }}`
+ * **Close** the Jinja Editor
+3. **Select** the Jinja Editor for the group\_id field
+ * **Enter** `{{ item() }}`
+ * **Close** the Jinja Editor
+
+
+
+
+
+Step 3: Configuring WIth Items
+
+1. **Select** the Advanced tab
+2. **Select** the Jinja Live Editor for the With Items field
+ 1. **Enter** `{{ CTX.group_ids }}`
+ 2. **Close** the Jinja Editor
+3. **Publish** the workflow
+
+
+
+### Action Item
+
+Test the "With Items" feature with other actions in Rewst to see how it performs and functions.
+
+### Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/testing-the-final-workflow.md b/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/testing-the-final-workflow.md
new file mode 100644
index 00000000..5e82815a
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/testing-the-final-workflow.md
@@ -0,0 +1,36 @@
+---
+description: >-
+ It's time for the best part... testing out all this hard work to see what
+ happens!
+---
+
+# Testing the Final Workflow
+
+## Module Overview
+
+If things go wrong, don't worry we can always fix it before sharing the form with other.
+
+### Video (3_:12 Minutes)_
+
+{% embed url="https://youtu.be/zQAfeSelMdw" %}
+
+Log into Rewst and complete the following steps
+
+
+
+Step 1: Open the Form
+
+1. **Select** the "cog" icon for the form trigger in the workflow.
+2. **Select** "view direct URLs"
+3. **Click** the URL to open the form in a new tab
+4. **Test** the form using a User and Groups that you're comfortable modifying.
+
+
+
+### Action Item
+
+
+
+### Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/updating-the-add-or-remove-user-form.md b/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/updating-the-add-or-remove-user-form.md
new file mode 100644
index 00000000..6218036d
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/updating-the-add-or-remove-user-form.md
@@ -0,0 +1,52 @@
+---
+description: Going from one group to many groups.
+---
+
+# Updating the Add or Remove User Form
+
+## Module Overview
+
+For automation efficiency, we've decided to add or remove a user to or from multiple groups with every form submission. That means we need to update the form to let us pick more than one group.
+
+### Video (4_:15 Minutes)_
+
+{% embed url="https://youtu.be/TmHTHXuOqP0" %}
+
+Log into Rewst and complete the following steps
+
+
+
+Step 1: Adding a Multi-Select Field to the Form
+
+1. **Navigate** to the Add or Remove user - Microsoft Group Form
+2. **Select** the Group Field
+3. **Che**ck Hidden to hide the Group
+4. **A**dd a Multi-Select field
+
+
+
+
+
+Step 2: Configure the Multi-Select Field
+
+1. **Configure** the Multi-Select field
+ * Field Name: `group_ids`
+ * Field Label: Groups
+ * Field Description: Select one or more groups
+2. **Toggle** Dynamic Options
+ * Label Field: displayName
+ * Trigger: Option Generator
+3. **Check** populate from form field for action under Workflow Inputs
+ * **Select** `action`
+4. **Check** populate from form field for user\_id under Workflow Inputs
+ * **Select** `user_id`
+5. **Save** the form
+6. **Preview** the form
+
+
+
+
+
+### Navigation
+
+
diff --git a/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/using-a-sub-workflow-to-update-multiple-groups.md b/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/using-a-sub-workflow-to-update-multiple-groups.md
new file mode 100644
index 00000000..20a7f6d5
--- /dev/null
+++ b/cluck-university/rewst-foundations-10x/lesson-7-optimizing-workflow-design/using-a-sub-workflow-to-update-multiple-groups.md
@@ -0,0 +1,32 @@
+# Using a Sub Workflow to Update Multiple Groups
+
+## Module Overview
+
+We'll configure our workflow to send the `feedback message` as an output, allowing us to provide capture the `feedback_message` in a Sub Workflow.
+
+### Video (4_:39 Minutes)_
+
+{% embed url="https://youtu.be/e_MiMy2-cTw" %}
+
+Log into Rewst and complete the following steps
+
+
+
+Step 1: Setting up an Output Configuration
+
+1. **Select** the Configure Workflow Setting Icon (the pencil icon) of our main workflow.
+2. **Add** a New Output Configuration
+ * **Field Name**: feedback\_message
+ * **Value**: `{{ CTX.feedback_message }}`
+3. **Select** Submit
+
+
+
+### Action Item
+
+Review [data-input-and-output.md](../../../documentation/workflows/data-input-and-output.md "mention") to gain further understanding of Output Configurations.
+
+### Navigation
+
+
+
diff --git a/documentation/integrations/cloud/microsoft-cloud-integration-bundle/common-issues-with-microsoft-bundle/embracing-the-microsoft-minute.md b/documentation/integrations/cloud/microsoft-cloud-integration-bundle/common-issues-with-microsoft-bundle/embracing-the-microsoft-minute.md
index 347d285d..351e55e6 100644
--- a/documentation/integrations/cloud/microsoft-cloud-integration-bundle/common-issues-with-microsoft-bundle/embracing-the-microsoft-minute.md
+++ b/documentation/integrations/cloud/microsoft-cloud-integration-bundle/common-issues-with-microsoft-bundle/embracing-the-microsoft-minute.md
@@ -21,7 +21,7 @@ While we may not know the exact science behind the duration of a Microsoft Minut
1. **Exercise Your Clicking Finger**: A few desk-side stretches or mouse-clicking exercises can keep you agile for the next automation challenge.
2. **Dive into a Digital Detour**: Take a quick scroll through our [Getting Started](../../../../../cluck-university/getting-started/) resources or a brief dive into our [electives](../../../../../cluck-university/electives/) – who knows what nuggets of wisdom you’ll find?
3. **Revamp Your Digital Persona**: Update your professional profile picture or give your desktop background a fresh look.
-4. **Become a Jinja Ninja**: Check out [103-jinja-essentials-for-workflow-automation.md](../../../../../cluck-university/rewst-foundations-10x/103-jinja-essentials-for-workflow-automation.md "mention")
+4. **Become a Jinja Ninja**: Check out [Broken link](broken-reference "mention")
5. **Craft a Code Comment Masterpiece**: Get creative with your workflow notes – maybe give [RoboRewsty ](../../../../workflows/workflow-building-tips-and-tricks/workflow-notes/documenting-with-roborewsty.md)a try?
6. **Step Outside the Server Room**: A quick stroll can refresh your mind and bring new perspectives to your workflow designs.
7. **Read** [**The MSP KB**](https://docs.themspkb.com/): You never know what MSP secrets you might uncover.
diff --git a/documentation/integrations/general/microsoft-graph-vs-exchange-online.md b/documentation/integrations/general/microsoft-graph-vs-exchange-online.md
index 71084025..68e50886 100644
--- a/documentation/integrations/general/microsoft-graph-vs-exchange-online.md
+++ b/documentation/integrations/general/microsoft-graph-vs-exchange-online.md
@@ -29,4 +29,4 @@ By understanding the nuances of different group types and mapping them appropria
## Additional Resources
-
+
diff --git a/documentation/jinja/intro-to-jinja.md b/documentation/jinja/intro-to-jinja.md
index fd07947b..3e84b939 100644
--- a/documentation/jinja/intro-to-jinja.md
+++ b/documentation/jinja/intro-to-jinja.md
@@ -62,5 +62,5 @@ Note that whilst right now Jinja is required, the plan is to create actions to m
**Want more practice?**
{% hint style="success" %}
-[Check out our Rewst 103: Jinja Essentials for Workflow Automation course.](../../cluck-university/rewst-foundations-10x/103-jinja-essentials-for-workflow-automation.md)
+Check out our [lesson-3-jinja-essentials-for-workflow-automation](../../cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/ "mention")
{% endhint %}
diff --git a/documentation/jinja/use-cases-and-best-practices/efficiently-extracting-nested-data.md b/documentation/jinja/use-cases-and-best-practices/efficiently-extracting-nested-data.md
index 5f4de0ab..814bd7ea 100644
--- a/documentation/jinja/use-cases-and-best-practices/efficiently-extracting-nested-data.md
+++ b/documentation/jinja/use-cases-and-best-practices/efficiently-extracting-nested-data.md
@@ -107,5 +107,5 @@ Select the method that best suits your task's complexity and your familiarity wi
***
{% hint style="info" %}
-**Don't forget to check out** [103-jinja-essentials-for-workflow-automation.md](../../../cluck-university/rewst-foundations-10x/103-jinja-essentials-for-workflow-automation.md "mention")
+**Don't forget to check out** [lesson-3-jinja-essentials-for-workflow-automation](../../../cluck-university/rewst-foundations-10x/lesson-3-jinja-essentials-for-workflow-automation/ "mention")
{% endhint %}
diff --git a/updates/cs-and-training-updates/april-5th-2024.md b/updates/cs-and-training-updates/april-5th-2024.md
index 67338474..b11d21db 100644
--- a/updates/cs-and-training-updates/april-5th-2024.md
+++ b/updates/cs-and-training-updates/april-5th-2024.md
@@ -31,7 +31,7 @@ Explore what new changes the Training team has made in the last week.
* [microsoft-cloud-integration-bundle](../../documentation/integrations/cloud/microsoft-cloud-integration-bundle/ "mention") page added
* [rewst-user-setup-and-gdap-relationship-guidance.md](../../documentation/integrations/cloud/microsoft-cloud-integration-bundle/microsoft-csp/rewst-user-setup-and-gdap-relationship-guidance.md "mention") updated with Microsoft Partner Center link
* [duo-integration-setup.md](../../documentation/integrations/mfa/duo-security/duo-integration-setup.md "mention") page updated with new steps
-* [103-jinja-essentials-for-workflow-automation.md](../../cluck-university/rewst-foundations-10x/103-jinja-essentials-for-workflow-automation.md "mention") step 6 corrected
+* [Broken link](broken-reference "mention") step 6 corrected
* [exchange-online-and-multi-property-values.md](../../documentation/integrations/cloud/microsoft-cloud-integration-bundle/microsoft-exchange-online/exchange-online-and-multi-property-values.md "mention") page added
* [internal-rewst-jinja-examples.md](../../documentation/jinja/internal-rewst-jinja-examples.md "mention") page updated with examples
* [organization-variables.md](../../documentation/user-management/organization-variables.md "mention") `pax8_unmapped_alert_ignore_list` and `halo_site_name_search_override` Org variables added
diff --git a/updates/cs-and-training-updates/august-11th-2023.md b/updates/cs-and-training-updates/august-11th-2023.md
index bc62af64..373eedef 100644
--- a/updates/cs-and-training-updates/august-11th-2023.md
+++ b/updates/cs-and-training-updates/august-11th-2023.md
@@ -37,8 +37,8 @@ Explore what new changes the Training team has made in the last week.
**Cluck University**
-* Added sign-up link and a new page for [Rewst 101](../../cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations.md)
-* Added the [Rewst 105 video](../../cluck-university/rewst-foundations-10x/105-improve-group-management-to-support-exchange.md)
+* Added sign-up link and a new page for [Rewst 101](broken-reference)
+* Added the [Rewst 105 video](broken-reference)
diff --git a/updates/cs-and-training-updates/august-18th-2023.md b/updates/cs-and-training-updates/august-18th-2023.md
index b273093c..93348276 100644
--- a/updates/cs-and-training-updates/august-18th-2023.md
+++ b/updates/cs-and-training-updates/august-18th-2023.md
@@ -24,9 +24,9 @@ Explore what new changes the Training team has made in the last week.
**Cluck University**
-* Added the [Rewst 106 video](../../cluck-university/rewst-foundations-10x/106-subworkflows-and-with-items.md).
+* Added the [Rewst 106 video](broken-reference).
* Added Resource and Documentation links to [Rewst 102 \~ 106 pages](../../cluck-university/rewst-foundations-10x/).
-* Updated steps on [Rewst 104 page](../../cluck-university/rewst-foundations-10x/104-options-generators-and-generic-api-requests.md) based on feedback.
+* Updated steps on [Rewst 104 page](broken-reference) based on feedback.
**Documentation**
diff --git a/updates/cs-and-training-updates/august-25th-2023.md b/updates/cs-and-training-updates/august-25th-2023.md
index 0f07537e..eb5e24e1 100644
--- a/updates/cs-and-training-updates/august-25th-2023.md
+++ b/updates/cs-and-training-updates/august-25th-2023.md
@@ -22,7 +22,7 @@ Explore what new changes the Training team has made in the last week.
**Cluck University**
-* Added links to relevant videos on the [Rewst 101 page](../../cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations.md).
+* Added links to relevant videos on the [Rewst 101 page](broken-reference).
**Documentation**
diff --git a/updates/cs-and-training-updates/january-5th-2024.md b/updates/cs-and-training-updates/january-5th-2024.md
index fed97b9e..b52a53bb 100644
--- a/updates/cs-and-training-updates/january-5th-2024.md
+++ b/updates/cs-and-training-updates/january-5th-2024.md
@@ -26,7 +26,7 @@ Explore what new changes the Training team has made in the last week.
**What's New at Cluck University?**
-* Added [101-laying-the-foundations-of-automations.md](../../cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations.md "mention")video
+* Added [Broken link](broken-reference "mention")video
**New & Updated Pages:**
diff --git a/updates/cs-and-training-updates/march-8th-2024.md b/updates/cs-and-training-updates/march-8th-2024.md
index 5f58bf09..5b58160a 100644
--- a/updates/cs-and-training-updates/march-8th-2024.md
+++ b/updates/cs-and-training-updates/march-8th-2024.md
@@ -22,7 +22,7 @@ Explore what new changes the Training team has made in the last week.
* We'd love to get your feedback on our Training and Documentation! [Please fill out this form to let us know how we can improve](https://app.sli.do/event/m8C3AjPUnuDgpkVDmPsQL3)!
* We'd also love to get your [feedback on the Open Mic here](https://app.sli.do/event/9DL7k68NvYk8u1ZWUnWrjY)!
* As a reminder, you can make training and documentation requests at [https://rewst.canny.io/](https://rewst.canny.io/)
-* [103-jinja-essentials-for-workflow-automation.md](../../cluck-university/rewst-foundations-10x/103-jinja-essentials-for-workflow-automation.md "mention")updated with examples from the exam
+* [Broken link](broken-reference "mention")updated with examples from the exam
**New & Updated Pages:**
diff --git a/updates/cs-and-training-updates/november-17th-2023-1.md b/updates/cs-and-training-updates/november-17th-2023-1.md
index d0305744..3ff69d1b 100644
--- a/updates/cs-and-training-updates/november-17th-2023-1.md
+++ b/updates/cs-and-training-updates/november-17th-2023-1.md
@@ -34,8 +34,8 @@ Explore what new changes the Training team has made in the last week.
* [how-to-use-powershell-in-rewst.md](../../cluck-university/electives/how-to-use-powershell-in-rewst.md "mention") released
* [how-to-reference-data-with-variables.md](../../cluck-university/electives/how-to-reference-data-with-variables.md "mention")released
* **Updates and Fixes:**
- * [101-laying-the-foundations-of-automations.md](../../cluck-university/rewst-foundations-10x/101-laying-the-foundations-of-automations.md "mention")page information added
- * [103-jinja-essentials-for-workflow-automation.md](../../cluck-university/rewst-foundations-10x/103-jinja-essentials-for-workflow-automation.md "mention")page information updated
+ * [Broken link](broken-reference "mention")page information added
+ * [Broken link](broken-reference "mention")page information updated
**Documentation**
diff --git a/updates/cs-and-training-updates/october-13th-2023.md b/updates/cs-and-training-updates/october-13th-2023.md
index d7f77813..9ff5ec26 100644
--- a/updates/cs-and-training-updates/october-13th-2023.md
+++ b/updates/cs-and-training-updates/october-13th-2023.md
@@ -24,11 +24,11 @@ Explore what new changes the Training team has made in the last week.
* We have completed the first pilot of Rewst 201 and will be rolling it out in the coming weeks!
* Additional contextual text has been added to the following course pages:
- * [102-building-a-basic-workflow.md](../../cluck-university/rewst-foundations-10x/102-building-a-basic-workflow.md "mention")
- * [103-jinja-essentials-for-workflow-automation.md](../../cluck-university/rewst-foundations-10x/103-jinja-essentials-for-workflow-automation.md "mention")
- * [104-options-generators-and-generic-api-requests.md](../../cluck-university/rewst-foundations-10x/104-options-generators-and-generic-api-requests.md "mention")
- * [105-improve-group-management-to-support-exchange.md](../../cluck-university/rewst-foundations-10x/105-improve-group-management-to-support-exchange.md "mention")
- * [106-subworkflows-and-with-items.md](../../cluck-university/rewst-foundations-10x/106-subworkflows-and-with-items.md "mention")
+ * [Broken link](broken-reference "mention")
+ * [Broken link](broken-reference "mention")
+ * [Broken link](broken-reference "mention")
+ * [Broken link](broken-reference "mention")
+ * [Broken link](broken-reference "mention")
* [rewst-user-setup-and-gdap-relationship-guidance.md](../../documentation/integrations/cloud/microsoft-cloud-integration-bundle/microsoft-csp/rewst-user-setup-and-gdap-relationship-guidance.md "mention")A step-by-step guide video added!
**Documentation**
diff --git a/updates/cs-and-training-updates/october-27-2023.md b/updates/cs-and-training-updates/october-27-2023.md
index 9ae1a1a4..70b91181 100644
--- a/updates/cs-and-training-updates/october-27-2023.md
+++ b/updates/cs-and-training-updates/october-27-2023.md
@@ -34,7 +34,7 @@ Explore what new changes the Training team has made in the last week.
* Launch your Cluck U Experience!
* Take the Role Alignment Exam to help us identify how we can best support you!
* **Updates and Fixes:**
- * [103-jinja-essentials-for-workflow-automation.md](../../cluck-university/rewst-foundations-10x/103-jinja-essentials-for-workflow-automation.md "mention")Updates to page and steps
+ * [Broken link](broken-reference "mention")Updates to page and steps
**Documentation**
diff --git a/updates/cs-and-training-updates/september-1st-2023.md b/updates/cs-and-training-updates/september-1st-2023.md
index bb039ea6..e734d952 100644
--- a/updates/cs-and-training-updates/september-1st-2023.md
+++ b/updates/cs-and-training-updates/september-1st-2023.md
@@ -24,7 +24,7 @@ Explore what new changes the Training team has made in the last week.
* Added a [feedback and credit form](../../cluck-university/rewst-foundations-10x/) to the Rewst Foundation Pages
* Added text summaries for all the [Getting Started pages](../../cluck-university/getting-started/) for our partners who prefer reading over video
-* Chow Time: Added Updated [Rewst 102](../../cluck-university/rewst-foundations-10x/102-building-a-basic-workflow.md) and [Rewst 103](../../cluck-university/rewst-foundations-10x/103-jinja-essentials-for-workflow-automation.md) videos made by our very own Legend - Eddie Chow
+* Chow Time: Added Updated [Rewst 102](broken-reference) and [Rewst 103](broken-reference) videos made by our very own Legend - Eddie Chow
* Added [How to Scope an Automation](../../cluck-university/getting-started/how-to-scope-an-automation.md) video in the Getting Started Section
* Added a Workflow [Tips & Tricks video to Getting Started](../../cluck-university/getting-started/workflow-building-tips-and-tricks.md), focusing on documenting your workflows, using multi-select, and favoriting actions
* Added [page to highlight Resources](broken-reference) to Getting Started
diff --git a/updates/cs-and-training-updates/september-8th-2023.md b/updates/cs-and-training-updates/september-8th-2023.md
index 169b9389..71f03d2f 100644
--- a/updates/cs-and-training-updates/september-8th-2023.md
+++ b/updates/cs-and-training-updates/september-8th-2023.md
@@ -24,7 +24,7 @@ Explore what new changes the Training team has made in the last week.
* Added new [Electives](../../cluck-university/electives/) section under Cluck University - New content to come!
* Added an [Extending the Power Of Rewst Workflows Page](../../cluck-university/electives/extending-the-power-of-rewst-workflows/) with content talking about Completion Handlers
-* Chow Time: Added Updated [Rewst 104 video](../../cluck-university/rewst-foundations-10x/104-options-generators-and-generic-api-requests.md) made by our very own Legend - Eddie Chow
+* Chow Time: Added Updated [Rewst 104 video](broken-reference) made by our very own Legend - Eddie Chow
**Documentation**