ThinkAutomation Release Notes

5.0.835 (17th May 2022)

5.0.830 (9th May 2022)

5.0.826 (28th Apr 2022)

5.0.816 (20th Apr 2022)

5.0.812 (31st Mar 2022)

5.0.800 (2nd Mar 2022)

5.0.795 (17th Feb 2022)

5.0.785 (8th Feb 2022)

5.0.775 (26th Jan 2022)

5.0.770 (19th Jan 2022)

5.0.760 (6th Jan 2022)

5.0.700 (15th Nov 2021)

5.0.686 (6th Nov 2021)

5.0.682 (14th Oct 2021)

5.0.680 (7th Oct 2021)

5.0.662 (8th Sep 2021)


Initial Release

Benefits Over Version 4

ThinkAutomation Version 5 offers the following benefits over previous versions:

What's New

ThinkAutomation Version 5 is 100% .NET managed code. There are no legacy components, OCX's or COM dependencies.

Main Assembles

NameUse
ThinkAutomationCoreClasses.dllShared core metadata classes.
ThinkAutomationServer.exeMain server service.
ThinkAutomationServerCore.dllMain server assembly.
ThinkAutomationMessageProcessor.exeMessage processor service.
ThinkAutomationMessageProcessorCore.dllMessage processor assembly.
ThinkAutomationMessageReader.exeMessage reader service.
ThinkAutomationMessageReaderCore.dllMessage reader assembly.
ThinkAutomationMessageReaderClasses.dllMessage reader additional classes.
ThinkAutomationClientCore.dllClient to server communication assembly used by Studio, Message Reader and Message Processor.

All assemblies use .NET Framework 4.7.

ThinkAutomation Version 5 is not backward compatible with ThinkAutomation Version 4. ThinkAutomation Version 5 can be installed alongside ThinkAutomation Version 4. The two versions are entirely separate products. Existing ThinkAutomation users will find it easy to recreate Triggers in ThinkAutomation Version 5. We have created a command line tool to recreate ThinkAutomation Version 4 Triggers to ThinkAutomation Version 5 Automations. This will convert most of the common actions, however it is not possible to recreate scripting actions since scripting language is fundamentally different.

Terminology Changes From Previous Versions

ThinkAutomation Version 5 uses the term Message Source instead of Account when referring to configuring message source types. It uses Automations instead of Triggers and Solutions instead of Organizations. Configuration is done using the ThinkAutomation Studio instead of ThinkAutomation Administrator.

Core Changes

ThinkAutomation Version 5 does not use separate Trigger Conditions. When a Message Source is configured all new messages for that source will be retrieved by the Message Reader service and sent to the ThinkAutomation Server to be added to the message store & process queue. The ThinkAutomation Server informs the Message Processor Service that new messages are available. The Message Processor service requests new messages from the Queue that are then processed by the first Automation configured on the Message Source. All execution is done inside the Automation. Single Automations can "Call" other Automations, so if separate Automations are required to be run based on conditions of the incoming message then this is done inside the Automation itself using If..Else..End If blocks and Call actions.

ThinkAutomation Version 5 does not separate out Extracted Fields into a separate configuration section. Extracting data from the incoming message is just another action type (Extract Field) in ThinkAutomation Version 5.

ThinkAutomation Version 5 includes a built-in mail server to receive emails. However it can no longer be used to relay outgoing emails. All outgoing emails must be sent via a SmartHost or SendGrid (configured in the Server Settings). A new SendGrid message source type will allow emails sent via SendGrid to be sent to ThinkAutomation for processing.

Core Improvements

ThinkAutomation Version 5 is approximately 10x faster than ThinkAutomation Version 4 for core processing on the same hardware. For Message Readers that download messages (eg: Downloading items from an Office 365 mailbox), then the bottleneck will be available bandwidth - which would remain the same.

The ThinkAutomation Version 5 Message Reader service reads messages from multiple sources concurrently. Each message source reader executes on its own task. The Message Processor Service executes Automations concurrently. By default the Message Processor service starts 3 separate execution threads (this can be configured). Additional Message Processor services can be configured on separate machines.

