• ThinkAutomation Release Notes

    5.0.1027 (Pre-Release)

    5.0.1025 (2nd December 2024)

    5.0.1020 (19th November 2024)

    5.0.1016 (7th November 2024)

    5.0.1000 (4th June 2024)

    5.0.992 (8th January 2024)

    5.0.985 (23rd November 2023)

    5.0.978 (3rd November 2023)

    5.0.975 (20th October 2023)

    5.0.970 (12th September 2023)

    5.0.968 (16th August 2023)

    5.0.965 (7th August 2023)

    5.0.960 (14th July 2023)

    5.0.955 (3rd July 2023)

    5.0.950 (15th June 2023)

    5.0.946 (8th June 2023)

    5.0.945 (2nd June 2023)

    5.0.940 (16th May 2023)

    5.0.932 (3rd April 2023)

    5.0.930 (27th March 2023)

    5.0.925 (16th March 2023)

    5.0.920 (28th February 2023)

    5.0.912 (8th February 2023)

    5.0.910 (20th January 2023)

    5.0.900 (14th December 2022)

    5.0.898 (25th November 2022)

    5.0.890 (9th November 2022)

    5.0.880 (19th October 2022)

    5.0.875 (4th October 2022)

    5.0.870 (2nd September 2022)

    5.0.866 (5th August 2022)

    5.0.860 (5th July 2022)

    5.0.850 (14th June 2022)

    5.0.845 (7th June 2022)

    5.0.835 (17th May 2022)

    5.0.830 (9th May 2022)

    5.0.826 (28th April 2022)

    5.0.816 (20th April 2022)

    5.0.812 (31st March 2022)

    5.0.800 (2nd March 2022)

    5.0.795 (17th February 2022)

    5.0.785 (8th February 2022)

    5.0.775 (26th January 2022)

    5.0.770 (19th January 2022)

    5.0.760 (6th January 2022)

    5.0.700 (15th November 2021)

    5.0.686 (6th November 2021)

    5.0.682 (14th October 2021)

    5.0.680 (7th October 2021)

    5.0.662 (8th September 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 directly compatible with ThinkAutomation Version 4 (it cannot read version 4 settings). ThinkAutomation Version 5 can be installed alongside ThinkAutomation Version 4. The two versions are entirely separate products.

    Upgrading From ThinkAutomation Version 4 & Email2DB

    Existing ThinkAutomation/Email2DB users will find it easy to recreate Triggers in ThinkAutomation Version 5. Most of the common action types are easy to convert, with like for like settings, however it is not possible to directly copy scripting actions since the scripting language is different (C# or VB.NET in version 5 vs VBScript in version 4/3). Parker Software offers an upgrade service at additional cost, please contact us for details.

    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 separate Automations concurrently. By default the Message Processor service starts 4 separate execution tasks (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. Separate Automations execute messages concurrently. Individual Automations can be set to 'Allow Concurrent Execution'. If this is enabled then the Message Processor will execute multiple messages concurrently for the same Automation. 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 your on-premises ThinkAutomation instance 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 2023 https://www.ThinkAutomation.com