An Automation can contain any number of Actions. Each of the actions are optional. You can run one or more of the actions depending on your requirements. You can add multiple instances of each action type - so for example, you can send multiple Outgoing emails by adding multiple Send Email actions..
ThinkAutomation includes a collection of built-in Actions for common tasks. You can also download more Actions from our on-line library and you can create your own custom actions using the Custom Action Designer.
Parse and extract data from the incoming message and assign the result to a field name.
Assign a value to a variable with various Set Operations.
Execute custom C# or Visual Basic .NET code.
Automate saving attachments to specific folders on your file system.
Set Message Store Folder
Assign the message to a folder in the Message Store.
Move Incoming Message
Move the incoming email message to a different folder on the source email account.
Add a comment line to an Automation and optionally save the comment value to the log.
Lookup From A Database
Execute a SQL database query and assign column values to variables.
Open Database Reader
Open a database reader for use with a For..Each block.
Execute A Database Command
Execute a database command or stored procedure.
Update A Database Using Custom SQL
Execute custom Update or Insert commands.
Update A Database Using Extracted Fields
Automatically update a SQL database using extracted fields parsed from the incoming message.
Create or update MongoDB documents.
Lookup From A MongoDB Database
Lookup a document from a MongoDB database and assign it to a Variable.
Embedded Data Store
Save and query data using the embedded Document DB.
Embedded Value Store
Save and retrieve a dictionary of key value pairs using the embedded DB.
Embedded Files Store
Save and query files using the embedded DB.
Update Excel File
Update a Microsoft Excel file.
Lookup From Excel
Lookup specific cell and cell range values from an Excel file and assign to variables.
Add a row to a CSV file or variable containing CSV data.
Read a CSV file or variable containing CSV data.
Update a counter value.
Send an outgoing email immediately or on a scheduled future date.
Remove Scheduled Outgoing Message
Remove pending scheduled emails for a given recipient.
Forward Original Message
Forward the incoming message and optionally add or drop attachments.
Wait For User Response
Request confirmation from a user before continuing execution.
Creates an appointment in any iCalendar compatible Calendar Server.
Send Slack Message
Send a message to a Slack channel.
Send a Tweet to Twitter or reply to an incoming Tweet.
Create a formatted document and save it in various formats.
Create a spreadsheet and save it in various formats.
Convert Word, Excel, PDF, Richtext, Text, Markdown Text, CSV or HTML documents or attachments to PDF, Word, HTML, image or text.
Convert Document To Text
Convert PDF, Word, Excel, Richtext or HTML documents or attachments to plain text or extract PDF form data.
Convert Image To Text Using OCR
Convert an image file or attachment to text using optical character recognition (OCR). Can also extract images from PDF files and convert these to text.
Convert PDF Document
Convert a PDF document or attachment to image files, text or HTML.
Sign PDF Document
Add a digital signature to a PDF document.
Save As PDF
Save the incoming message or any HTML file or URL as a PDF document.
Performs a mail merge on a Word document or attachments and saves the merged document as a new file.
Automatically print the incoming message, attachments or specific documents.
Run A Report
Create a report using a pre-defined report template and export it to various formats.
PDF to text using PDFPig
Use the PDFPig library from uglytoad to convert a PDF document to plain text. This may produce better results on some documents than the built in PDF extraction. ...
Copy File to Folder
Copies a file to another folder. Ticking "Unique File Name?" will prepend a unique string of characters to the file name. Returns the full path of the new file.
Insert CSV into XLS File (97 - 2003)
Inserts CSV data into a 97 - 2003 XLS sheet. Requires a file to have already been created, and the worksheet name to be provided where the CSV will be inserted. ...
Get or update a contact for an Office 365 account.
Create an appointment for an Office 365 account.
Update Incoming Message
Set flags and/or modify the subject on the incoming Office 365 source message.
Get User Presence
Get current presence information (availability and activity) for one or more users.
Send Teams Message
Send a message to a Microsoft Teams Channel.
Create Outlook MSG File
Save the current message or a custom message as a Microsoft Outlook MSG file.
Perform various operations on text values.
Perform various operations on date values.
Perform various operations on files & folders.
Perform mathematical calculations and save the result to a variable.
Parse CSV Line
Extract column data from a comma separated text value.
Encrypt/decrypt text data or files.
Create or unzip Zip files for attachments, files & folders.
Create hash values for text data or files.
Set Message Store Flag
Assign a flag to the message stored in the Message Store.
Set Logging Level
Set the amount of detail recorded in the Automation log.
Create a random Passcode and assign the value to a variable.
Find and Replace
Finds and replaces text in any variable.
Read/Write Text File
Write data to a text file or read an existing text file and assign the content to a variable.
Tokenize any text and assign the comma separated tokens to a variable.
Extract Address Parts
Parse a postal address and extract specific address parts.
Extract Email Signature
Parse contact and company information from email signature footers.
Text To Speech
Convert text to a speech WAV file and return the WAV file path to a variable.
HTML Field Extraction
This action provides additional functionality to the standard "Extract Field" action when dealing with HTML content. Current functionality includes: Extracting... An attribute value Where... ...
Key-Value Pair Collection
Allows for storage of a key-value pair collection. Supports setting values, getting values & fetching all the keys within the collection. ...
Text to One Line
Converts inputted text to one line. Providing a seperator value will convert the text to one line and place the chosen seperator in between each new line. Any blank lines will be removed.
Conditionally execute a one or more actions based on a Condition.
Call another Automation with a value and assign the return value to a variable.
End execution of the Automation and return a value.
End execution of the Automation without returning a value.
Create a loop on various properties and execute Actions inside the loop.
Conditionally execute a one or more actions in the matching Case block.
Go To Label
Move processing to a label.
Control what should happen if an error occurs on subsequent actions.
Create Web Form Redirect
For Automations called from a Web Form Message Source. Redirect the submitted form to another ThinkAutomation Web Form or URL.
Pauses execution of the current automation for X milliseconds.
Perform a DNS Lookup and assign the returned data to a variable.
Ping any host and return the results to a variable.
Execute Secure Shell Command
Execute SSH commands against any host and assign the response to a variable.
Get CRM Entity
Read entity values from Microsoft Dynamics, Salesforce, Sugar or Zoho CRM.
Update CRM Entity
Add or update Microsoft Dynamics, Salesforce, Sugar or Zoho CRM entities.
Query CRM Entities
Perform a generic query to read one or more CRM entities as Json text, CSV or Markdown.
Read, create & update Xero Accounting contacts.
Xero Get Contact History
Get a Xero Contact notes history. The content can be returned as a CSV, Markdown or Json string. Use the Xero Get Contact action first to get the ContactID.
Within the Xero Account action, the following functionality is available: Create Account Update Account Get Account Delete Account This document will document how to successully use them, including...
Within the Xero Quote action, the following functionality is available: Create Quote Update Quote This document will document how to successully use them, including any enum values you may need and...
Within the Xero Invoice action, the following functionality is available: Create Invoice Update Invoice Get Invoice URL This document will document how to successully use them, including any enum v...
Read any web page and assign the returned HTML or plain text to a variable.
Post data to any web page using a HTTP POST.
Download a file via HTTP and return the local path to a variable.
Obtain a authorization token from an OAuth endpoint for use on subsequent HTTP actions.
Download or Upload files using cloud storage providers (Amazon S3, Google Drive, Google Cloud Storage, Microsoft OneDrive, IBM Cloud Storage, Wasabi, Digital Ocean, Linode).
Wait For Webhook
Wait for a 3rd party webhook call.
Call A Soap Web Service
Execute a SOAP or .NET Web Service and assign the results to variables.
Upload files or attachments to an FTP or SFTP server.
Download files from an FTP or SFTP server.
Get Browser Info
Extract browser name, version and operating system info from a User Agent.
Wraps text inside HTML tags with optional styling.
Get Gravatar For Email
Downloads the Gravatar for any given email address (if the Gravatar exists). Saves the downloaded image (.jpg) to the specified folder and returns the file path.
Get Spam Score
Uses Postmark’s spam API (a RESTfull interface to the SpamAssassin filter tool) to analyze an email to get a spam score. Pass the full mime text of an email.
Create a Json Document and assign it to a variable.
Create or update multiple Json paths within Json text and return the updated Json to a variable.
Read JSON Document
Parse a JSON document from any URL and assign element values variables.
Convert JSON To HTML
Convert Json to a readable HTML table and assign the HTML to a variable.
Convert JSON Array To HTML
Converts a Json array into a single HTML table. In the Json editor, enter or paste the Json array, or use a %variable% replacement for Json created from an earlier action. ...
Translate text from one language to another and assign the result to a variable.
Detect the language of any text and assign the language code to a variable.
Return a URL of a WAV or MP3 file containing spoken text in the desired language.
Perform a GeoIP lookup for any IP address, URL, domain name or email address. Assign the Country, Region and City information to variables.
Lookup country details for country name, code or dial code. Assign the Country Name, Code, Dial Code, Dial Prefix and Currency Code to variables.
Google Maps Directions (HTML)
Using Google's "directions" API to provide a route between two points. Can take postcodes, place ids or textual descriptions. Returns the directions as HTML and also the distance and time taken. ...
GetAddress - Address Lookup
This action supports for looking up addresses via postcode and then backfilling a particular address to retrieve the full information, using the getAddress.io API. ...
Twilio Make A Telephone Call
Make a telephone call and optionally connect the call to another number.
Twilio Send SMS Message
Send a SMS message via Twilio.
Twilio Wait For SMS Reply
Send a SMS message via Twilio and wait for a reply.
Normalize Phone Number
Convert a phone number to the correct internationalized version.
Perform Sentiment Analysis on any text and return the score to a variable.
Train the Sentiment Analysis database.
Assign the most relevant sentiment class name for any text to a variable.
Download or Upload files to Azure Storage shares.
Azure File Get Link
Get URLs to files in an Azure Storage share and assign to a variable.
Azure Cosmos DB
Update Or Query Documents In A Cosmos Container.
Get or Put Azure Blobs.
Get or Put Azure Table Entities.
Get or Put Azure Queue Messages.
Azure Form Recognize
Extract text, key-value pairs and tables from documents, forms, receipts, invoices and business cards using the Azure Form Recognizer service.
Execute PowerShell commands and assign the results to a variable.
Run A Program
Execute a Windows executable file and assign the output to a variable.
Set Environment Variable
Sets an environment variable.
Get Environment Variable
Reads an environment variable and returns the value.
Get Registry Value
Reads the system registry for the specified key and value name. Returns the value.
Set Registry Value
Adds or updates the system registry for the specified key and value name.
Amazon Send SMS
Send an SMS message using Amazon SNS service.
Add an item to an Amazon queue.
Upload files or attachments to an Amazon Glacier vault.
Upload files or attachments to an Amazon S3 bucket. Returns the HTTP status.
Azure Extract Text From Image
Uses the Microsoft Azure Computer Vision API to extract text from an image. You need to have an Azure account and create a Cognative Services endpoint.
Azure Analyze Image
Uses the Microsoft Azure Computer Vision API to analyze an image and return text information. You need to have an Azure account and create a Cognative Services endpoint.
Azure Extract Key Phrases From Text
Uses the Microsoft Azure Text Analytics API to extract key phrases from text. You need to have an Azure account and create a Cognative Services Text Analytics endpoint.
Azure Extract Named Entities From Text
Uses the Microsoft Azure Text Analytics API to extract named entities from text. You need to have an Azure account and create a Cognative Services Text Analytics endpoint.
Azure Analyze Sentiment
Uses the Microsoft Azure Text Analytics API to analyze sentiment for any text. You need to have an Azure account and create a Cognative Services Text Analytics endpoint.
Check Spelling (Bing Spell Check)
Uses the Microsoft Azure Cognative Services Translate API to translate any text from one language to another. You need to have an Azure account and create a Cognative Services Translate endpoint.
Convert an amount from one currency into another using the latest exchange rates.
Get Crypto Price
Reads a Crypto currency current price versus another currency. Uses the free CoinGecko API. Coin name should be the name of the coin eg: Bitcoin, Solana, Ethereum etc. ...
Sample Custom Action
Sample custom action. Returns the full name for a given first name, last name and title.
Gets user information from Microsoft Graph for a given email address. The email address must exist within your organization.
Get User Presence
Gets user presence information from Microsoft Graph for a given user id. The user id can be obtained using the Get User action. The user must exist within your origanization.
Create Talkyard Page
Creates a new page within the Talkyard platform. Upon a successful request, the URL to the page will be assigned to the relevent output variable. ...
VirusTotal - Scan File or URL
Returns a percentage value between 0 - 100 based on the "Malicious" and "Suspected" values from VirusTotal. ...
TeamPasswordManager - Get Password
Returns a password from TeamPasswordManager. When requesting a password, you have 2 options on how to retrieve it: 1 ) Provide the Password ID if this is know. ...
Dynamics - Entity
This action is intended for use with an on premises version of Dynamics 365. ...
Dynamics On Premise Connector (BETA)
This action is intended for use with an on premises version of Dynamics 365. ...
Within the Pipedrive action you're able to perform the following actions on objects within the platform. ...
Monday - Board Item
Creates, updates, gets and deletes items from a Monday.com board. Getting started To get started using this action a schema must first be downloaded. ...
Monday - Create Item Update
Adds a comment/update to a Monday.com Board Item. ...
Monday - Send Notification
Notifies a Monday.com user for a particular Board or Item ID. ...
Monday - Get User Info
Gets a Monday.com users info from their ID, Email Address or current API user account.
Monday - Upload File
Uploads a file to a Monday.com Item or Update. ...
Autotask - Ticket
Creates and Updates Autotask tickets.
Autotask - Get Contact
Gets an Autotask Contact ID from an email address.
Autotask - Get Ticket Field Value
Gets a specific Autotask entity ID based off its label counterpart. Currently supports: Queue Issue Sub-Issue Billing Code
Tessitura - Add Note
Adds a note to a Tessitura constituent. The action Creates/Fetches Constituent > Creates/Fetches Plan > Creates Plan Step (with note). ...
NuGet Package Test
A simple custom action to demonstrate using NuGet packages with ThinkAutomation custom actions. This custom action uses RestSharp to make a GET request to retrieve a user's IP address.
PayPal - Get Transaction
Gets a PayPal transaction in the last x-days for a specific transaction ID. Returns a JSON object of the transaction. ...
Redis - Set Value
Gets a value in a Redis store for a given key and value. Returns "true" if the variable was set and "false" otherwise.
Redis - Get Value
Gets a value from a Redis store for a given key.
WhosOn - Archive JSON Extraction
Reads the contents of a WhosOn chat archive request and formats the transcript to readable text. The action also supports extracting the visitors name and email address.
QuickBooks - Customer
Creates, Updates & Gets a QuickBooks customer based on a set of user defined conditions. Upon a successful request, the Customer ID is returned.
QuickBooks - Invoice
Creates, Updates, Voids & Deletes a QuickBooks invoice based on a set of user defined conditions. Upon a successful request, the Invoice ID is returned. ...
Extracts values from an Outlook .msg file
Shopify - Order
Performs a range of operations against a Shopify order. ...
WooCommerce - Order
Performs a range of operations against a WooCommerce order. ...
Stripe - Balance Transaction
Gets a Balance Transaction from Stripe. A JSON object or array will be returned, with the ability to assign individual fields out for First or Last records.
Stripe - Customer
Performs a range of operations against a Stripe customer. ...
Stripe - Request Payment
Requests a payment using Stripe and returns a link which can then be used to pay. ...