All metadata (Message Source and Automation configuration) is now stored as Json documents in a Document DB instead of XML. Only the ThinkAutomation main server accesses the Metadata and Message Store databases. The metadata file is encrypted.

Concurrent Message Processing

Individual Message Sources read and receive messages concurrently. Individual Automations can be set to 'Allow Concurrent Execution'. If this is enabled then the Message Processor will execute multiple messages concurrently (up to the number of Message Processor tasks defined on the Message Processor Service). The 'Allow Concurrent Execution' setting on new Automations is disabled by default. It should not be enabled if the Automation should save/update values in the same order that messages are received. For example: If a Database Pull reader reads records from a database and the Automation saves those records to a CSV file, then if concurrent execution is enabled there is no guarantee that the CSV rows will be in the same order as the Database Pull records.

Ease Of Implementation

The ThinkAutomation Studio, Message Reader & Message Processor services have no direct connection to the MetaData or Message Store databases. All communication is via secure WebSocket connections. This means that configuring multi-computer implementations (where the ThinkAutomation Server, Message Reader & Message Processor services run on separate computers) is much easier.

MongoDB & MySQL Message Store

ThinkAutomation Version 5 supports Message Store databases in SQL Server & SQLite formats as with ThinkAutomation Version 4. ThinkAutomation Version 5 adds support MongoDB and MySQL message stores. MongoDB based message stores provide high performance with unlimited storage and support local or cloud MongoDB instances.

ThinkAutomation Studio

All configuration is done using the ThinkAutomation Studio. The Studio can be run from any machine that can connect to the ThinkAutomation Server. It is a .NET WPF application with a more modern look & feel. The Studio includes a Message Store viewer for viewing processed messages and a Custom Action Designer for creating new action types.

Scripting

ThinkAutomation Version 5 replaces the legacy VBScript action in ThinkAutomation Version 4 with full .NET C# or VB.NET scripts. Scripts are compiled when first run making scripted actions as fast as core processing. Scripts can be any size and contain their own classes. Scripts have full access to the .NET Framework and can reference external assemblies and NuGet packages. The ThinkAutomation Studio includes a full featured code editor with syntax highlighting. In addition, scripts can be developed and tested using Visual Studio if required and then pasted into ThinkAutomation.

Scripting/Custom Actions .NET References

Scripts and Custom Action code can reference .NET Framework assemblies & NuGet packages. NuGet packages can be searched and added to any script. You can also reference any .NET assembly that exists in the ThinkAutomation program files folder or be in the global GAC.

Custom Actions

ThinkAutomation Version 5 includes the ability to create custom action types. Custom Actions include a UI builder for configuring the Action settings and a C# or VB.NET script for the action execution. Once a Custom Action has been created it appears in your available actions list and can be used like any other action on any of your Automations (provided the 'Publish' option is enabled on the Custom Action menu).

Online Custom Actions Library

Parker Software maintains an online library of custom actions and we will be adding more custom actions over time. ThinkAutomation users can add actions from this library using the Explore button on the Custom Actions tab. This will list all the available custom actions - you can then select ones to add and use locally (and to update existing with updated online versions).

Adding To The Online Custom Actions Library

You can also share your own custom actions to the online library. If a custom action is saved and the Publish & Share options enabled, then it will be uploaded. Parker Software must validate user uploaded custom actions before they will be visible to other ThinkAutomation users in the online library.

Automation Chaining

ThinkAutomation Version 4 had the Pass To action type - where a value could be passed to another Trigger for processing. ThinkAutomation Version 5 replaces this with the Call action type. Automations can "Call" another Automation with any value and receive the result. Automations can return a value. Automations can be added to the "Library" so that common Automations can be called from the Library.

Database Update/Lookup Action Changes/Improvements

Database Update/Lookup actions now use ADO.NET directly instead of OLEDB connections for improved performance. ADO.NET drivers are included for SQL Server, SQLite, MySQL, Oracle, PostgreSQL, DB2, Firebird. ODBC and OLEDB connections can still be used.

