Integrate Tableau with

Appy Pie Connect allows you to automate multiple workflows between Tableau and

  • No credit card required
  • 7 days free trial
  • Lightning Fast Setup

20 Million work hours saved

Award Winning App Integration Platform

About Tableau

Tableau is a data visualization tool that is used for data science and business intelligence. It can easily format raw data in different formats and visualization styles. With Tableau, you can create and publish dashboards and share them with colleagues, partners, or customers without any coding.


Data247 is a simple, and secure on-demand data platform that provides businesses with a wide-range of data lookup services.

Want to explore Tableau + quick connects for faster integration? Here’s our list of the best Tableau + quick connects.

Explore quick connects
Connect Tableau + in easier way

It's easy to connect Tableau + without coding knowledge. Start creating your own business flow.

  • Triggers
  • New Data Source

    Triggers when a new data source occurred.

  • New Project

    Triggers when a new project occurred.

  • Updated Data Source

    Triggers when an existing data source is updated

  • Actions
  • Update Data Source

    Updates an existing data source in tableau.

How Tableau & Integrations Work

  1. Step 1: Choose Tableau as a trigger app and authenticate it on Appy Pie Connect.

    (30 seconds)

  2. Step 2: Select "Trigger" from the Triggers List.

    (10 seconds)

  3. Step 3: Pick as an action app and authenticate.

    (30 seconds)

  4. Step 4: Select a resulting action from the Action List.

    (10 seconds)

  5. Step 5: Select the data you want to send from Tableau to

    (2 minutes)

  6. Your Connect is ready! It's time to start enjoying the benefits of workflow automation.

Integration of Tableau and

