Automation workflows can contain any number of Actions. Conditionally execute actions with 'If This Then That' logic rules. Design and test your Automations using the easy to use, drag-and-drop, low-code designer.
Hundreds of built-in Actions for common tasks are included. Plus, download more Actions from our on-line library.
Create your own custom actions using the built-in Custom Action Designer and C# or VB.NET code editor.
![actions screenshot](/assets/images/screenshots/automate.webp)
Extract Field
Parse and extract data from the incoming message and assign the result to a field name.
Set Variable
Assign a value to a variable with various Set Operations.
Execute Script
Execute custom C# or Visual Basic .NET code.
Process Attachments
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.
Comment
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
Update or Insert data into a database using custom commands.
Update A Database Using Extracted Fields
Automatically update a SQL database using extracted fields parsed from the incoming message.
Update MongoDB
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.
Embedded Knowledge Store
Save and search for knowledge base articles using the embedded DB. Add relevant articles to a ChatGPT conversation to provide context.
Update Excel File
Update a Microsoft Excel file. Append new rows or update specific cells.
Lookup From Excel
Lookup specific cell and cell range values from an Excel file and assign to variables.
Update CSV
Add a row to a CSV file or variable containing CSV data.
Read CSV
Read a CSV file or variable containing CSV data.
Counter
Update a counter value.
Send Email
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.
Send Appointment
Creates an appointment in any iCalendar compatible Calendar Server.
Send Slack Message
Send a message to a Slack channel.
Send Tweet
Send a Tweet to Twitter or reply to an incoming Tweet.
Create Document
Create a formatted document and save it in various formats.
Create Spreadsheet
Create a spreadsheet and save it in various formats.
Convert Document
Convert Word, Open Document, 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, Open Document, 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.
Word Merge
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/Update Contact
Get or update a contact for an Office 365 account.
Create Appointment
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.
Text Operation
Perform various operations on text values.
Date Operation
Perform various operations on date values.
File Operation
Perform various operations on files & folders.
List Operation
Create, update, sort and get single or all items from generic lists.
Math
Perform mathematical calculations and save the result to a variable.
Parse CSV Line
Extract column data from a comma separated text value.
Encryption
Encrypt/decrypt text data or files.
Compression
Create or unzip Zip files for attachments, files & folders.
Create Hash
Create hash values for text data or files.
Set Message Store Flag
Assign a flag to the message stored in the Message Store.
Message Store Operation
Read a list of message store messages from/to & to/from two email addresses.
Set Logging Level
Set the amount of detail recorded in the Automation log.
Create Passcode
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
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.
If Block
Conditionally execute a one or more actions based on a Condition.
Call Automation
Call another Automation with a value and assign the return value to a variable.
Return
End execution of the Automation and return a value.
End Processing
End execution of the Automation without returning a value.
For Each
Create a loop on various properties and execute Actions inside the loop.
Select Case
Conditionally execute a one or more actions in the matching Case block.
Go To Label
Move processing to a label.
On Error
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.
Sleep
Pauses execution of the current automation for X milliseconds.
DNS Lookup
Perform a DNS Lookup and assign the returned data to a variable.
Ping
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.
Xero Contact
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.
Xero Account
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...
Xero Quote
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...
Xero Invoice
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...
HTTP Get
Read any web page or web API and assign the returned content to a variable.
HTTP Post
Post data to any web page or API.
Download File
Download a file via HTTP and return the local path to a variable.
OAuth SignIn
Obtain a authorization token from an OAuth endpoint for use on subsequent HTTP actions.
Cloud Storage
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.
FTP Upload
Upload files or attachments to an FTP or SFTP server.
FTP Download
Download files from an FTP or SFTP server.
Get Browser Info
Extract browser name, version and operating system info from a User Agent.
Wrap HTML
Wraps text inside HTML tags with optional styling.
Web Spider
Crawls a web site and returns a list of all URLs found.
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 JSON
Create a Json Document and assign it to a variable.
Update JSON
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
Translate text from one language to another and assign the result to a variable.
Detect Language
Detect the language of any text and assign the language code to a variable.
Speak Text
Return a URL of a WAV or MP3 file containing spoken text in the desired language.
GeoIP Lookup
Perform a GeoIP lookup for any IP address, URL, domain name or email address. Assign the Country, Region and City information to variables.
Country Lookup
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.
ChatGPT
Send a prompt to ChatGPT and assign the response to a variable. Prompts can be assigned a Conversation Id if previous prompts/responses should be included when part of a conversation.
Score Sentiment
Perform Sentiment Analysis using the built-in sentiment analyzer on any text and return the score to a variable.
Train Sentiment
Train the Sentiment Analysis database.
Classify Sentiment
Assign the most relevant sentiment class name for any text to a variable.
Azure File
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.
Azure Blob
Get or Put Azure Blobs.
Azure Table
Get or Put Azure Table Entities.
Azure Queue
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
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.
Amazon Queue
Add an item to an Amazon queue.
Amazon Glacier
Upload files or attachments to an Amazon Glacier vault.
Amazon S3
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)
Azure Translate
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 Currency
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.
Get User
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. ...
Pipedrive
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. ...
MSG Extractor
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. ...