All Database Update/Lookup Actions now use parameters for improved performance and security. Parameters can be defined and assigned a value. SQL Statements are validated to check parameters have been defined that are used in the statement.

A new Open Database Reader action opens a data reader against any database query. The reader is kept open during the Automation execution. Individual rows can be read using the For Each action. Inside the For Each block the next row is read and converted to a Json document. This document can be parsed or passed to another Automation for processing.

Extract Field Action

Fields can be extracted using the new Extract Field action type. These can be used anywhere in an Automation. Extract Field actions now support extracting from Json - with the ability to select the path.

The "Helper Message" shown against extracted fields is improved. It now shows all extracted fields (highlighted in the message) with the current field highlighted in a different colour.

Individual extracted fields can now extract from different values. This defaults to %Msg_Body% (as ThinkAutomation Version 4) but fields can be extracted from any other field/variable. ThinkAutomation maintains separate extraction pointers for each distinct 'Extract From' value for all Extracted Fields in an Automation.

Database Pull Message Reader Improvements

Database Pull Message Readers now use parameters. A parameter can be assigned the %LastDatabaseId% field replacement. This is set after each Database Pull to the last value in the "Unique Id Column" setting, allowing queries such as "SELECT * FROM Persons WHERE Id>@Id" - with the @Id parameter value set to %LastDatabaseId%. The %LastDatabaseId% value is persisted by the ThinkAutomation Server. It can be reset using the "Reset Last Id" button.

Database Pull queries can be tested using the "Test" button. This will request all parameter values and then show the results. It will also create extracted fields for all columns returned and add these to the first Automation for the Solution (or create a new Automation if one does not exist).

The Database Pull reader can now create messages in Json format if the "Set As Json" option is enabled (default).

Database Pull readers now use ADO.NET directly instead of OLEDB connections for improved performance. ADO.NET drivers are included for SQL Server, SQLite, MySQL, Oracle, PostgreSQL, DB2, Firebird. ODBC and OLEDB connections can still be used.

File Pickup Reader Improvements

The File Pickup reader now uses .NET folder monitoring. This means that any file that is added or changed in the selected folder will be processed immediately instead of every x minutes.

The CSV & Excel file pickup is now combined with the regular File Pickup reader.

If the "For CSV & Excel Files Create Single Messages For Each New Row" option is enabled then a new message will be created for each new row. The "Create Extracted Fields" button will create extracted fields for the first matching file in the selected folder. This allows for quick creation of Automations for CSV/Excel file processing.

Web Form Message Source

The Web Form Message Source Type enables you to create a publicly accessible web form with multiple input fields. The web form has a unique secure URL hosted on Azure as part of the ThinkAutomation Web API. You can embed the web form inside your own website or send a link to the form in outgoing emails. When a web user completes the form, the results are sent to your ThinkAutomation Server for immediate processing.

API Improvements

Messages can be added to ThinkAutomation for processing via a direct HTTP post to the ThinkAutomation server itself for local API integration. The HTTP response can contain the results of the Automation. The amount of time to wait for the results is configurable on the HTTP request. This allows better integration where 3rd party webhooks into ThinkAutomation can then get the results of the Automation.

Public Web API

ThinkAutomation Version 5 also provides an Azure hosted public Web API. This allows users to send messages to ThinkAutomation from any location via the Web API, without having to configure a public facing IIS instance. This will provide much easier integration with cloud based webhooks. A fixed number of hosted API calls will be allowed per ThinkAutomation instance. Larger users will be able to purchase more.

Improved Editors

The ThinkAutomation Studio has built in editors for plaintext, Markdown, HTML, Json, SQL, C# and VB. Editors use syntax colouring. These are used on any Action Types that require settings editors in any of the above formats.

Set Action Improvements

The standard Set Variable action has additional set operations including: Mask Profanities, Mask Credit Cards, Summarize Text, Extract Concepts From Text, Markdown to HTML and more.

Validate Action

The Wait For Validation action in ThinkAutomation Version 4 is now renamed Wait For User Response. Any Wait For User Response actions executed in Automations can now be sent to any connected Studio users allowing easier development/debugging of Automations that require a human response (this can be disabled). The Wait For User Response URL is now hosted via the ThinkAutomation Public API allowing these to be used out of the box without requiring you to configuring a public facing web server.