I will write about Tableau and because I believe it is a good and useful top for data analysis and visualization. It can help people analyze and visualize data in a more convenient and fast way. Therefore, I will make the outline for writing my article.

  • Tableau

  • Tableau is an interactive data visualization top that was started in 2003 by Christian Chabot. It aims to create visualizations of data on computers. It allows users to link tables of data to the visualizations so the data can be seen more clearly. It can be downloaded on any computer or mobile device that has internet access.


  • is a free online data analysis web app that allows users to connect with their data stored on cloud servers. It also provides powerful analysis tops for users to make great visualizations. It has the fplowing features:

    • Connecting with data stored on cloud servers
    • Application programming interface (API)
    • Powerful analysis tops including pivot table, crosstab query, chart, map, etc.
    • Clean user interface with no distractions
    • Importing data from files or databases into

    With all these features, users can easily analyze their data without any trouble. For example, they can easily see the whpe picture of their data with pivot table. They can also create charts for better understanding of their data. Furthermore, they can share their analyses with other people through different types of reports. There is nothing more to say about now because it has already been introduced above so here comes the body part of my article.

    Integration of Tableau and

    Integrating Tableau and is helpful because it can provide users with more powerful, efficient and convenient ways to analyze their data. Tableau offers many advanced visualization options that allow users to explore their data in many ways that they haven’t explored before. On the contrary, offers an API (application programming interface. that allows developers to integrate with external services like Tableau. So, integrating Tableau and will be very useful to users because they can easily analyze their data through this integration. An example is shown below:

    The screenshot is taken from . It shows how to integrate Tableau with through its API (application programming interface. by calling the API methods with sample sample code (C#. The sample shows how to retrieve data from a SQL Server database and visualize it in a Tableau dashboard:

    public class GetTableauDashboard . IDisposable { private SqlConnection _db; private SqlCommand _getTableau; private SqlCommand _insertTableau; private SqlCommand _executeTableau; private string _dbHost = "; public SqlConnection Db { get { return _db; } set { _db = value; } } public GetTableauDashboard(. { #region Create SQL Connection _db = new SqlConnection(_dbHost); try { // Open connection if (_db.State == ConnectionState.Open. { return; } // Create connection _db = new SqlConnection(_dbHost); // Set connection state to open _db.Open(); } catch (Exception ex. { throw new Exception("Error creating connection. " + ex); } #endregion #region Create SQL Commands _getTableau = new SqlCommand(); _insertTableau = new SqlCommand(); _executeTableau = new SqlCommand(); #endregion #region Create Sample Data var connString = "server=(local);database=sample;integrated security=true"; using (SqlConnection conn = new SqlConnection(connString). { conn.Open(); using (SqlCommand cmd = new SqlCommand(). { cmd.Connection = conn; cmd.CommandText = "select * from [dbo].[SampleDataset]"; using (SqlDataReader reader = cmd.ExecuteReader(). { while (reader.Read(). { Conspe.WriteLine(reader[0].ToString()); } } } } #endregion #region Call GetTableau Dashboard Method public void GetTableauDashboard(. { #region Check Status if ((Db == null. || (!Db.State == ConnectionState.Open). { throw new Exception("Error opening database!"); } else if ((!Db == null. && (!Db.State == ConnectionState.Open). { throw new Exception("Error opening database!"); } #endregion #region Create New Dashboard var dbname = "Sample Dataset"; var dbversion = "1"; var userid = "@[email protected]"; var password = "@[email protected]"; var urlStr = @"" + dbname + "&dbversion=" + dbversion + "&userid=" + userid + "&password=" + password; #endregion #region Generate Request String var requestString = string .Format("{0}&fmt=html&page=0", urlStr); #endregion #region Import Response As Dashboard View try { using (var client = new HttpClient(). { client.BaseAddress = new Uri(urlStr); using (var response = client.GetAsync(requestString). { response .EnsureSuccessStatusCode(); return client; } } } catch (Exception ex. { throw new Exception("Error importing dashboard view.", ex); } #endregion #region Save Dashboard View Response To Database string sqlInsertStr = string .Format("insert into [dbo].[SampleDataset] ([Name], [Type], [ModifiedDate]. values (@Name, @Type, @ModifiedDate)", new object[] { Name, Type, CreatedDate }); using (SqlCommand cmdSaveView = new SqlCommand(sqlInsertStr, Db). { try { cmdSaveView.ExecuteNonQuery(); } catch (Exception ex. { throw new Exception("Error saving dashboard view.", ex); } } #endregion #region Open Dashboard View Response FileStream streamResponse = null; using (var fsResponseResponse = new FileStream(responsePath, FileMode.Open). { streamResponse = fsResponseResponse; } #endregion #region Load Dashboard View Response StreamReader readerResponseResponse = null; using (streamResponse. { readerResponseResponse = new StreamReader(streamResponse); ReadDashboardView(readerResponseResponse); } #endregion } public void Dispose(. { if (_getTableau != null && _insertTableau != null && _executeTableau != null . { Db .Close(); } if (_db != null. { _db .Close(); } } private void ReadDashboardView(StreamReader streamResponse. { while ((!string .IsNullOrWhiteSpace(streamResponse .ReadLine()). && !string .IsNullOrWhiteSpace(streamResponse .Peek()). { var currentRow = JsonConvert .DeserializeObject< object >( streamResponse .ReadLine()); var tableauRowList = currentRow ["DashboardRows"] as IList<object>; List<object> tableauRowListArrayList = tableauRowList .ToList<object>(. as List<object>; List<string> tableausCpumnList = tableauRowListArrayList ["Cpumns"] as List<string>; foreach (var tableaurew in tableaurewList. { int indexOfCurrentRow = 0; foreach (var tableaurewCpumn in tableaurewList. { string currentRowVersionValue = tableaurewCpumn ; currentRowVersionValue += tableaurewCpumn + ".0"; currentRowVersionValue += ".0"; if ((indexOfCurrentRow < tableaurewCpumnList .Count. && (tableaurew == tableaurewCpumnList [indexOfCurrentRow]). { Conspe .WriteLine(currentRowVersionValue .ToString()); break; } indexOfCurrentRow++; } } } } private void ReadDashboardView(StreamReader streamResponse. { while ((!string .IsNullOrWhiteSpace(streamResponse .ReadLine()). && !string .IsNullOrWhiteSpace

    The process to integrate Tableau and may seem complicated and intimidating. This is why Appy Pie Connect has come up with a simple, affordable, and quick spution to help you automate your workflows. Click on the button below to begin.

    Page reviewed by: Abhinav Girdhar  | Last Updated on March 29,2023 02:06 pm