Overview
The Loop action allows a workflow to repeat a set of operations multiple times, until a specific condition is met.
This action is key for automating repetitive tasks or processing multiple items in a collection.
For example, if the workflow needs to create an counter to each item in a list, the Loop action will repeatedly execute the necessary steps until all items have been processed.
Depending on the setup, the Loop action can be triggered for a set number of iterations, or it can continue looping until a particular condition, such as reaching the end of a list or fulfilling a specific requirement, is met.
Loops make workflows scalable by eliminating manual repetition and allowing automatic execution based on the data set or condition.
Let’s explore the screens that follow, after drag-n-drop of Loop action on workflow canvas.
Config
Loop Config Field | Description |
---|---|
Source Type | It allows the user to select the source of records on which the loop will be performed. Note: By default, the Source Type is Model. Other options include Variable, Nested Field and Iteration Count. Reference: Source Type |
Model | When you select |
Workflow | It allows to use available workflows in layout to run in loop. |
Looping Variable Source Type | It determines the source type for the variable that will be used as the looping variable. Note:
|
Looping Variable / Looping Model | It allows the user to define the looping variable or model for the loop action. Note: If you have chosen Nested Field as Looping Variable Source Type, this field will not be visible. |
Models | It enables to add looping model which can be used later. Reference: Add Model |
Source Type
Source Type | Description |
---|---|
Variable | It allows to select from the variables created in the layout whose value you want to use. |
Model | It allows to choose the field from other models whose value you want to include. |
Nested Field | It allows to choose the field from other models(object) whose value you want to include. |
Iteration Count | It allows to create and use a iteration count variable as a source type. |
Add Model
After clicking on '+' button, following screen for adding Model opens up.
Modal Field | Description |
---|---|
Label | A user-friendly name for the model label, used for easy identification within the application. |
Name | The unique identifier for the model label, typically used in code or within merge text. |
Model | It enables to choose from available models from layout. |
Field | It enables to choose field from object whose model is chosen. Note: It will be visible only when you chose the model. |
Filters | It enables to filter out the data for model using AND OR logical operators. |
Binding Variable | It enables to choose binding variable to the model. |
Action Details
Attribute Name | Description |
---|---|
Label | A user-friendly name for the action, used for easy identification within the application. |
Name | The unique identifier for the action, typically used in code or within merge text. |
Is Async? | Decides whether the action will be performed in async context or within sync context. |
Description | A user-friendly description for the action, used for easy apprehend within the application. |
Is Async : Brief Explaination
Is Async checkbox provides flexibility in managing how actions within workflows are executed in relation to system transactions. Here's how it works:
Single Transaction Execution: When multiple actions within a workflow have Is Async set to
false
, they are executed within a single transaction. This ensures that all actions complete successfully, or if one fails, the entire transaction is rolled back, maintaining data integrity.Breaking Transactions: When an action within the workflow has Is Async set to
true
, a new transaction is initiated at that point. This allows for separation between the actions, enabling different parts of the workflow to be processed independently.Handling Large Data: The Is Async feature is especially useful when working with large amounts of data that may risk hitting system governor limits. By setting certain actions as asynchronous, you can ensure that the workflow avoids limits by breaking the execution into multiple transactions.
This feature empowers users to control how workflows behave during execution, optimizing performance and avoiding potential issues with system resources.
Input
Overview
In noKodr, an Input Variable is used to temporarily store a value and pass it to a desired action or component within the application. It facilitates the dynamic transfer of data between different elements of the application.
Temporary Storage: Stores values temporarily during the application's operation, allowing for flexible data handling.
Data Passing: Enables the transfer of values to other workflow actions or components, such as layouts, Components etc. based on user interactions or other triggers.
For example, Suppose you have a button that, when clicked, opens a layout or modal (screen) displaying a user's personal information. To achieve this, you can use an Input Variable to pass the user's ID from the button click event to the layout or modal. This allows the layout to retrieve and display the relevant personal information associated with that user ID.
Variable Config | Description |
---|---|
Label | A user-friendly name for the variable, used for easy identification within the application. |
Name | The unique identifier for the variable, typically used in code or within merge text. |
Field Type | Specifies the type of data the variable will hold (e.g., text, number, date, etc). Reference: Field Types |
Default Value | The initial value assigned to the variable, applied if no other value is provided. Note: It depends on the field type we choose. |
Required | If checked true, the variable becomes required. |
Is Array ? | Checkbox that indicates whether the variable can store multiple values (an array) instead of just one. |
Field Types
Data Type | Description |
---|---|
Text | Stores a string of characters, such as names or descriptions. |
Checkbox | Represents a boolean value (true/false) typically used for on/off or yes/no selections. |
Integer | Holds whole numbers without decimals, used for counting or numerical calculations. |
Double | Stores numbers with decimals, allowing for more precise calculations. |
Record | Represents a single Salesforce record, such as an account or contact. |
Object | Stores complex data structures or objects, often containing multiple fields or properties. |
Currency | Used to represent monetary values, ensuring proper formatting and calculations. |
Date | Stores a calendar date (year, month, day) without time information. |
DateTime | Stores both date and time information together. |
Picklist | A dropdown menu that allows users to select a single value from a predefined list. |
Tags | Stores a list of keywords or labels used for categorization or filtering. |
Specifically formatted to store email addresses. | |
Phone | Holds phone numbers, often with specific formatting. |
URL | Stores web addresses (Uniform Resource Locators) for linking to external resources. |
Radio | Represents a group of mutually exclusive options where only one can be selected. |
Time | Stores time information without an associated date. |
Percentage | Stores numerical values represented as percentages, often used in calculations or metrics. |
Text Area | Allows for the input of larger amounts of text, often used for comments or detailed descriptions. |
Duration | Stores a length of time, typically used for measuring intervals or time spans. |
Multi Picklist | Allows users to select multiple values from a predefined list. |
Add Comment