π¬ Component
Components are operations to create automations. Components are divided into categories to help you find what you need easily. On the left side of the editor, you will see the main component categories.
1. Trigger Components
Section titled 1. Trigger ComponentsTrigger components are the entry points of your automation. They initiate the automation based on a specific event or schedule. Each automation must have exactly one trigger component. Monkedo provides several trigger components:
Manual Trigger: Starts the automation when you click the start button of the automation.
Schedule Trigger: Runs the automation at a specific time or interval, ideal for periodic reports or monitoring systems.
Webhook Trigger: Initiates automation from software or devices that provide a unique URL for the automation and automation is triggered when a request is sent to this URL, useful for tasks, data collection, and logging.
Email Trigger: Starts automation when an email is received, allowing email processing and automated responses.
App-specific Triggers: Initiate automation when an event occurs in an app.
2. Action Components
Section titled 2. Action ComponentsAction components process either the automation flow or user-provided data, providing the outcome of the process to the next components in the automation. Action components are:
Math: Mathematical operation components. Perform arithmetic operations like addition, subtraction, and multiplication.
Text: Components that work with text. Manipulate text, such as splitting, joining, replacing, and converting text.
Date and Time: Contains components that work with date and time for instance getting the current date, formatting dates, and date arithmetic.
Table Operations: Components that work with table data.
List Operations: Components that work with list data.
Entity: Components that work with entity data.
HTTP: Components that perform HTTP requests and responses, primarily for developers.
Email: Components for sending emails and working with email boxes.
Conversion: Component to convert quantities like length and weight between units.
Miscellaneous: Serve various purposes, such as generating random data and testing components.
App-specific Actions: In addition to the built-in action components, Monkedo offers action components for over 400 apps. You can use these components to interact with various apps directly, enabling you to perform app-specific actions and integrate seamlessly with your existing tools.
3. Flow Control Components
Section titled 3. Flow Control ComponentsFlow control components are action components that manage flows. They are useful for more complex automations and allow you to:
Conditionally run components based on specific conditions.
Repeat a set of components multiple times, such as processing each row in a table.
Flow Control Components are Iterative Components (Iterate Table, Iterate List, Repeat), Termination Components (End Automation, End Iteration), Condition, Delay, and Collect.
Iterative Components
Section titled Iterative ComponentsThere are 3 iterative components: Iterate Table, Iterate List and Repeat.
Wrong Way to Create an Iterative Flow
For instance, aim is to create an automation flow to send emails to a list of customers sequentially. There is a spreadsheet with customer details, including email addresses. Automation starts with a component to read the spreadsheet file, which provides the data as a table value. Then use a component to get a row from the table. And finally, send an email to the email address in the retrieved row. It might seem logical to connect the output of the email component back to the get row component to repeat the process. However, this is incorrect. Because setup creates an infinite loop, where the tool repeatedly performs the same actions without stopping, due to a design flaw. Infinite loops result in unwanted outcomes and are a common programming mistake. Monkedo prevents the creation of circular flows. You cannot connect a componentβs output back to itself or to any preceding component in the flow. Instead of this, you should use iterative components under flow control components.
Iterate Table Component
The Iterate Table component is designed to take a table as its input and sequentially provide each row as its output. Here are the details on how it functions:
Row Output: The component outputs each row from the table one by one.
Row Number Output: In addition to the row data, the component also provides an output for the row number. You can utilize this output if there is a need to access the current row number.
Completion Signal: Once all rows have been processed, the Done output activates. This output can be used to trigger components that need to run after the iteration through all rows is completed.
By leveraging these features, you can efficiently manage and process data row by row while maintaining control over the flow of the automation.
Iterate List Component
The Iterate List component functions similarly to the Iterate Table component, with the primary difference being the type of input it processes. Here are the details:
Input: This component takes a list as its input.
Iteration Process: It iterates over the elements of the list one by one, providing each element as its output.
By using the Iterate List component, you can efficiently manage and process each element in a list sequentially, similar to how rows are handled in a table with the Iterate Table component.
Repeat Component
The Repeat component is designed for repeating actions a specified number of times. This component is useful when there is no list or table to iterate over, but there is a need to perform the same operations multiple times.
Setting Repetitions: You can specify the number of repetitions by providing a number to the input.
Iteration Process: At each repetition, the component provides the value it receives from its input as its output. It also outputs the current repetition number.
Completion Signal: Once all repetitions are completed, the Done output is activated.
The functionality of the Repeat component is similar to the Iterate Table component, with the distinction that it repeats a set of actions based on a specified count rather than iterating over a list or table.
Termination Components
Section titled Termination ComponentsEnd Automation: Ends the automation with either a success or error status. The use of end automation is not required to end the automation flow. If there are no further actions, the flow will end naturally. It offer a way to explicitly stop automation if they no longer need to continue.
End Iteration: Ends the current iteration and moves on with the flow. It is one of the termination components. The use of end iteration is not required to end the iterated flow. If there are no further actions, the iteration will end naturally. It offer a way to explicitly stop iteration if they no longer need to continue.
Other Flow Control Components
Section titled Other Flow Control ComponentsCondition: Allows the flow to continue, stop, or change path based on given conditions. It takes an input and directs it through one of several outputs based on user-defined criteria. The automation flow continues from the components connected to the selected output.
Input and Output:
The component evaluates user-defined criteria in a specified order when it runs.
The input is sent through the first output that meets the corresponding condition.
If no condition is met, the input is sent through the "Otherwise" output.
Conditional Branching:
When the component is activated, it tests the input against the defined criteria in sequence.
The input is routed through the first output with a matching condition.
If none of the conditions are satisfied, the input is directed through the "Otherwise" output.
Stream Filtering:
Condition components can also function as stream filters.
In the example below, if the input meets the condition, the flow will continue. Otherwise, it will stop.
If this branch is within a loop, the loop will proceed to the next item.
Delay: Delays the execution of the next action by a specified amount of time. This action holds the output of a component for a specified period before passing it to the next component. It is used in automation when certain operations need to be performed after a delay rather than immediately.
Collect: Collects items or rows into a list or table, useful in iterated flows for collecting iteration results.
4. Data Action Components
Section titled 4. Data Action ComponentsData action components are used to store and retrieve data for later use or in other automations. These components enable persistent data management across automations.
Value: Stores data and provides it during the execution of the automation flow.
Delete Named Value: Deletes a named value.
Get Named Value: Gets a previously set named value.
Set Named Value: Sets a named value. If the named value exists, it will be updated. Otherwise, it will be created.
Create Data Table Row: Creates a new row in a Data Table with given data.
Delete Data Table Rows: Deletes rows from a Data Table.
Get Data Table Rows: Gets rows from a Data Table.
Update Data Table Row: Updates an existing row in a Data Table with given data.
Delete Stored Value: Deletes a value from Value Store.
Get Stored Value: Gets a value from Value Store.
Set Stored Value: Sets a value in Value Store. If the stored value already exists, it will be updated. Otherwise, it will be created.
5. Browser Action Components
Section titled 5. Browser Action ComponentsBrowser action components are action components that interact with web pages (navigation, accessing page data, interacting with elements such as clicks and form filling on the page).
Click: Clicks a selected tag on a webpage.
Fill Input: Enters a value into a selected tag on a webpage.
Open Webpage: Opens a webpage in the web browser. This component must be used first to access other browser components.
Read Multiple Values: Reads multiple values from a selected tag on a webpage.
Read Single Value: Reads a single value from a selected tag on a webpage.