Twilio Actions

The Twilio Make A Telephone Call, Send SMS Message and Wait For SMS Reply now use the ThinkAutomation Public API for Twilio callbacks. This means that Twilio actions will work out of the box without requiring you to configure a public facing web server.

Markdown Support

Markdown text can be used on outgoing email messages plaintext body (if HTML is not used). Markdown will be converted to HTML before the email is sent. The Set Variable action has the option to convert Markdown to HTML. The Convert Document action has the option of converting Markdown text files to HTML, PDF or Word documents.

Additional Action Types

All of the base ThinkAutomation Version 4 action types have been converted. In addition, ThinkAutomation Version 5 has the following additional built-in actions:

  1. Create Document - a full Word Processor type action that allows documents to be created that can include %field% replacements. Documents can be saved as Word, PDF, RTF & HTML formats and then be sent as attachments on outgoing emails.
  2. Convert Document To Text - an Action for reading PDF, Word or HTML files or attachments and converting the content to plain text, which can then be assigned to a variable.
  3. Sign PDF Document - an Action to add a signature to a PDF document.
  4. Azure Cosmos - an Action for saving Json documents to Azure Cosmos DB.
  5. MongoDB - Actions for saving and querying documents in MongoDB.
  6. Call Automation - an Action for calling another Automation and assigning the Automation return value to a variable.
  7. Create Hash - an Action for generating Hash values using various hash types.
  8. Delete Scheduled Email - an Action for deleting pending scheduled outgoing emails for a given address.
  9. Math - a general Action for executing formulas and returning results to a variable.
  10. Tokenize - a general Action for tokenizing any text.
  11. OAuth - a general Action for signing in to an OAuth Web API to retrieve a token. The token can then be used on other actions.
  12. Extract Email Signature - an Action for extracting common email signature fields.
  13. Embedded Data Store - an Action for storing and retrieving data using the built-in document DB.

Since ThinkAutomation Version 5 has the option of creating Custom Action types itself, then new Actions can be added on an on-going basis without requiring new versions of the core product.

Improved 'Run With'

The Run With option in ThinkAutomation 4 where a user could send a test message to be processed using the ThinkAutomation Administrator has been renamed Send Message. The Send Message feature of the ThinkAutomation Studio now resembles a 'chat' style interface. Since Automations can return a value - the returned value will be displayed when a message is sent. If Send Message is used when editing an Automation then the results will also include detailed automation log. The user can click a log line entry to go directly to the Action.

Improved Logging

In ThinkAutomation Version 4, fast executing Triggers generating many log lines could cause the Administrator to become unresponsive. ThinkAutomation Version 5 includes optimizations to prevent this. The ThinkAutomation Studio will be usable regardless of how busy the server is.

When viewing Automation logs - double-clicking a log line will automatically open the Automation with the Action line selected.

The ThinkAutomation Studio shows Message Source & Automation queuing/messages processed activity in real time. The ThinkAutomation Version 4 Administrator only updated the views periodically.

Solution Exporting

Users can save ThinkAutomation Solutions to an external solution file. The solution file will contain all Message Sources, Automations & Custom Actions used on the Solution. The solution file can be imported into another ThinkAutomation instance. Solution files are encrypted.

Editions

ThinkAutomation Version 5 is available in the following editions:

The Professional Edition includes the Custom Action designer and the Script Action. The Standard Edition still has access to the Custom Actions online library, but users will not be able to create their own.

The Standard Edition server will not allow the Message Reader & Message Processor services to connect on anything other than 'localhost'. Therefore if users want to run ThinkAutomation on a multi-computer setup they will need the Professional Edition.

The Developer Edition is a free edition aimed at Developers/ISV's who want to create Solutions for their own customers. It has the same feature set as the Professional Edition but limits the number of processed messages per day to 200 and is not licensed for production use. ISV's can purchase discounted licenses of the regular Standard or Professional Editions for their customers.

 

(c) Parker Software 2022 https://www.ThinkAutomation.com