Tableau is a leading BI and data visualization platform that lets you connect to data and create interactive dashboards and reports. You can create visual insights using Tableau without much programming knowledge.
Tableau Server is a self-hosted platform that enables you to publish, share, and govern Tableau dashboards and data sources. You can use tabcmd, Tableau’s command-line interface, to administer and automate content management operations in Tableau Server.
This article discusses Tableau Server’s enhanced capabilities and how to use tabcmd to manage Tableau Server.
Let’s learn!
Table of Contents
The latest version of Tableau Server is 2026.2. Let’s go through the latest Tableau Server features in this section.
Tabcmd is Tableau’s open-source, Python-based command-line tool that uses REST APIs. You can use this tool to automate administrative and content management tasks on Tableau Server and Tableau Cloud.
By using tabcmd, you can:
tabcmd 2.0 is the latest version of this tool. The new enhancements in tabcmd 2.0 are given as follows:
Let’s explore the following ways to use tabcmd:
The most basic way to use tabcmd is to manually enter commands, which can also be found in the Tableau Server Help. This is also a good way to test tabcmd before you attempt to create a script to run tabcmd automatically.
A common task for a content administrator is creating groups on the server and assigning users to them. You can use the creategroup command to create a group as shown below:
tabcmd creategroup "Development"
The script tabcmd creategroup “Development” adds the new group to the server. At the bottom of the script, you can see that tabcmd provides a status update while processing and then confirms that the operation succeeded.
The next step is to assign users to the group. By creating a list of valid usernames (groupadd.csv), tabcmd can assign specified users to the development group. Note that the CSV file can reside in any accessible location, provided the correct path is specified.
You can perform these activities directly in the Tableau Server GUI, but tabcmd may be a more efficient way to make group assignments when they change frequently or when you have a large number of users to assign.
If you find yourself repeating the same script, you can use a text editor to create and save it for later. Windows includes a text editor program called Notepad that can be used to enter and save a tabcmd script. Notepad is included with Windows.
Another Windows application, Task Scheduler, can be used to launch the script saved using Notepad. There are many other programming tools you can use for this purpose, but they form the essential part of the Windows toolset.
Regardless of whether you prefer to use Windows Notepad or any other text editing software, the basic steps to create a batch process are the same:
In this scenario, the script still runs manually, and you no longer have to type all of the instructions each time you want to make changes, export data, or update files. There may be activities you repeat periodically enough to justify saving a script, but not often enough to fully automate the process.
In the next example, you’ll see how to create a script in a text editor, save it as a batch file, and run it using a CSV source file that provides the usernames and permissions needed to update Tableau Server.
Assume that you have five new users to add and you will be provisioning creator, explorer, and viewer licenses for all of them. The tabcmd command is shown below:
tabcmd addusers "Development" --users "users.csv"
Here is the CSV file containing the users' names. The ultimate goal is to create a robust script that will work flexibly. To make it possible, you require a little knowledge of Windows commands and tabcmd.
For the batch file to run properly, place it in the same directory as the CSV file containing the users to be added to the server.
These Windows commands allow you to define the path for the batch session only. This is a better practice than blending a data file with Windows system files (which is not advisable). It also has the virtue of persisting only while the batch file is being executed, in contrast to the earlier example of permanently editing the PATH system variable.
In fact, you can define many other paths using this method for files that you want to keep separate.
Alter the specific code where applicable to match your system’s setup and the name of the CSV file that you have created to load new users.
When the program starts, you’ll see each command run, and when it is finished, the command window will close automatically.
As the program finishes, the screen is automatically cleared. If you want to keep it in view, include an additional line in the script using the pause command. With just a few lines of code, you can update many records this way.
By adding the batch file from the previous example to Windows Task Scheduler, the script can be executed based on a trigger event or a specific schedule. For example, if you have an actively expanding user base, you might need to create new users in the system every day.
The system administrator could add new users to createuser.csv and schedule daily updates at a specific time. A new task is created to add users to Tableau Server (daily).
The following steps are used to define the schedule:
This will cause the file to be updated regularly without requiring the batch file to be manually selected. Even if you’re on vacation, updates can continue if you delegate the addition of usernames and license types to the createuser.csv file.
There are many ways to use tabcmd to automate repetitive or intensive production tasks. If you find yourself constantly performing repetitive tasks, you should consider using tabcmd to automate them, save time, improve accuracy, and enhance how you share and update files.
Even though it may be easier to analyze data in Tableau, some users may lack access to the required licenses. You may sometimes wish to share exported PDF, PNG, or CSV files through subscriptions or scheduled exports with vendors that don’t have access to Tableau.
To overcome this, you can publish packaged workbooks through Tableau Cloud, Connected Apps, and embedded analytics, and grant them access to specific groups on your server.
Create a quality control project to publish raw files for review. After auditing and approval, republish or move the content using the REST API or Tableau UI.
This is an interesting alternative to heavy-handed quality control. Instead of focusing on the final report, focus on ensuring the quality of the data extract file and providing consumers with a vetted preliminary view that can be modified to suit specific needs.
Here, we’ll discuss automated tasks you can perform with the Tableau Server command-line tool (tabcmd). The tabcmd utility provides you with the ability to automate routine tasks concerning workflow management activities related to the following:
The level of access and control depends on the type of administrative rights assigned to the person using tabcmd.
System administrators can manage licensing, data connections, groups, projects, and workbooks. They can add users to groups and projects.
System administrators can have full administrative privileges, including server configuration, licensing, sites, users, projects, schedules, and authentication settings. They can assign administrative roles to site administrators to manage groups, projects, workbooks, and data connections.
Site administrators can even add or remove site users. They can manage users within their site. Moreover, they can assign site roles but cannot manage server licensing.
Tabcmd also has a built-in help function to list available commands; enter tabcmd help. Entering tabcmd help, then a specific command name, displays more complete options for that command.
Tabcmd, Tableau's command-line utility, allows administrators to automate common Tableau Server and Tableau Cloud tasks without using the web interface.
Tabcmd is a native command-line utility bundled with Tableau Server. On the other hand, tabcmd 2.0 is a Python-based command-line utility built on the Tableau Server Client (TSC) and REST API endpoints.
Yes, tabcmd is supported on Tableau Cloud, where tabcmd 2.0 is supported in most cases.
You can use the login command with the ‘--token-name’ and ‘--token-value’ options to authenticate tabcmd 2.0.
You can automate the following:
We hope that this blog helped you learn Tableau Server and the tabcmd tool in detail. The article outlined the common tabcmd use cases, automation tasks, authentication, and REST APIs, and more.
If you want to learn more about Tableau Server, you can check out a Tableau Server course by MindMajix. The course will help you acquire the skills to administer Tableau Server efficiently and enhance your career prospects.

Our work-support plans provide precise options as per your project tasks. Whether you are a newbie or an experienced professional seeking assistance in completing project tasks, we are here with the following plans to meet your custom needs:
| Name | Dates | |
|---|---|---|
| Tableau Server Training | Jul 18 to Aug 02 | View Details |
| Tableau Server Training | Jul 21 to Aug 05 | View Details |
| Tableau Server Training | Jul 25 to Aug 09 | View Details |
| Tableau Server Training | Jul 28 to Aug 12 | View Details |

Ravindra Savaram is a Technical Lead at Mindmajix.com. His passion lies in writing articles on the most popular IT platforms including Machine learning, DevOps, Data Science, Artificial Intelligence, RPA, Deep Learning, and so on. You can stay up to date on all these technologies by following him on LinkedIn and Twitter.