Improvement: Renamed the ChatGPT action to Ask AI. Since more AI providers will be added in the future.
Fix: Fixed Full Text Search action to handle non alpha-numeric characters in search text.
Improvement: You can now return files to a Web Form message source response via the local API. Previously this only worked when using the public API. To return a file, simply set the Return value of the Automation to a local file path (or a %variable% to a file created previously in the Automation). The file will be rendered depending on its content-type.
Improvement: Added not completed Captcha message text to Web Form message source. Will display the message if a user does not complete the Captcha when used on a web form.
Fix: Fixed issue with HTTP Get action not returning Json text when the endpoint returned a non-standard content-type header (eg: application/vnd.oracle.resource+json;
)
Improvement: Added Custom tab to Web Form message source. Allows custom HTML/JavaScript to be added, which will be rendered before the closing body tag.
Improvement: Added option to delete Sent Items older than specified days (specified on Solution properties).
Improvement: Added %DB_Null% built-in variable. Can be used on database update action parameters to specify a DB null value. Will replace to a blank string if used on any other actions.
New Added support for OptimaGPT. OptimaGPT is Parker Software's on-premises or private-cloud hosted generative AI server. This allows you to use the ChatGPT action with a private AI server - removing the need to send private data to OpenAI. See: OptimaGPT for more information.
New: Added Append To PDF Document action. Appends document files or any text to an existing PDF document.
New: Added new built-in variables %Msg_ViewUrl% and %Msg_ViewUrlLocal%. These provide public and local URLs for viewing the current message in a browser. The URL's contain a secure hash.
New: Added Search Message Store operation to the Message Store Operation action. This allows you to search the ThinkAutomation Message Store and return the search results as Json, Markdown, CSV or a HTML table. The results include a URL to view the full message.
New: Added Full Text Search action. This action can be used to update and search a built-in full text search database. Useful for email archiving and search. See: Example: Creating An Email Archive Search System
New: Added Convert CSV To Html action. Provides more control than the Set variable Convert CSV To HTML Table operation. Useful for returning data queries to web form results.
Fix: Fixed issue with Move Incoming Message action not working when using an Exchange Message Source.
Fix: Fixed issue with Create Document action not rendering document contents on newly created actions.
Fix: Message Store searches are now case-insensitive when using PostgreSQL as the message store type.
Improvement: Added GPT-4o-mini model to the available models list for the ChatGPT action.
Improvement: Added option in server settings to define available ChatGPT models. This allows you to use new OpenAI models without waiting for a ThinkAutomation update.
Improvement: Added Force Remote Path To option to FTP Upload action. This allows you to use a fixed or variable remote path even if it doesn't exist on the remote server. An option to create any missing path has been added.
Improvement: The Web Form message source - File upload input type now allows mime types to be specified in the file types. The value in the 'File Types' entry for the file upload field will be set to the accept value for the HTML form field. You can also also specify a blank value for the 'File Types' - this will allow files of any type to be submitted.
Improvement: The Web Form message source now has a Show Side Pane option. This allows custom text/HTML to be displayed on the left or right of the form.
Improvement: The Web Form message source now has a Do Not Hide Form After Confirmation option. If enabled, the web form will not be hidden on submit. This allows dynamic forms that can be resubmitted to view new results.
Improvement: The Save As PDF action now allows you to use raw HTML (or %variable% containing HTML text) when rendering. Previously this needed to be a filename or URL.
Improvement: The Search option in the Message Store viewer will now work with multiple search terms by using the + character. For example: sales+orders - would search for messages containing 'sales' AND 'orders'. If a search term itself should contain a + character then enclose it in double-quotes.
Fix: Fixed issue with Find feature in Studio not selecting the correct line on an Automation from the find results where multiple lines in the same Automation were found.
Fix: Fixed issue with FTP Upload/Download actions. If the port number is changed from the default, the port number reverted back to the default if the action was opened again and re-saved.
Fix: Fixed issue with Extract Field action not extracting negative numbers where the field type was set to Decimal.
Fix: Fixed issue with File Operations action (copy/rename) where the file name contained a '$' character.
Fix: Fixed issue with Twilio Call action not speaking text due to change in Twilio Webhook authentication.
Fix: Fixed issue with Database Pull message source removing trailing bracket from column names when column name ended with a ) character.
Improvement: Added Delete option for Cloud Storage action.
Improvement: Added GTP-4-Turbo and GPT-4o to the available models list for ChatGPT action.
Improvement: The Create Outlook MSG File action will now attempt to convert MIME to an Outlook MSG file using a 2nd conversion method when the MIME text is invalid.
Updated expired oauth login info for Microsoft Dynamics CRM actions.
Known Issue: When using scripts with the NuGet Package manager in the script editor - an error message will show when adding a package where the nuget package has been downloaded more than 4 billion times. This only affects a very small number of nuget packages. Note: If you want to use newtonsoft.json in your script you do not need to add a nuget package since this dll is already used by ThinkAutomation. Simply add a reference to it directly from the ThinkAutomation program files folder.
Fix: Fixed issue with Create Outlook MSG File action not working on some mime text.
Fix: Fixed Automation right-click popup menu showing wrong shortcut-key labels.
Fix: Fixed issue with web form & web chat file upload where the file name contained none-ascii characters.
Fix: Fixed issue with %variable% replacement inside Json, if value was empty Json array being incorrectly escaped.
Improvement: Added option to delete read messages when using the Azure Queue Message Source type.
Improvement: The Save As PDF action now supports rendering image files as PDF documents. The image is first embedded in HTML and the HTML is then converted to PDF.
Improvement: Improved the quick-access option when editing Automations. When editing an Automation, start typing an action name. Select an action from the popup based on the characters typed. Press enter to select.
Improvement: Updated MongoDB driver to latest. Now supports MongoDB version 7.
Improvement: For API Message Sources you can now explicitly disable the Public API endpoint for individual Message Sources. Any HTTP POST or GET to the public API endpoint will receive a 404 response.
New: Added Message Store Copy option to the Server Settings - Message Store tab. This allows you to make a copy of your current Message Store database.
New: Added %LastActionExecutionMs% built-in variable. Holds the number of milliseconds that the last action took to execute.
New: Added Current Utilization button to Logs tab in Studio. This shows the current ThinkAutomation Server CPU, Memory and Queue utilization.
Fix: Fixed issue with Deploy Solution option in Studio not deploying Library Automations.
Fix: Fixed issue with ChatGPT action showing 'could not parse Json' error when running ThinkAutomation on a computer with a region that uses comma as decimal separator.
Fix: Fixed issue with Create Outlook MSG File action causing error when creating MSG file from mime text containing non-ascii characters in attachment filenames.
New: Added Update Database Using CSV Or Json action. This action can update multiple rows in a database using CSV or Json data.
New: Added Ask ChatGPT To Respond To A Prompt With An Image option to the ChatGPT action. This allows you to specify an image URL or path and ask a question about it. The response is returned to a variable. You can use this to also perform OCR on images to extract text.
Change: Twitter Message Sources and the Send Tweet action now require your own Twitter Developer account. This is due to Twitter/X removing the free trier API access. Twitter Message Sources now require a paid developer account (Basic or Pro). You can enter your Twitter Developer API Key, Client ID & Client Secret in the ThinkAutomation Server settings - Integrations tab.
Improvement: Added 'Extract Json Path' operation Text Operation action.
Improvement: When editing SQL queries the 'View Schema' button will open a popup showing the Tables and Columns for the current database.
Improvement: The Lookup From Excel action now allows a password to be specified. You can also use the {last}
marker on cell ranges to lookup a range of cells up to the last row, for example: 3:{last}
will lookup all rows from row 3 to the last row, B2:F{last}
will lookup the range starting from top right B2 to the last row, bottom left F. Ranges are returned as CSV text. The new Compress CSV option will remove any blank rows/columns from the CSV text.
Improvement: Improved Web Chat Message UI to better handle mobile devices (virtual keyboard is now hidden after message submit).
Improvement: Added additional color themes to the Web Chat Message Source type. Also added font-size selector (use 'Medium' for best results on mobile devices).
Improvement: Spreadsheet and Create Document actions now allow %variable% replacements in document properties.
New: Added Check SSL Certificate action. Checks the validity and expiry date for the SSL certificate used on any host/URL. This action can be used to monitor a web site SSL certificate and get notified if the certificate is invalid or about to expire.
Fix: Fixed issue with MongoDB Message Source type not reading new documents.
Fix: Fixed issue with Embedded Knowledge Store action, the Update operation did not clear the search cache (did not affect manual updates using the Embedded Knowledge Store Browser).
Fix: Fixed issue with Daily Summary report not clearing 'Last Error' column from the previous day.
Fix: Fixed issue with server setting changes not updating on failover server.
New: Added PostgreSQL to the available ThinkAutomation Message Store database types.
New: Added Convert PowerPoint Document action for converting PowerPoint files to PDF or various image formats.
Improvement: The Print action now supports printing PowerPoint files and attachments.
Improvement: The Convert PDF Document action now allows Width & Height to be specified for PDF to image conversion.
Improvement: The Convert PDF Document action, for PDF to TIFF conversion you can now enable the Multi-Frame option - where all pages are converted to multiple frames within the same image file. You can also set the Tiff Compression format.
Improvement: The Sign PDF Document action now has a Show Signature Box option. Allows you to digitally sign a PDF document without any visual signature box.
Improvement: Added Is A Number to condition operations.
Improvement: Added Numeric: Get Numeric Value to Set Variable operations (eg: If value was '$1000.00 per' - the variable would be set to '1000').
Improvement: The scrollbar thumb size now has a larger minimum size on the Automation editor (large Automations made it too small).
Improvement: The Solution name has been added to Message Source error notification messages.
Improvement: Added Flag Message As Failed On Outgoing Email Fail option to Automation properties. If enabled then any queued outgoing email sent from the Automation that fails to send (after any retries) will flag the processed message as failed. This Message Source will also be paused and a notification will show (if the Pause Message Source On Automation Errors option is enabled). See the main help (Automation Properties) for more information.
Improvement: Added Get Message Source Status operation to the Message Store Operation action. This allows you to check the status of any Message Source in the Solution and return the status to a variable. Returns 'Active', 'Disabled', 'Paused' or 'Missing'.
Improvement: Added global Find option to the Studio. Click the Find button on the Explorer toolbar. Enter a search term and press enter. This searches all property values and action setting values for all Message Sources and Automations within the current solution or all solutions. Double click a listed Message Source or Automation to open it.
Fix: Fixed PowerShell action Max Wait timeout setting not taking effect (defaulted to 30 seconds regardless of what it was set to).
Improvement: You can now set Log Retention Maximum Days in the Server Settings - Message Store tab. This setting defines the maximum number of days that automation & message source logs are retained for. Previously logs where deleted after the highest Keep Messages For (Days) setting on all Solutions.
Improvement: Added Pause Message Source and Resume Message Source operations to Message Store Operation action. This allows you to pause and resume any Message Source in the same Solution from within an Automation.
Improvement: The process counts for Called Automations are now incremented (previously only the top-level Automation process count was incremented).
Improvement: The Send Email action now supports sending emails signed with a digital signature.
Improvement: Added Throw Error On HTTP Errors option to HTTP Post action, allowing you to disable Automation error on 400+ response status and just return the status to a variable (this optional was already available on the HTTP Get action).
Improvement: Added Max Wait Seconds to PowerShell action. This prevents scripts that do not properly handle timeouts from halting execution of the Automation.
Improvement: Added Export option to Message Store Viewer in the Studio. Exports the current view to a CSV file.
Improvement: Added Disable Auto Logout On Screen Lock option to Studio Preferences. Prevents the Studio from automatically logging out when the Windows screen is locked.
Improvement: The Embedded Knowledge Store Browser now allows you to import web pages from a URL. The HTML will be converted to Markdown before being added as an article.
Improvement: Added export/import option to Automation editor.
Improvement: Web Chat form message source types now allow File Upload. If enabled users can upload a file to send with the current chat message. The uploaded file will be added to the incoming message as an attachment.
Improvement: Web Form message source types now allow File input field types. A File input allows the user to select a file to upload. Uploaded files will be added to the incoming message as attachments.
Improvement: Added gpt-4 model to ChatGPT action available model list.
Improvement: Added Require Moderation to ChatGPT action, requires that the prompt sent to ChatGPT complies with OpenAI usage policies. This option should be enabled when creating public facing chat bots, email responders etc.
Improvement: Added Required option to Add Static Context option on ChatGPT action. See ChatGPT action help for more information.
Improvement: The Text Operation action now allows HTML tags with specified class or id names to be dropped when converting HTML to Plaintext, XML, Json or Markdown.
Improvement: The ChatGPT action with the Add Context -Lookup Context From Knowledge Store operation can now return the Top Article Title and Tag to variables. You can also now specify a Similarity Threshold percentage. Articles below the similarity threshold will not be included in the results.
Fix: Fixed issue with Send Email action when adding incoming attachments where attachment file names have no file extension (was not setting default content-type).
Fix: Fixed issue with ChatGPT action - you could not change the Conversation Id setting from the default.
Fix: Fixed issue with Run A Report action not saving credentials with report when a custom data source is added that requires database credentials.
New: Added Message Store Operation action. This action can be used to return a conversation. A conversation is a transcript of message store messages between two email addresses with the same subject. The list can be returned in Markdown, Json, CSV or HTML format. The Message Store Operation action can also be used to drop the current message (preventing it from being saved in the message store) and to drop a conversation.
Improvement: Added a tag entry to Knowledge Store articles. The tag can be any text. You can now return the top tag and top title to %variables% when you do a search.
Improvement: Added %Msg_Importance% and %Msg_ConversationId% built-in variables.
Improvement: The Return action now has option to not save the return value with the message in the message store.
Improvement: The Studio preferences now has an option to disable the confirmation message when deleting actions.
Improvement: Added App-Only access option for Office 365 logins. This allows for client-credentials login. See the Microsoft Logins section in the help file for more information.
Fix: Fixed issue with Extract Field action if extracting from Json and the Remove First x Characters option was used. The Helper Message highlight was in the wrong place. Did not effect extraction itself - only the highlighted data in the helper message.
Fix: Fixed issue with Studio Preferences configuring action toolbox items visibility not saving correctly.
Fix: Fixed issue with Studio Automation editor could not copy/paste actions using keyboard shortcuts.
Fix: Fixed issue with numeric comparisons on If conditions where a numeric value was very large (20+ digits) would occasionally give a wrong comparison result for close numeric values.
Improvement: Further improvements to the Embedded Knowledge Store Browser. You can now drag and drop files & documents onto the Titles list to quickly import into the knowledge store. Outlook message files (*.msg) can now be imported.
Improvement: Added HTML To Markdown conversion option to Set Variable, Text Operation and HTTP Get actions.
Improvement: Added gpt-3.5-turbo-16k model to ChatGPT action model list. This model allows 4x larger context.
Improvement: Added Open Document (ODT) file support for the Create Document, Convert Document, & Convert Document To Text actions, and Embedded Knowledge Store import.
Improvement: General improvements and bug fixes for the new Embedded Knowledge Store Browser.
New: When creating a new Web Chat message source the Studio will now ask if you want to use the ChatGPT with Knowledge Store when creating the new Automation. The auto-created Automation will then be setup and ready to use.
New: Added Web Spider action. This action spiders a website for all URLs. The URLs are returned to a %variable% (one per line).You can then use the HTTP Get action as part of a For Each.. Line In loop to read all pages from a site. This is useful when building a Knowledge Store from an existing website.
New: Added Embedded Knowledge Store action. This action can be used to save knowledge base articles. You can then search the knowledge base and return the top x most relevant articles. This is especially useful when used with the ChatGPT action in order to provide context to a question. This enables you to create a chat bot that can answer specific company/product information based on a local knowledge base, or automate answers to emails, support requests etc.
New: Added Add Context To A Conversation option to the ChatGPT action. This enables you to add context text prior to asking ChatGPT for a response to a prompt. This enables ChatGPT to answer specific questions without training.
New: Use ChatGPT to generate C# or VB.NET scripts for the Script action. Describe what you want the script to do and let ChatGPT write the script code for you. Requires an OpenAI account and API key.
Fix: Fixed issue with ThinkAutomation Server not processing messages received via the public API during server down time. If you receive messages via the public API then any messages received whilst your local TA server is down should be cached for 48 hours and processed when your TA server comes back on line. This now works as expected. Only affected messages received via public API when your TA server was not running.
New: Added new Message Source type: Web Chat. This is similar to the Web Form message source type but each message/automation response is shown in a conversation-style UI. Can be used to create web chat bots, especially when the Automation uses the ChatGPT action. This allows bots to use ChatGPT and also access and return on-premises data depending on the message asked. See: Web Chat.
New: Added Create Chat Input Request action. An action that can be used with the new Web Chat message source. Used to create a set of buttons or form fields to send back to the chat. The user can click a button to send back a specific response.
New: Added JSON To XML operation to the Set Variable action.
New: Added Authentication and Friendly Path options to API Message Source type. Allows you to replace the API Path (/addmessage?taid=xxxxxxxx with your own path, eg: /mycompany/customers/add).
New: Added Friendly Path option to Web Form/Web Chat Message Source types.
New: Added ChatGPT action for sending a prompt to OpenAI ChatGPT and receiving a response. See: ChatGPT.
New: Automation Live Debugging added. You can now debug an Automation from the Studio and step through actions to see current variable values. See: Debugging Automations.
Improvement: The File Operation action Copy operation now has an Overwrite setting and you can also specify a different destination file name.
Fix: Fixed issue with Database Lookup action where column assignments used column numbers instead of names.
Fix: Fixed issue with non-admin user not allowed to reprocess messages even when Allowed To Reprocess right enabled for the current user.
Fix: Fixed issue with On Error action not sending error email when Go To Label option used.
New: Added List Operation action. A generic action for creating, updating, sorting & searching lists of values. You can read a single list value or all values. Complete lists can be returned as text, Json array, markdown table, CSV or HTML list.
Fix: Fixed issue with Create Outlook MSG File action where the file name specified contained invalid filename characters.
Improvement: Automations will now show grouped by Automation Group Name when viewing in the Studio Explorer. Automation group names can be set on the Automation Properties tab.
Improvement: The Moving Incoming Message action now works with Exchange message sources (beta).
Improvement: The Lookup From A Database will now convert Blob data to a base64 string before its assigned to a %variable%. This enables you to read binary data and write it to a file using the File Operation action (see below).
Improvement: Added Write Binary File From Base64 String operation to the File Operation action.
Improvement: If you connect to multiple ThinkAutomation server instances using the Studio you can now define saved connections in the Studio Preferences. This speeds up the login process when switching between servers.
Improvement: Windows 11 Dark Theme added to Studio.
New: Added option to use your own App Registration for Microsoft/Office 365 logins. You can now specify your own client id, client secret and tenant id for each Solution or globally. These will override the defaults for Office 365 logins. You must create your own App Registration in Azure. See: Microsoft Logins
New: Added Quick View to Automations view in the Studio. You can now click the >
button in the Automation block to quickly view its actions without opening it. This view also shows the Message Source names and any other Automation names that call the Automation.
Fix: Fixed issue with HTTP Post action where custom querystring parameters are used.
Fix: Fixed issue with Extract Field action using the Repeating Block option which had a limit of 1000.
Fix: Fixed issue with Update A Database Using Extracted Fields action when used with Oracle. The auto-created SQL statements should not end with a semi-colon.
Fix: Fixed issue with Set Variable action with Reformat Json operation not working with Json arrays.
Improvement: Added Expires In (seconds) to Embedded Value Store action. Useful for caching values for fixed time periods.
Improvement: Added additional options to Date Operations action for converting to and from Unix timestamps.
Improvement: Added Header Image Style option to Web Form message source.
Improvement: Added HTML Entity Encode/Decode,Hex/Decimal conversion, Extract Last Word and Extract Name From Email Address options to Set Variable action.
Improvement: The Create Passcode action now has the option to use random word & numbers.
Improvement: Added Country Lookup action for finding country details from a name, country code or dial code.
Improvement: Added Test button to HTTP Post action.
Improvement: We are migrating to a new and improved support forum. Changed Submit Support Ticket option in the Studio to send support tickets to the forum. The new forum can be found at: https://helpdesk.parkersoftware.com
Improvement: The News Feed shown in the ThinkAutomation Studio now shows Knowledge Base articles created in the new support forum.
Improvement: Added Extract Using Text Range extract option to the Extract Field action. This allows free-form extraction of text using left,top,right,bottom character coordinates. This makes it easier to extract fixed position data from document type text (invoices, quotes etc).
Fix: Fixed issue with Send Message option for testing Automations not adding attachments when running the Studio on a remote PC.
Fix: Fixed issue with Extract Field action when extracting from Json using the Extract All Array Values To CSV option only extracted the first array item after processing the first message.
New: Added Extract Address Parts action for parsing and extracting address fields from postal addresses.
Improvement: You can now change the sort order of Message Sources & Automations in the daily summary report email.
Improvement: The HTTP Get action now allows repeating URL parameters. If a parameter is marked as 'Repeating' you can pass a comma separated list of items for the parameter value. The same URL parameter will be added for each value.
Improvement: The Download File action now allows custom query string parameters and custom headers to be specified separately and you can now increase the response timeout.
Improvement: Added Ends With to Select Case action.
Improvement: Added Create Extracted Fields From Text/Json option to automatically create multiple Extract Field actions from a given block of text or Json.
Improvement: Web Form message sources can now use a button group and radio button group in addition to a select list for the Must Be In List validation type.
Improvement: Added Rating input type for Web Forms.
Improvement: For Web Form message sources you can now set the visibility of individual input fields. The visibility can be conditional based on values entered on other fields and you can set the default visibility for each field. As a user moves through the form entering values the visibility of all other fields will be refreshed.
Improvement: Web Form message sources can now display the confirmation message (and return value) in a modal popup after the form is submitted (in addition to the existing option of replacing the form with the confirmation message and return value).
Fix: Fixed issue with GeoIP lookup not working on some IP addresses containing '10.'.
Fix: Fixed issue with Normalize Phone Number action not working correctly on some numbers that include multiple spaces.
Fix: Fixed issue with Database Actions using Guid parameter types. The Guid parameter value was not set correctly when assigned from a %variable%.
Fix: Fixed issue with Open Public Web Form link not updating after logging out of the Studio and then logging back on to a different ThinkAutomation server instance without closing the Studio first.
Fix: Fixed issue with Run A Report action. The report designer crashed if an external Excel or CSV data source was added.
Fix: Fixed issue with IMAP Message Source not reading new messages after first run when connected to certain IMAP servers.
Fix: Fixed issue with Office 365 Create Appointment action where an All Day Event spanned multiple dates.
Improvement: The Print action header font was too small.
Improvement: The Run A Program action now has an option to execute the process via the Studio/Desktop Connector. See updated action help for more information.
Fix: Fixed issue with POP3 message source not downloading new messages when Delete Processed Messages not enabled.
Fix: Fixed issue with Read JSON Document action not unescaping extracted paths.
Fix: Fixed issue with Failover Server node configuration showing unauthorized error when verifying the connection to the main server.
Fix: Fixed issue with Update Json action not deleting specific array items when Remove Paths used.
Fix: Fixed issue with Automation editor showing 'Missing Variable' warning message on Database Lookup actions where a hard-coded LIKE value was used instead of a parameter (eg: SELECT * FROM Table WHERE Col LIKE '%somevalue%').
Improvement: Improved handling of invalid incoming email mime text where attachments had duplicate Content-ID header values.
Improvement: You can now enable the Message Source Auto Pause option separately for message source and automation errors. You can also enable Send Notification On Message Source Errors separately from the Auto Pause option (previously these options were combined).
Improvement: Added Recalculate option to Update Excel File action. This option will ensure all formulas are recalculated after the update. A Password entry has also been added (for opening password protected Excel files).
Changed: Update A Database action name changed to Update A Database Using Extracted Fields. Moved Json actions into their own 'Json' group.
Fix: Fixed issue with Create Office 365 Appointment action not replacing the start/end time values if %variable% replacements used.
Fix: Fixed issue with Create Outlook MSG File action failing on certain mime text with non standard charset.
Fix: Fixed issue with Basic Edition only allowing 4 message sources to be enabled at once instead of 5.
Fix: Fixed issue with Call A Soap Web Service action failing if basic authentication was used.
Fix: Fixed issue with OLEDB connection strings not handing 'provider=' correctly.
Fix: Fixed issue with Wait For User Response action not continuing Automation if Continue On Timeout option enabled.
Improvement: The Create Office 365 Appointment action now lists time zones available to the signed-in user in the Time Zone entry (if a %variable% replacement is used for this value then it must be one of the time zones listed).
Improvement: You can now adjust the number of message processor tasks that the Message Processor Service starts. The higher the tasks the more Automations can process messages at the same time (but with potential higher memory requirement). See Server Settings - Message Processor tab.
Improvement: Added Replace: Regex option to Text Operation action for regex replacements of single or multiple matches from any text.
New: Added Get User Presence action for reading current presence information for one or more Office 365 users.
New: Added new Message Source - Microsoft Graph Changes. This message source tracks changes for Microsoft Graph entities: Calendar Events, Organization Contacts, Users & Teams Channel messages.
Improvement: Message Source schedules can now be restricted to days of the week and times during the day (eg: Active Monday-Friday, between 9am-pm).
Fix: Fixed occasional issues with TLS connections to Office 365.
Improvement: The Call A Soap Web Service action now has a Test button.
New: Added Message Store REST API. See: ThinkAutomation Message Store REST API
New: Added HubSpot OAuth type to providers list for OAuth Action.
Improvement: The Execute A Database Command action can now execute scalar commands and you can then assign any return value or rows affected to a variable (in addition to return values via stored procedure parameters).
Improvement: For Message Sources that use a schedule, you can force the Message Source to check for new messages regardless of the schedule. Right-click a Message Source and select 'Run Now'.
Improvement: The Update Excel File action now allows CSV data or a CSV file to be inserted at a specific start row/column. Note: If you simply want to convert a CSV file to an Excel document use the Convert Document action.
Improvement: Added %func%:CSVValue(csv,row,col) and %func%:CSVWithHeadersValue(csv,row,col) to inline functions for reading specific row/column values from CSV data.
Improvement: Added %func%:Line(value,linenumber) to inline functions for reading a specific line from a value containing multiple lines.
Improvement: On If actions the if value is now editable (previously you could only select a variable). This allows if actions such as If abc%order% Equal To 'abc123' Then
.
Improvement: For database action types you can now select an existing connection string from other actions in the same Solution instead of building/entering the connection string on each action.
Improvement: The Cloud Storage action now supports wildcards for downloading files (Eg: /myfiles/docs/*.pdf).
Improvement: The Gmail message source now has the option to permanently delete processed messages (or delete and move to the Trash folder).
Fix: Fixed issue with Cloud Storage action where the full path was not specified in the Download Files entry. Now assumes the selected folder.
Fix: Fixed issue with %WeekDayNumber% built-in variable returning the week day name instead of number.
Fix: Fixed issue with Twitter message source error if using search term and Exclude Retweets enabled.
New: Added Deploy Solution feature to Studio. This allows a solution to be deployed to another ThinkAutomation Server instance.
New: The Call action now allows you to specify Scheduled Execution. If the Wait For Completion option is not enabled you can specify that the call is executed after x minutes, hours or days or at a specific date/time. This is useful if you want to delay execution of a called automation or have it execute at some specific future time. Called Automations that are waiting to be executed show in the Outbox list when viewing the Message Store.
New: The HTTP Get, HTTP Post actions now support Amazon AWS Signed Request Authentication.
Fix: Fixed issue with Read/Write Text File action showing error if the Make Backup option was enabled.
Fix: Fixed issue with incoming messages containing attachments with very long filenames (>150 characters) which would cause the attachments to not save during processing. Attachment filenames will now be truncated if too long.
Fix: Fixed issue with FTP upload/download still using passive mode even if the Passive Mode option was disabled.
Fix: Fixed issue with Sentiment Analyzer Control Panel showing error after login.
Fix: Fixed issue with Update Incoming Office 365 Message action not updating the Category.
Improvement: When viewing the message store, the message detail Preview window can now be dragged outside of the Studio window. You can then return to the Explorer tab to view/edit an Automation. This is useful if you need to view a recent message and message automation log whilst editing an Automation.
Improvement: When saving an Automation the Studio will now check that all %variables% referenced on all actions have been defined.
Improvement: The Import Solution option will now ask if you want to overwrite an existing solution if the solution already exists.
Improvement: The Message Sources and Automations explorer view sort order can now be changed.
Improvement: The Convert Document To Text action has additional options for PDF to text conversion. The PDF Text Extract Mode option has an additional Keep Positioning Method 2 option which may provide a more accurate human readable plaintext version of the PDF.
Improvement: The Twilio Send SMS action now allows you to specify a Messaging Service SID. If a Messaging Service SID is specified then Twilio will send the message using the specified Messaging Service.
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.
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.
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.
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.
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.
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.
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 Wasabi, DigitalOcean & Linode cloud storage providers to Cloud Storage action.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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).
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
(c) Parker Software 2023 https://www.ThinkAutomation.com