Skip to main content

Hello everyone,

 

Case is following:

We are using tableau-prep-cli to refresh our data.

All flows, until now, had only databases and / or static files as inputs and Tableau Online PDS as a target.

Now, I have a flow, that has DB input, Tableau Online PDS input, and Tableau Online PDS Output.

 

If I append connection.json file like this:

"outputConnections" = @(

@{

"serverUrl" = "https://tableau online url/"

"contentUrl" = "actual site name from url"

"port" = 443

"username" = user

"password" = pass

}

)

"inputConnections" = @(

@{

"hostname" = example host

"username" = user

"password" = pass

},

@{

"serverUrl" = "https://tableau online url/"

"contentUrl" = "actual site name from url"

"port" = 443

"username" = user

"password" = pass

}

)

Then i get the following error:

Unable to read the connections file. Details:

2025-08-16 23:58:59 Unrecognized field "serverUrl" (class com.tableau.tprep.cli.app.connections.InputConnectionInfo), not marked as ignorable (6 known properties: "port", "siteName", "hostname", "contentUrl", "password", "username"])

2025-08-16 23:58:59 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 474] (through reference chain: com.tableau.tprep.cli.app.connections.ConnectionInfo["inputConnections"]->java.lang.Object[][1]->com.tableau.tprep.cli.app.connections.InputConnectionInfo["serverUrl"])

 

If i try to use for example hostname, connection is never recognized:

2025-08-17 00:01:22 We don't have credentials of all connections in tfl/tflx file. The following connection(s) were not found: https://prod-uk-a.online.tableau.com (Actual Site Name; not from URL, from the labeled input in flow when connected to Tableau Online).

 

Notes:

-special characters are coming from PowerShell syntax, creation of connection file is nested in it.

-tableauServerConnections, from documentation is not recoginzed also by script itself.

-Tableau Prep version is 2025.1

 

To summarize,

I need info how to define Tableau Online PDS input connection, to be recognized as for the output one

 

Any help will be much appreciated.

 

Kind Regards,

Strahinja Veljovic

3 answers
  1. Aug 18, 2025, 4:41 PM

    @Strahinja Veljovic​ 

    Hi, as @Etsuro Tabata​  mentioned probably you will not able to run a Tableau Prep Flow using Command Line unless you have an MFA exception so you can use Tableau Authentication (this is the only supported by Tableau Prep Command Line) (Tableau Prep does not support Tableau with MFA Oauth or SAML authentication)

     

    If you have an MFA exception and if and only if the user is able to use Tableau Authentication (no MFA) then you should be able to use:

    {

    "outputConnections" = [

    {

    "serverUrl" = "https://tableau online url/"

    "contentUrl" = "actual site name from url"

    "port" = 443

    "username" = "user"

    "password" = "pass"

    }

    ],

    "inputConnections" = [

    {

    "hostname" = "example host"

    "username" = "user"

    "password" = "pass"

    },

    {

    "hostname" = "https://tableau online url/"

    "contentUrl" = "yoursitename"

    "port" = 443

    "username" = "user"

    "password" = "pass"

    }

    ]

    }

    Or you may use a v2 format:

    {

    "tableauServerConnections":[

    {

    "serverUrl":"https://tableau online url/",

    "contentUrl": "yoursitename",

    "port":443,

    "username": "user",

    "password": "pass"

    }

    ],

    "databaseConnections":[

    {

    "hostname":"example host",

    "port":"5439",

    "username":"user",

    "password":"pass"

    }

    ]

    }

    If this post resolves the question, would you be so kind to "Select as Best"?. This will help other users find the same answer/resolution and help community keep track of answered questions. Thank you.

     

    Regards,

     

    Diego Martinez

    Tableau Visionary and Forums Ambassador

0/9000