Announcements

New updates and improvements to Robomotion

  1. Robomotion v23.3.1 is out! 🚀

    This release includes fixes for Flow Designer, Cloud Run and Application Robots.

    We have also released an introductory video for Bot Console:

    https://www.youtube.com/watch?v=p1iVZVFTGBQ

    Here is the Changelog for this release:

    ⚡️[Fix] Application Robot websocket reconnection bug when token expires.

    ⚡️[Fix] Cloud Run auto vault secret injection bug

    ⚡️[Fix] Flow Designer item's UTF-8 encoding bug, where if you used non-latin characters in item data, it had been corrupted.

    ⚡️[Fix] Application Robot setup config not reaching to the robot problem

    ⚡️[Fix] Cloud Run to wait until the result files and logs are uploaded

    Like

  2. Robomotion v23.3.0 is out! 🚀

    This release includes mostly fixes for Bot Console and Application Robots and a few improvements for the Queues and the Stop node.

    Here is the Changelog for this release:

    ⚡️[Fix] Bot Console instance stop detection and success/error message display.

    ⚡️[Improved] Added Reference field to the Queues -> Update Item State node. This is a custom field that can be used to reference a Queue Item. This field is _not_ encrypted, so we suggest not keeping sensitive data here.

    Screenshot from 2023-03-05 16-05-26

    You can find this Reference field in Admin Console -> Queues screen, and use it to search for a processed item.

    Screenshot from 2023-03-05 16-06-39

    ⚡️[Improved] Stop node. Previously Admin Console -> Jobs screen was only displaying an Error if it is an Unhandled Exception. But if you use a Catch node and then Stop the flow, it was considered a success.

    Now you can decide if the flow run was a success or failure. "Success" status was the default of the previous Stop node. "Failed" status requires a reason.

    Screenshot from 2023-03-05 16-21-50

    The flow result will be displayed as "Failed" and the provided Reason will be displayed in the Admin Console -> Jobs screen.

    Screenshot from 2023-03-05 16-17-54

    Like

  3. Robomotion v23.2.2 is out! 🚀

    This release includes a minor workaround for Chrome Headless and User Data Dir behavior change in the latest v110 version of Chrome. This is actually a bug in the Chrome release which will be fixed in the v112 Chrome release 1-2 weeks later. Details here:

    https://bugs.chromium.org/p/chromedriver/issues/detail?id=4357

    Here is the Changelog for this release:

    ⚡️ [Fixed] We have just applied the workaround "headless=new" option in this version that is recommended in the Chrome issue tracker. This also enables the new headless mode which is much harder to be detected by bot detection software. More details about this headless mode is here: https://antoinevastel.com/bot%20detection/2023/02/19/new-headless-chrome.html

    ⚡️ [Added] Bot Console Application Instance publish option that makes the Assistant flow publicly available.

    ⚡️ [Added] https://bots.robomotion.io is now the URL for the published Assistant flows.

    Like

  4. Robomotion v23.2.1 is out! 🚀

    Another minor release for February includes updates for Bot Console, Application Robots, and Assistant, with some bug fixes and improvements.

    Here is the Changelog for this release:

    ⚡️ [Fixed] Trigger and Scheduler race where multiple "Running" entries were being added to Admin Console -> Jobs for the same Robot.

    ⚡️ [Added] Vault Item metadata value to the output of Vault -> Set Item node.

    ⚡️ [Added] Vault -> Delete Item node

    ⚡️ [Fixed] Robomotion Extension inspect return was not updating the Browser node property.

    ⚡️ [Added] Send Crash Dump and Do Not Attach options to Desktop Application's Robot connection screen.

    Screenshot from 2023-02-21 23-28-08

    * Screen Crash Dump report - will send Robomotion servers a crash dump report for us to help solve robot issues faster. ( -s parameter for command line )

    * Do not attach to the designer - for not connecting the robot to the flow designer. You won't be seeing debug messages and node colorings but this will run the robot at production speed without throttling. ( -n parameter for command line )

    ⚡️ [Improved] Bot Console UI and Robomotion Assistant UI

  5. Robomotion v23.2.0 is out! 🚀

    We are excited to announce the release of our latest version, which includes several improvements and updates that will enhance the multi-branch flow development experience.

    We are now very close to reaching general availability (GA) for Bot Console and Robomotion Assistant. We will soon be sharing documentation and usage videos to help you get started.

    We believe that these products will significantly improve the way users interact with the robots. So stay tuned for more updates. ✌️

    and here is the Changelog for this release:

    ⚡️ [Fixed] Debug node was only able to display "String" typed variables, now you can select all the available variables.

    Screenshot from 2023-02-14 22-44-50

    ⚡️ [Fixed] Function node's Local Variable type selection.

    Screenshot from 2023-02-14 22-42-45

    ⚡️ [Fixed] After the Browser nodes' Inspect action with the browser extension, the node property was not being updated with the returned XPath but only after clicking to another node and then clicking back to the inspected node.

    ⚡️ [Added] global.lock() / unlock(), flow.lock() / unlock(), local.lock() / unlock() methods to the Function node. It was not possible to keep the variable updates without race conditions before these methods in a multi-branched flow. You need to get the variable, update the value, and set the variable back. But between these steps, any other Function may be doing the same thing which will result in race conditions.

    image

    By using lock() and unlock() regions, you will make sure there will be no race conditions between multi-branch executions.

    ⚡️ [Added] The "Wait Group" package to the default robot packages. Wait Group allows synchronizing the stop logic of the multiple branches. Before the "Wait Group" package, you need to somehow track all the branches and understand when all finishes, then you could Stop your flow. This would require managing variables, and constantly checking the variables to understand if all branches finished their tasks. Now with the "WG Create" node, you create a Wait Group, by using the "WG Add" node you define how many operations are to be completed, by using the "WG Done" node you signal that one operation has ended. The "WG Wait" node only continues if all the operations are completed.

    Screenshot from 2023-02-14 23-05-26

    ⚡️ [Added] "Fork Branch" node under the default Flow package. Before this node, there was a pattern for the "For Each" node to create multiple branches, which was cumbersome and not easy to manage and understand. The "Fork Branch" node uses the new "Wait Group" building blocks internally. There are 2 output ports of this node. The top port will be executed n times for each forked branch, and when all branches end, the "Fork Branch" node continues from the bottom port. You can use the "WG Done" node to signal the completion of a branch.

    Screenshot from 2023-02-14 23-09-06

    ⚡️ [Improved] Bot Console UI which is not publicly available yet, but is used in our private projects. Bot Console is soon to be generally available.

    ⚡️ [Added] Robomotion Assistant package to create assistant flows with ease. Here is a quick preview of the Assistant:

    image

    assistant

  6. Robomotion v23.1.1 is out!

    This is a minor release to fix a backward compatibility problem. You only need to update to this version if you have updated to 23.1.0 and also you have used the Wait File node in your flows. In this case, you either have to replace the Wait File node with the latest from the Flow Designer node palette or just update to this latest version.

    Here is the Changelog for this release:

    ⚡️ [Fixed] Wait File node is broken with the latest release 23.1.0. The problem was the latest node version now has a new output object named msg.files but old nodes do not have this. The latest robot version was expecting it for all node versions. Updating to the latest robot version will fix this problem.

    Screenshot from 2023-01-18 20-39-57

    Like

  7. Robomotion v23.1.0 is out!

    We are happy to announce the first release of 2023, which includes new features, bug fixes, and more improvements.

    We are still working on the development of our upcoming products Bot Console, Robomotion Assistant, and our new robot-type Application Robots which will introduce web-based attended usage. Application Robots will also be the base of our upcoming Bot Store.

    Here is the Changelog for this release:

    ⚡️ [Fixed] Long node name overflows in Flow Designer node palette

    ⚡️ [Added] Only IDs option to Search Mail node which helps to process a large number of emails. With Only IDs, Search Mail only returns the Uid of the emails in an array. You can use For Each node to loop through these Uids, then again Search Mail node can be used to retrieve an email by its Uid only.

    Screenshot from 2023-01-17 09-53-27

    ⚡️ [Improved] Vault sharing dialog. Now you can add, remove or update the emails without Unsharing and Sharing again.

    Screenshot from 2023-01-16 21-03-26

    ⚡️ [Fixed] master version spinning forever in Version Dialog.

    ⚡️ [Fixed] Queue status and priority updates with the "Update Item State" node. The update was failing because of the status and priority item types.

    ⚡️ [Fixed] Variables default value set bug in the Designer panel.

    ⚡️ [Added] Function node auto-beautify Javascript code on Save.

    out

    ⚡️ [Improved] Sign in and Sign up pages. Workspace creation has now fewer steps.

    Screenshot from 2023-01-16 21-08-45

    ⚡️ [Improved] the array widget of the node properties.

    Screenshot from 2023-01-16 21-09-49

    ⚡️ [Improved] the date widget of the node properties.

    date-widget

    ⚡️ [Fixed] Robomotion Forms had a bug that makes the submitted data with special characters (non-Latin characters) unrecoverable from the Queue. Get Next Item was throwing an exception.

    ⚡️ [Improved] Multiple Queue Items can now be updated altogether.

    Screenshot from 2023-01-16 21-27-15

    ⚡️ [Fixed] a very rare Goto node crash.

    ⚡️ [Improved] Function node editor now has docking and full-screen features.

    Screenshot from 2023-01-16 21-29-23

    ⚡️ [Improved] Nodes that have an Edit menu item and an Editor can now be accessible with a double-click. So a double click to the Function node now directly opens the editor.

    ⚡️ [Improved] Http Out node now can return a file with a given Attachment File property. This can be used in different forms. For example, you can create an endpoint with path params like /files/:filename with Http In, and in the flow, you can return this filename from a folder. So you can dynamically create a file and return that file, like generating a report.pdf, or you can setup Http In and Http Out to work similarly like a file server.

    Screenshot from 2023-01-16 21-33-44

    ⚡️ [Improved] List Dir node now can only return the selected file info with the addition of Modification Time and Mode. Now you can decrease the size of the returned array by only requesting the necessary information.

    Screenshot from 2023-01-16 21-46-54

    ⚡️ [Improved] Wait File now returns the files that match the given file pattern. Before this, we were using List Directory (sorted by date) to find out the created or downloaded file.

    ⚡️ [Improved] Schedule dialog now accepts more than 1 robot. When the schedule comes any of the available robots can run the flow. The flow will run once on any of the available robots.

    Screenshot from 2023-01-16 21-51-28

    ⚡️ [Added] "Should Stop" node under the default Flow package. This node returns true if only a higher priority schedule is waiting. Before this, a higher priority schedule was forced to stop the flow. But this was not allowing a graceful stop. Now it is up to you to stop or not. And you can decide to stop in a much more graceful way.

    Screenshot from 2023-01-16 21-57-16

    ⚡️ [Added] Hardware Trigger option to the Admin Console -> Triggers. This trigger can watch CPU, Memory, and Disk Usage with thresholds.

    Screenshot from 2023-01-16 22-06-33

    Screenshot from 2023-01-16 22-06-51

    ⚡️ [Improved] Simplified Http Trigger options. Added IP option and Request Unique ID is now optional.

    Screenshot from 2023-01-16 22-11-28

    3

  8. Robomotion v22.12.0 is out!

    We released v22.11.0 on November 17, last month, just before our special Black Friday AppSumo deal and this was a huge update. We have updated all the UI and updated the robot and backend services to support our upcoming Cloud Run and Bot Store features which are still in closed beta.

    This also brought many bugs in production, which some of you may have encountered. We have been busy fixing those bugs and deploying the fixes constantly during this time. We have also added some new features along the way.

    Here is the Change log for this release:

    ⚡️ [Fixed] Pressing Ctrl + S in the Function editor should not close the dialog

    ⚡️ [Fixed] Search box text starts from right

    ⚡️ [Fixed] Slowness while moving nodes

    ⚡️ [Fixed] AppSumo LTD info was showing Tier 1 for all

    ⚡️ [Fixed] Right-click context menu is not showing and searching the package nodes

    ⚡️ [Fixed] Switching between workspaces is not forwarding to the login page

    ⚡️ [Fixed] Ctrl+A is not highlighting the nodes but only selecting them

    ⚡️ [Fixed] Shared flow can not be opened in Incognito Chrome

    ⚡️ [Fixed] Robot selection dialog should always be shown when the user clicks the Run button

    ⚡️ [Fixed] Function editor is not showing syntax errors

    ⚡️ [Fixed] Robot selection screen shows OS and IP as undefined

    ⚡️ [Fixed] Admin Console table layout problems in Robots and Licenses tables

    ⚡️ [Fixed] "Try this template" page shows play, stop, versioning, and save buttons but instead should only show the import button

    ⚡️ [Fixed] Search by tags is not working in the Projects dialog

    ⚡️ [Fixed] Comment node links should be opened in a new tab

    ⚡️ [Fixed] Robomotion Desktop app is not closing "robomotion-agent" on exit ( https://feedback.robomotion.io/b/n0ozw2m6/feature-ideas/exiting-robomotion-tray-does-not-kill-robomotion-agent )

    ⚡️ [Fixed] After the Stop node is executed, Flow Designer is not showing the robot as available

    ⚡️ [Fixed] Variable panel has scroll-down problems if you have more than 10 variables

    ⚡️ [Fixed] Increasing and Decreasing Function output ports triggers a bug that prevents saving the Function node script again

    ⚡️ [Fixed] Zoom In and Zoom out notifications are reversed

    ⚡️ [Fixed] Switch node property updates are not working correctly

    ⚡️ [Fixed] Hamburger menu is not working in Flow Designer Templates and Tutorials screens

    ⚡️ [Fixed] Vault Inject is not working for a robot started with robot_id and robot_token

    ⚡️ [Fixed] Mac package is not working on Big Sur but only works on Monterey

    ⚡️ [Fixed] Trigger File Create Crash on the robot side

    ⚡️ [Fixed] Using backspace while Vault Dialog is open deletes the flow nodes behind the dialog

    ⚡️ [Fixed] Using backspace after once clicking the Save button inside the Function editor deletes the flow nodes behind the dialog

    ⚡️ [Added] FTP -> Move File node added to the FTP package

    ⚡️ [Added] Schedule Priority option is added to Create Schedule and Create Trigger so that any flow that has a higher priority than the currently running flow will force stop the robot and start running. You need v22.12.0 for this to work, since the priority is handled by the robot.

    Screenshot from 2022-12-12 17-05-26

    ⚡️ [Improved] Vault Share option is improved. There is no Unshare option anymore but by clicking the Share option you can add/update who can access to the vault in your workspace.

    206691416-a24917d8-d53a-4e4d-a334-5e442e5b6c3a

    Like

  9. Robomotion v1.18.11 is out!

    We have yet another release for 1.18 that includes more bug fixes and improvements.

    Here is the Change log for this release:

    ⚡️ [Improved] Added "Mail Folder" option to Mail Trigger. Before this, new email events were only being triggered from INBOX. This option creates another possibility and that is, to be able to create filters inside your mail client and move the mails directly to a folder. This would speed up the triggering process. Because if you specify filters to a Mail Trigger even with an Event-based option robot needs to log in again, this time searching mail for the specified filters you set. But if you have an option to filter and move your emails into different folders directly within your mail client and set your Mail Trigger from Admin Console by just specifying the folder name without setting any filters the robot as soon as getting the new email event will start the flow.

    ⚡️ [Fixed] Mail Trigger IMAP listener now reconnects to the server and continues to listen to events after a network failure.

    ⚡️ [Changed] We introduced Function line numbers in the Exception Dialog to help find the problem faster when an exception is thrown. But this seems to break some flows that throw custom exceptions like

    throw "Amount Mismatch"

    -that we also use a lot. This breaks exact string comparisons inside the flows. So we moved this info to the below section and reverted the msg.error.message data to its original form.

    Screenshot from 2022-09-24 11-04-14

    ⚡️ [Fixed] Version Sync option. After creating a new version you need to publish it and then update the schedule of your flow from the Admin Console. This process becomes cumbersome if you forgot a last-minute fix to add to your version and that is where the Sync option comes from. Sync has not been working if you added a new Subflow into your flow and if you try to schedule a Synced flow you would be getting 404 errors, now this is fixed. Sync is similar to creating a new version but actually, you are overwriting the master version to the version you have selected. We suggest using this option responsibly and creating a new version for every major/minor change with descriptions in your version history. Making a habit of overwriting the same version instead of creating a new version would remove the benefit of versioning in the first place.

    ⚡️ [Improved] Open Browser (Chrome only) now accepts extensions. You can either provide hard-coded custom paths into the properties section or provide an array of strings within your flow with msg.extensions. Open Browser accepts both a local file system path like "/Users/John/grammarly.crx" or you can provide the full Chrome Webstore URL like "https://chrome.google.com/webstore/detail/grammarly-grammar-checker/kbfnbcaeplbcioakkpcpgfkobkghlhen"

    ⚡️ [Fixed] on create failed: errors. The previous version was force killing a non-stopping package service after 10 seconds but the real problem we have discovered was actually in the starting phase of the package services.

    ⚡️ [Improved] Added support for custom package nodes to have multiple outputs. We are working on improving the Discord Bot package and this was a requirement.

    ⚡️ [Fixed] When Open Link fails to open a page because of a very rare underlying driver problem - was causing a crash. This is a very minor fix that was not affecting anything and can be considered a cosmetic fix for the logs.

    ⚡️ [Fixed] We discovered a bug that could easily be placed in the "Bugs Hall of Fame" if existed. If you have generated a token for a Robot or have one that is working already and you try to rename your Robot - your token becomes invalid so you need to regenerate a new token. 🤦‍♂️ It is fixed now.

    Like

  10. Robomotion v1.18.10 is out!

    We have another release for 1.18 that includes a major fix for a rare crash that leaves the robot in an unrecoverable state and OAuth2 support for Gmail and Outlook.

    OAuth2 support is essential because Microsoft will be disabling Basic Authentication support effective October 1, 2022. More details about this update can be found here => https://docs.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/deprecation-of-basic-authentication-exchange-online

    Here is the Change log for this release:

    ⚡️ [Fixed] A crash that leaves the robot in an unrecoverable state. We have seen this in some of our projects and it is also reported by our users. This is not a bug introduced by the latest versions, it even existed before 1.18.8. The crash seems to be triggered by a race, so it was very hard to reproduce. We tried everything to reproduce but still could not able to. A common pattern for this crash was Flow stopping with an exception and Catch / Go to Nodes were seen before the crash. After the crash, you could not run any other flow. We fixed the problem which prevents running any other flows after a Stop, which is actually the after-effect of this crash. Thanks to @arif134 and @Mitchal for reporting this and for their feedback.

    ⚡️ [Fixed] Admin Console -> Flows hard coded 5 rows limit is fixed, default is now 25 and you can select other from the selection box.

    ⚡️ [Fixed] a bug in Flow Designer vault item property if the vault is given from a msg. object. After returning to the node property, it was seen as [Object object] in credentials.

    image

    ⚡️ [Improved] Flow Designer Function node exceptions now also show the line number causing the problem.

    image

    ⚡️ [Added] Mail -> Search Mail node a "Read Only" checkbox property. The default value is false. That means any mail returned for your search results will be marked as read. If you don't want this behavior, just check the "Read Only" checkbox. Marking Read was the default behavior before 1.18.9. 1.18.9 introduced a breaking change that we are now reverting back to with this better solution, leaving the default behavior the same as before and also providing an option to change.

    ⚡️ [Improved] 1.18.9 introduced a mustache-like option to create dynamic form JSON content with Forms -> Create Form But it was only accepting primitive types like strings or integers. Now it understands complex JSON objects. This is a mustache-like solution, not an exact one because mustache is for String interpolation and this is a JSON object we are replacing the values for. Either string, integer, or a complex JSON object you have to provide the field between double quotes as below:

    Screenshot from 2022-09-11 13-16-53

    ⚡️ [Fixed] Mail -> Save Attachment was failing if the mail it was processing was marked as "unread". The node was throwing a "Server did not return mail body" exception. The next time you run the flow, the email was being processed without a problem. This was not discovered before because the default behavior of "Search Mail" was marking the mail as unread. When 1.18.9 changed that, this bug surfaced. Save Attachment is mostly used after Search Mail or Get Mail. It is now fixed.

    ⚡️ [Added] $RobotVersion$ global variable. Now you can get your robot version from your flow as below:

    Screenshot from 2022-09-11 13-24-46

    ⚡️ [Added] Mail -> Connect and Mail -> Disconnect nodes are added to the default Mail package. Now you can connect to the mail server and use this connection for the mail nodes with msg.client_id. All the nodes were previously connecting to and disconnecting from the server before and after execution. If msg.client_id is empty the nodes behave as before and expect their own Credential property to be provided. If the node's own Credential Property is provided it also overrides msg.client_id if not empty. One exception is Send Mail, it still reconnects and disconnects for every request even msg.client_id is provided.

    ⚡️ [Added] Mail nodes now support OAuth2 authentication for Gmail and Outlook. You have to use the Mail -> Connect node for this. Provide the usual Email Server Credentials from your Vault, select the "OAuth2 Authentication" type instead of "Basic Authentication" and provide another Document Type Vault Credential that should hold your OAuth2 client_id and client_secret as below:

    Screenshot from 2022-09-11 13-33-52

    You can find documentation for Gmail and Outlook by searching OAuth2 Authentication, client_id, and client_secret.

    ⚡️ [Fixed] Net -> Http In node's Global Port variable input. It was not accepting the values given by the Global Variables. In order for this to work, you need to delete the old Http In node in your flow and drag and drop a new node from the left Node Palette or with the right-click context menu. The problem was old node's Port type was String which should actually be an Integer.

    Screenshot from 2022-09-11 16-46-12

    Like