Fix: Fixed issue with Append PDF, Word & Text Attachments To Body For Parsing option on message source not working when original incoming body was multipart.
Fix: Fixed issue with Append PDF, Word & Text Attachments To Body For Parsing option on message source causing error on large text attachments.
Fix: Fixed issue with viewing Sent Items in the Studio showing error when viewing the detail.
Fix: Fixed issue with Move Down button in Automation editor not working when multiple lines selected.
Fix: Fixed issue with Save & Keep Open button in Automation editor showing All If Blocks Must Have Matching EndIf message incorrectly when the button is used multiple times.
Improvement: The Extract Field action Extract Json Path now allows %variable% replacements to be used on the path.
Improvement: Added Extract: Regex option to Text Operation action for simple regex extraction of single or multiple matches from any text.
Improvement: When using the Automation Editor you can now add commonly used actions to the Favorites group at the top of the Toolbox. Right-click an action in the toolbox to add or remove from favorites.
Improvement: Operations that use http calls will no longer offer SSL 3.0 and TLS 1.0 as an option for secure connections. Only TLS 1.1, 1.2 & 1.3 will be offered. This should not matter for most users - since the connecting server selects the protocol (not TA). This may improve connections for users with firewalls that use outbound packet inspection.
5.0.860 (5th July 2022)
New: Added Set Message Store Folder action. Messages in the Message Store can now be organized into sub-folders below the Automation folder.
New: Added Convert Image To Text action to convert image files and attachments to text using Optical Character Recognition (OCR).
New: For custom C# or Visual Basic scripts, you can now add reference any of the .NET Framework System assemblies via the Add Reference button.
Improvement: The Office 365 Update Incoming Message action now allows the Subject text to be modified.
Fix: Fixed issue with Message Store View Reprocess option sometimes showing an error (even though the reprocess worked).
Fix: Fixed issue with Office 365 message source reader not resetting if the sync status was cleared during a sync.
Fix: Fixed issue with Create Document action missing dll error when exporting the document to Word (docx) format.
Fix: Fixed issue with WYSIWYG html email editor not saving 'mailto:' URL's correctly.
Improvement: When viewing the Message Store you can now select to view all messages, successfully executed messages only, or messages that generated Automation errors only. You can also filter by message date.
Improvement: Added Windows 11 Light theme to Studio preferences.
5.0.850 (14th June 2022)
Improvement: When selecting a Message Source in the explorer - the Automation assigned to it is moved to the top of the Automations view along with any called Automations.
Improvement: You can now reset the error counts shown in the Studio status bar by right-clicking the Message Source or Automation logs. The error count is also reset if you reprocess any messages or edit an Automation.
Improvement: Added option to Convert Document To Text for PDF to text conversion, to return all text elements along with position and font information as CSV text.
Improvement: The schedule for Message Sources can be be set to every x seconds or hours in addition to minutes.
Fix: Fixed issue with CRM Actions error message in Studio when connect button clicked in some instances.
5.0.845 (7th June 2022)
Fix: Fixed issue with Reply To option on Send Email action changing the From address instead of just the 'reply-to' header.
Improvement: The Send Email action now has the option of sending the email immediately and the send result returned to a variable, in addition to the default option of adding the email to the outbox queue.
Improvement: When viewing the Automation Process Log you can now right-click a line and select View Message Store Message to view the processed message.
Improvement: The Lookup From Excel action and Excel Pickup Message Sources now support CSV, XLS, XLSB and ODS files in addition to XLSX files.
Improvement: The Convert Document To Text action now has a Test button allowing you to preview the conversion.
New: Added option to run a ThinkAutomation instance as a failover server for another instance. See Configuring A Failover Server in the help.
5.0.835 (17th May 2022)
Improvement: You can now set times of day that the ThinkAutomation performs message store database maintenance (where old processed messages are removed). Previously this was fixed at midnight - which could sometimes clash with other database maintenance operations when using a shared database server for your Message Store. You can specify multiple times if you have a busy ThinkAutomation implementation.
Improvement: File Pickup message sources now have the option of running on a schedule (eg: Every x minutes) instead of real time folder monitoring. Real time folder monitoring cannot be used on some UNC paths where network connectivity is intermittent.
Improvement: The File Operation - Get Folder Contents action now allows a mask to be specified.
Improvement: The FTP Download action now allows you to synchronize a remote folder to a local folder. All new or changed files from the specified remote folder will be downloaded to the local folder.
New: Added Continue Loop action. This can be used inside For Each loops to move processing to the next iteration (or exit the loop if on the last iteration).
New: Added Online Automation Library. When viewing the Automation Library you can now browse Automations in the Online Library. The Online Library will contain sample Automations created by Parker Software and Automations created by other ThinkAutomation users. You can download Automations from the online library which you can then use and edit.
Improvement: You can now use the Send Message option to send test messages against Library Automations.
Improvement: You can now scroll past the end of the last Action when editing an Automation. This makes it easier to add new actions to the end of the Automation when editing Automations with many actions.
Improvement: Improved Excel File Pickup Message Source. Provides better compatibility with Excel files created with older versions of Excel.
Fix: Fixed issue with Wait For User Response action not working when using MySQL for the Message Store database.
5.0.830 (9th May 2022)
New: Added Embedded Value Store. Allows simple storage and retrieval of key/value pairs.
Fix: Fixed issue with Move Incoming Message action not allowing you to select a folder when using Gmail message source.
Fix: Fixed issue the For Each Comma Separated Value In where the loop would stop on a blank CSV column.
Improvement: The HTTP Post action now allows files to be specified for form-data fields. The resulting post will then use 'multipart-form/data' content-type. You can also stream binary data using the Stream Binary Data option.
5.0.826 (28th Apr 2022)
New: Added Is A Valid Email Address for the If block condition check to check if the email address has a valid MX record. If you are sending emails to unknown recipients then you can use this to check the address is valid AND has a valid MX record before using the Send Email action.
New: Added Append To Remote Path option on Cloud Storage action (upload option). Allows you to dynamically upload to sub folders. Sub folders will be created if they do not exist.
New: Added Create Outlook MSG File action to save the current or a custom message as an Outlook compatible MSG file.
Fix: Fixed issue with deleting messages from the Message Store when using MySQL for the Message Store database.
Fix: Fixed issue with File Pickup message source where the reader did not initialize correctly (introduced in build 815).
Improvement: Added option to use an External Browser for OAuth sign-in's when using the Studio. Depending on your security setup your system may prevent the embedded Edge browser from being used, in which case you can enable this option in the Studio preferences.
5.0.816 (20th Apr 2022)
New: Added 'OAuth' sign in option for Microsoft Dynamics CRM actions (required for most recent versions of Dynamics).
New: Added 'HTML Editor' field input type for Web Form Message Sources and Wait For User Response action. Displays a full HTML editor. The field value is returned as HTML.
New: The Send Email action now has a WYSIWYG editor option for HTML emails. The previous HTML source editor can still be used if preferred. The Outgoing Email HTML Editing option in the Studio Preferences can be used to toggle.
New: The Send Email action now has the option to disable the automatic conversion of plaintext containing Markdown to HTML. This is useful if you need to send plaintext emails containing markdown characters (eg: **1234**) and do not want the plaintext auto-converted to HTML.
New: For Outgoing emails using the Markdown to HTML conversion, you now have the option of editing the CSS using Server Settings - Email CSS.
Fix: The File Pickup message source will now recover if the pickup folder connection is lost (folder is deleted, renamed or network lost in the case of network drives/unc paths). The Message Reader service will continue to re-check the folder every 30 seconds and will start monitoring it again if the folder re-appears. Previously this would have required a service restart.
Fix: Fixed issue with IMAP Message Source reporting unnecessary error in log when no new messages found.
5.0.812 (31st Mar 2022)
New: Added Global Constants. These are %variable% replacements that are global to all Automations in all Solutions. Global constants can be created using the Studio - Server Settings - Global Constants.
New: Updated the Select Solution menu. Now shows Solutions sorted by last updated date. Includes a search option.
New: The Professional Edition of ThinkAutomation now supports the hosting of your own Web API Gateway Service. You can run the Gateway Service on your own machine with its own DNS name and SSL Certificate with no daily message count limitations.
Fix: Fixed issue with Gmail Message Source re-syncing when an API rate limit response was returned - causing further rate limit responses.
Fix: Fixed issue with Web Form and API Message Sources not sending 'origins' to Gateway Server unless web form properties changed.
Fix: Fixed issue with Query CRM Entities action where any SELECT columns contained spaces.
5.0.800 (2nd Mar 2022)
New: The local API addmessage HTTP GET can now return files. Specify a file path in the Automation return value. Embedded File Store files can also be returned. You can return whole html pages, images, PDF files etc. The response Content-Type will be set according to the file extension. See the Local API help for more information.
New: The Twilio Make A Telephone Call action can now use the 'Alice' voice, which provides more languages.
New: Added Wrap HTML action. Wraps text, Markdown or HTML snippets inside HTML tags to create a viewable HTML page. This action is useful if you have content that you have created earlier in your Automation that you then want to wrap inside a HTML page. The resulting HTML can then be used for outgoing emails or for any other purpose. Styles can be added or you can use the built-in basic or Bootstrap styling.
New: Added Read CSV File action - a generic action for reading CSV files. Columns can be deleted and sorted before CSV data is assigned to a variable.
Fix: Fixed issue with File Pickup message source not resetting the reader if the file path/mask is changed, requiring a restart of the service.
Fix: Fixed issue with Database message source error when deleting processed rows.
5.0.795 (17th Feb 2022)
New: The Embedded Data Store action now has a Browse Data button allowing you to browse data from the Embedded Data Store. You can run SQL SELECT queries against all databases and collections. Query results can be printed and exported.
New: The Send Message form will now show a Enter Field Values button if the Automation has any Extract Field actions. You can then enter specific values for each field. When the message is sent for processing, ThinkAutomation will create the message body accordingly. This is useful during Automation testing.
New: Web Form message sources can now be served locally in addition to the Public API endpoint. This is useful if you want to create Web Form message sources that can be viewed and completed within your internal network - bypassing the public API. The Web Form message source properties page show both the Public and Local URL's.
New: You can now assign a Trusted SSL certificate for the local HTTPS interface using the Server Settings - Client tab.
New: The Spreadsheet action now allows you to read back cell values to Automation %variables% after formula re-calculation.
New: The Update Json action now has a Preview button.
New: Added 'Basic' edition.
Fix: Fixed issue with Date Operations - Add To option where 'Weeks' were specified - days were being added instead.
5.0.785 (8th Feb 2022)
New: New Spreadsheet action. Create an Excel compatible spreadsheet which can be saved as Excel file, PDF, CSV or HTML. Spreadsheet cells can contain %variables% which will be replaced when the Automation executes.
New: Counter action now has additional periods: Year & Week Number, Hour, Minute.
New: Counter action now has Get All operation, allowing call counter values to be returned to a variable in CSV format.
New: The Embedded Files Store action now has a Browse Files button allowing you to browse the file store.
New: Any File Information data returned from the Embedded Files Store action, Save, Get Info & Get List operations that is included in the Automation return value will now be rendered as clickable links for manual messages executed via the Studio or Client 'Send Message' form.
Fix: Fixed issue with File Pickup Message Source not deleting processed files when the Delete After Processed option enabled.
Improvement: Improved handling of attachment temporary files during Automation processing.
5.0.775 (26th Jan 2022)
New: New Create Web Form Redirect action. It can be used to conditionally redirect a ThinkAutomation Web Form to another ThinkAutomation Web Form or external URL after the form is submitted. You can also pre-populate field values on the new Web Form with custom values or %field% replacements created in the Automation. Using the Create Web Form Redirect action allows you to create interactive forms that display new forms based on values submitted on a previous one. You should re-save any existing Web Form Message Sources before using this action so that the updated form is sent to the API. See: Create Web Form Redirect.
New: Web Forms can now use Bootstrap 5. You can change to Bootstrap 5 in the Server Settings - Web API. Once changed you will need to re-upload any existing Web Forms (by re-saving the Message Source). Form fields can now use 'Floating labels' - set the form field Label Placement to 'Floating'. See: Floating labels · Bootstrap v5.1
New: Web Form fields now include a 'Label' field type. This simply displays text - but can be used with the Create Web Form Redirect action to change the text. Eg: "Hello %Name%, please provide the following additional information".
New: Web Form Header, Footer & Confirmation Message can now include Solution Constants.
New: Web Form Submit button can now be left, right or centre aligned.
New: Database Read message sources can now use a stored procedure call to retrieve records.
New: In the Studio/Client Send Message form - any Automation responses/return values that contain Markdown will now be rendered as a formatted document instead of showing the raw Markdown text.
New: You can now enable Append PDF, Word & Text Attachments To Body For Parsing on Message Source properties. If enabled then any PDF, Word, Richtext or text attachments will be appended to the plain text body of the message for messages received by the Message Source. Document attachments will be converted to plain text before being appended. You can still extract text from PDF or Word documents inside an Automation using the Convert Document To Text action.
5.0.770 (19th Jan 2022)
New: New ThinkAutomation Desktop Connector Application. This is a stand-alone application that can be optionally installed on network PC's. Users can use the Desktop Connector to execute Automations by sending messages and dragging/dropping files. Emails & attachments can also be dropped directly from Microsoft Outlook (desktop). See: The ThinkAutomation Desktop Connector for more information. A stand-alone Desktop Connector installer is available here: Download ThinkAutomation Desktop Connector Setup (35mb).
New: The Studio Send Message form now supports dragging and dropping of emails directly from Microsoft Outlook (desktop).
New: You can now restrict non-admin users to specific Solutions. When a user connects using the Studio or Client they will only be able to see Solutions that they have been granted access to. Administrator users have access to all Solutions by default.
New: You can now restrict the option of Reprocessing messages to specific users.
New: The Select Case action can now use Contains One Of and Contains All Of case operators. These allow a list of values to be checked against on each Case.
New: The Contains, Does Not Contain, Contains One Of and Contains All Of conditional operators for If and Select Case blocks now support wildcards. For example: The Contains value of 'P123*' will match on text 'P1234' and 'P123456' etc.
Fix: Fixed issue with File Pickup message source when used to read Excel or CSV rows as individual messages. If a column name ended with a dot or contained { } or [ ] characters the auto-created Extract Field action would not extract the value correctly.
Fix: Fixed issue with IMAP message source not reading messages.
Fix: Fixed issue where multiple Message Sources read the same email at the same time causing an error when attachments are saved to the temporary location during Automation execution. During Automation execution attachments are now saved to a unique path.
Fix: Fixed issue with Distributed Setup where the Message Processor or Message Reader services are configured to run on separate computers. The Node Configuration utility was not setting the remote server address in the registry correctly.
5.0.760 (6th Jan 2022)
New: ThinkAutomation is now a 64bit application only. 32bit support is now dropped.
New: PowerShell action improvements. Also now includes a Test button in the Studio. This allows a command/script to be tested and the results displayed. You can now specify parameter types (string, int, boolean etc).
New: Send Email action now allows Send Via settings to be specified. This allows specific emails to be sent via a specific mail server/SendGrid account instead of the system default.
New: Send Email action now has a Send Test Email button to send the current message immediately.
New: Added UnRegister option to Studio should you need to unregister ThinkAutomation so it can be moved to another computer and re-registered with the same serial.
New: Server HTTP/Client Whitelist now accepts *.*.*.* if you want to allow local API/Client connections from any IP address.
New: Performance improvements for File Pickup message source where folder contains many files.
New: The Email Sending options in the Server Settings now allow the outgoing queue size to be specified. You can reduce the queue size if your outgoing email server imposes send limits or has low memory. Outgoing emails will then be sent in smaller batches over a longer time period.
New: The Set Variable and Text Operation actions now include Convert: XML To JSON operation for converting XML data into JSON.
New: Debug Level Logging now now be enabled globally for a preset number of minutes. The Enable Debug Logging button on the Logs tab switches on debug level logging for all Automations. You can then enter the number of minutes.
New: The Studio Explorer view can now show Messages Sources/Automations in a grid view or card view.
New Twitter message source and Send Tweet action.
Improvement: Performance improvements when using the built-in SQLite Message Store database.
Fix: Fixed issue with Automation Copy/Paste not copying If block conditions correctly when an 'Or' clause used.
Fix: Fixed issue with Document actions and Process Attachments action not working correctly where an individual filename contained a comma.
Fix: Fixed issue with File Pickup message source type when reading individual Excel rows. Message source could pause if a row contained a null value.
Fix: Fixed issue with Date Operations action not showing interval selector in Studio for Add To & Subtract From operations.
Fix: Fixed issue with Server Message Queue using too much memory if average incoming message size is large and the speed of adding to the Message Store database is slower than incoming messages. The in memory Queue now has hard limit of 500mb.
Fix: Fixed issue with Local API message source. If the process queue becomes full the local HTTP API interface will now slow down the response to prevent the server from running out of memory. A 503 response will be returned if a message could not be added due to the queue being full. This would only affect instances where many messages are added in a short time period.
Fix: Fixed issue with PowerShell action not showing errors in log.
Fix: Fixed issue with Gmail Message Source sign-in showing browser error due to Google policy change of not allowing logins from embedded browsers.
Fix: Fixed issue with Web Form Message Source using Google reCaptcha option not working correctly.
5.0.700 (15th Nov 2021)
New: Added Extract Email Signature action. Parses contact and company information from email signature footers.
New: Added options to HTTP Get action to convert relative links to absolute links.
New: Print actions now allow the printer name to be a %variable% instead of being forced to select a printer. This allows actions that print to use a printer based on some earlier condition.
New: Added option to specifically set outgoing email Smart host security setting.
New: If conditions now include Contains All Of and Contains One Of - for matching a list of words or phrases and RegEx Matches for matching regular expressions.
Fix: Fixed issue with local API where a message was sent via https with the &results= parameter to wait for Automation Results. Results were not returned (Automation executed correctly).
Fix: Improved HTML to PDF conversion which was throwing error on some HTML.
Fix: Fixed issue where Automation Log entries were being deleted from the Message Store too early during daily maintenance.
5.0.686 (6th Nov 2021)
New: Added Lookup From Excel action to lookup specific cell and cell range values from an Excel spreadsheet and assign to ThinkAutomation variables.
New: Added new built-in field replacement Msg_LastReplyBody. This returns the last reply plain text if the incoming message is an email containing multiple replies and quoted text.
Fix: Fixed issue with nested If..Else..EndIf blocks not executing actions after End If if the Automation was saved without a server restart.
Improvement: Improved Web API connectivity. If the ThinkAutomation Server loses connection to the Web API gateway it will reconnect without requiring a service restart.
5.0.682 (14th Oct 2021)
New: Added Update Json action to easily update or create Json by setting specific path values.
New: You can now copy Solution Constants from an existing Solution. When editing a Solution - click the Constants tab. From the Merge Constants From Solution list, select another Solution and click Merge Constants. Useful if you have a list of %field% constants that are always used.
New: Added Convert: CSV To Markdown Table option to the Set Variable action.
Fix: Fixed issue with Move Incoming Message action showing error in Studio when used with Gmail.
Fix: Fixed issue with On Error action not displaying correctly in Actions list when Retry option used.
Fix: Fixed issue with Studio now showing New Solution button when default Solution was deleted and no other solutions exist.
Fix: The Update CSV File action when not using Custom Fields list was sometimes adding the Extracted Field columns in the wrong order. Columns are now ordered in the same order that Extracted Fields are setup in the Automation.
Fix: The For..Each Token In loop now includes numeric tokens.
Fix: Fixed issue with CRM actions caching of entities where CRM server address contained '-' character.
Fix: Fixed issue with File Pickup message source - when reading Excel rows was incorrectly reading numeric cell values.
Fix: Fixed issue with Create Json / Update Json actions when update date values. The 'Z' UTC timezone indicator was added when no time zone information was available.
5.0.680 (7th Oct 2021)
New: Added Embedded Data Store action for easy storage and querying of data using the embedded document database.
New: Added Embedded Files Store action for saving and retrieving files using the embedded document database.
New: Added option to include numeric tokens in the Tokenize action.
New: When %field% replacements are performed, the replaced value will be Json escaped it is is being replaced inside Json text (unless the replaced value is already Json).
New: The Move Incoming Message action will now with Office 365, IMAP or Gmail message sources, allowing you to conditionally move an incoming message to a different folder on the source email account.
New: Added Convert: JSON To CSV option to the Set Variable action.
New: The default Automation Logging Level can now be set server-wide using the Server Settings. This can be overridden in an Automation using the Set Logging Level action.
Fix: Fixed issue with Office 365 Message Reader not moving processed files where more than 1 message was read in a batch.
Fix: Fixed issue with Extract Field action not saving default value option in studio.
Fix: Fixed issue with Create Json action where string values were sometimes not escaped correctly.
Fix: Fixed issue with Exchange Web Services message source not using the configured proxy server settings.
Fix: Fixed issue with Process Attachments action. If Rename Saved Files To was used without specifying a file extension, the saved file would not contain an extension.
Fix: Fixed issue with Tokenize action returning blank value where Unique tokens option not enabled and text contained non-unique tokens.
Fix: Fixed issue with Studio Send Message option - when debugging Automations a send message could cause the Automation to exit prematurely because the Studio updates the Automation during execution.
Fix: Fixed issue with Studio: Dragging an action to move it in the Automation action list would sometimes not drag to the correct place causing the line numbers to show incorrectly until the Automation was saved & reloaded.
Improvement: CRM Actions will now use a proxy server if one is configured in the ThinkAutomation server settings.
5.0.662 (8th Sep 2021)
New: Added %Msg_MessageStoreId% built-in field. Returns the Message Store database unique id for the current message.
New: Added Query CRM Entities action for performing generic queries on CRM entities and returning the results as Json text, CSV or Markdown. See: ThinkAutomation Examples
Improvement: Improved CRM entity table/column name caching.
Fix: Fixed issue with Send Email action not sending to CC, BCC addresses when using Smart Host email sender.
Fix: Fixed issue with %DayOfWeek% built-in field returning yesterdays day name instead of today.
Initial Release
Benefits Over Version 4
ThinkAutomation Version 5 offers the following benefits over previous versions:
Faster : Version 5 is up 10x faster than previous versions.
Better Use Of Hardware : Version 5 is 64 bit and will use all cores available on the processor. Previous versions were 32bit and single threaded. Version 5 will provide more message throughput than Version 4 on the same hardware.
More Secure : Version 5 is more secure throughout, with secure password hashing and encrypted meta data. Version 5 uses native .NET drivers when connecting to your databases with native database commands and parameters instead of SQL statements, making all database actions more secure. All Studio/client and inter-service communication use secure connections by default.
Future Proof : Version 5 is developed uses the latest .NET development tools.
Extensible : Version 5 supports Custom Actions enabling you to add your own action types. Parker Software also maintains an online library of custom actions - allowing us to add & update action types without the need for you to download and install new versions of the product.
What's New
ThinkAutomation Version 5 is 100% .NET managed code. There are no legacy components, OCX's or COM dependencies.
Main Assembles
Name
Use
ThinkAutomationCoreClasses.dll
Shared core metadata classes.
ThinkAutomationServer.exe
Main server service.
ThinkAutomationServerCore.dll
Main server assembly.
ThinkAutomationMessageProcessor.exe
Message processor service.
ThinkAutomationMessageProcessorCore.dll
Message processor assembly.
ThinkAutomationMessageReader.exe
Message reader service.
ThinkAutomationMessageReaderCore.dll
Message reader assembly.
ThinkAutomationMessageReaderClasses.dll
Message reader additional classes.
ThinkAutomationClientCore.dll
Client 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 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:
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.
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.
Sign PDF Document - an Action to add a signature to a PDF document.
Azure Cosmos - an Action for saving Json documents to Azure Cosmos DB.
MongoDB - Actions for saving and querying documents in MongoDB.
Call Automation - an Action for calling another Automation and assigning the Automation return value to a variable.
Create Hash - an Action for generating Hash values using various hash types.
Delete Scheduled Email - an Action for deleting pending scheduled outgoing emails for a given address.
Math - a general Action for executing formulas and returning results to a variable.
Tokenize - a general Action for tokenizing any text.
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.
Extract Email Signature - an Action for extracting common email signature fields.
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:
Basic
Standard
Professional
Developer
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.