Repository: raystack/meteor (language: go)

Issue:
feat: add `instance_label` to extractors
**Is your feature request related to a problem? Please describe.**
Similar to https://github.com/odpf/meteor/issues/352, do the same for the following extractors:
- postgres
- mysql
- mssql
- tableau

**Describe the solution you'd like**
Below extractors have `instance_label` config:
- postgres
- mysql
- mssql
- tableau




Discussion / hints:

Fix patch:
diff --git a/plugins/extractors/mssql/README.md b/plugins/extractors/mssql/README.md
index 1844dc095..27dc1d7de 100644
--- a/plugins/extractors/mssql/README.md
+++ b/plugins/extractors/mssql/README.md
@@ -7,19 +7,21 @@ source:
   name: mssql
   config:
     connection_url: sqlserver://admin:pass123@localhost:3306/
+    identifier: my-mssql
 ```
 
 ## Inputs
 
 | Key | Value | Example | Description |    |
 | :-- | :---- | :------ | :---------- | :- |
+| `identifier` | `string` | `my-mssql` | Instance alias, the value will be used as part of the urn component | *required* |
 | `connection_url` | `string` | `sqlserver://admin:pass123@localhost:3306/` | URL to access the mssql server | *required* |
 
 ## Outputs
 
 | Field | Sample Value |
 | :---- | :---- |
-| `resource.urn` | `my_database.my_table` |
+| `resource.urn` | `mssql::my-mssql/my_database/my_table` |
 | `resource.name` | `my_table` |
 | `resource.service` | `mssql` |
 | `description` | `table description` |
diff --git a/plugins/extractors/mssql/mssql.go b/plugins/extractors/mssql/mssql.go
index 9642a92ad..14564614f 100644
--- a/plugins/extractors/mssql/mssql.go
+++ b/plugins/extractors/mssql/mssql.go
@@ -36,10 +36,12 @@ var defaultDBList = []string{
 // Config holds the connection URL for the extractor
 type Config struct {
 	ConnectionURL string `mapstructure:"connection_url" validate:"required"`
+	Identifier    string `mapstructure:"identifier" validate:"required"`
 }
 
 var sampleConfig = `
-connection_url: "sqlserver://admin:pass123@localhost:3306/"`
+connection_url: "sqlserver://admin:pass123@localhost:3306/"
+identifier: my-mssql`
 
 // Extractor manages the extraction of data from the database
 type Extractor struct {
@@ -132,7 +134,7 @@ func (e *Extractor) processTable(database string, tableName string) (err error)
 	// push table to channel
 	e.emit(models.NewRecord(&assetsv1beta1.Table{
 		Resource: &commonv1beta1.Resource{
-			Urn:  fmt.Sprintf("%s.%s", database, tableName),
+			Urn:  models.TableURN("mssql", e.config.Identifier, database, tableName),
 			Name: tableName,
 			Type: "table",
 		},
diff --git a/plugins/extractors/mysql/README.md b/plugins/extractors/mysql/README.md
index 12fbadcad..7df5bd853 100644
--- a/plugins/extractors/mysql/README.md
+++ b/plugins/extractors/mysql/README.md
@@ -7,6 +7,7 @@ source:
   name: mysql
   config:
     connection_url: admin:pass123@tcp(localhost:3306)/
+    identifier: my-mysql
 ```
 
 ## Inputs
@@ -14,12 +15,13 @@ source:
 | Key | Value | Example | Description |    |
 | :-- | :---- | :------ | :---------- | :- |
 | `connection_url` | `string` | `admin:pass123@tcp(localhost:3306)/` | URL to access the mysql server | *required* |
+| `identifier` | `string` | `my-mysql` | Instance alias, the value will be used as part of the urn component | *required* |
 
 ## Outputs
 
 | Field | Sample Value |
 | :---- | :---- |
-| `resource.urn` | `my_database.my_table` |
+| `resource.urn` | `mysql::my-mysql/my_database/my_table` |
 | `resource.name` | `my_table` |
 | `resource.service` | `mysql` |
 | `description` | `table description` |
diff --git a/plugins/extractors/mysql/mysql.go b/plugins/extractors/mysql/mysql.go
index a541a2245..af3a229c6 100644
--- a/plugins/extractors/mysql/mysql.go
+++ b/plugins/extractors/mysql/mysql.go
@@ -35,9 +35,12 @@ var defaultDBList = []string{
 // Config holds the connection URL for the extractor
 type Config struct {
 	ConnectionURL string `mapstructure:"connection_url" validate:"required"`
+	Identifier    string `mapstructure:"identifier" validate:"required"`
 }
 
-var sampleConfig = `connection_url: "admin:pass123@tcp(localhost:3306)/"`
+var sampleConfig = `
+connection_url: "admin:pass123@tcp(localhost:3306)/"
+identifier: "my-mysql"`
 
 // Extractor manages the extraction of data from MySQL
 type Extractor struct {
@@ -143,7 +146,7 @@ func (e *Extractor) processTable(database string, tableName string) (err error)
 	// push table to channel
 	e.emit(models.NewRecord(&assetsv1beta1.Table{
 		Resource: &commonv1beta1.Resource{
-			Urn:  fmt.Sprintf("%s.%s", database, tableName),
+			Urn:  models.TableURN("mysql", e.config.Identifier, database, tableName),
 			Name: tableName,
 			Type: "table",
 		},
diff --git a/plugins/extractors/postgres/README.md b/plugins/extractors/postgres/README.md
index 0bfdaa76d..2f3128b5f 100644
--- a/plugins/extractors/postgres/README.md
+++ b/plugins/extractors/postgres/README.md
@@ -14,6 +14,7 @@ source:
 
 | Key | Value | Example | Description |    |
 | :-- | :---- | :------ | :---------- | :- |
+| `identifier` | `string` | `my-postgres` | Instance alias, the value will be used as part of the urn component | *required* |
 | `connection_url` | `string` | `postgres://admin:pass123@localhost:3306/testDB?sslmode=disable` | URL to access the postgres server | *required* |
 | `exclude` | `string` | `primaryDB,secondaryDB` | This is a comma separated db list | *optional* |
 
@@ -21,7 +22,7 @@ source:
 
 | Field | Sample Value |
 | :---- | :---- |
-| `resource.urn` | `postgres::localhost:3306/my_database/my_table` |
+| `resource.urn` | `postgres::my-postgres/my_database/my_table` |
 | `resource.name` | `my_table` |
 | `resource.service` | `postgres` |
 | `description` | `table description` |
diff --git a/plugins/extractors/postgres/postgres.go b/plugins/extractors/postgres/postgres.go
index e78074408..9eb8b2324 100644
--- a/plugins/extractors/postgres/postgres.go
+++ b/plugins/extractors/postgres/postgres.go
@@ -34,11 +34,13 @@ var defaultDBList = []string{"information_schema", "root", "postgres"}
 type Config struct {
 	ConnectionURL string `mapstructure:"connection_url" validate:"required"`
 	Exclude       string `mapstructure:"exclude"`
+	Identifier    string `mapstructure:"identifier" validate:"required"`
 }
 
 var sampleConfig = `
 connection_url: "postgres://admin:pass123@localhost:3306/postgres?sslmode=disable"
-exclude: testDB,secondaryDB`
+exclude: testDB,secondaryDB
+identifier: my-postgres`
 
 // Extractor manages the extraction of data from the extractor
 type Extractor struct {
@@ -171,7 +173,7 @@ func (e *Extractor) getTableMetadata(db *sql.DB, dbName string, tableName string
 
 	result = &assetsv1beta1.Table{
 		Resource: &commonv1beta1.Resource{
-			Urn:     models.TableURN("postgres", e.host, dbName, tableName),
+			Urn:     models.TableURN("postgres", e.config.Identifier, dbName, tableName),
 			Name:    tableName,
 			Service: "postgres",
 			Type:    "table",
diff --git a/plugins/extractors/tableau/README.md b/plugins/extractors/tableau/README.md
index 164848d17..1f1a2d7f8 100644
--- a/plugins/extractors/tableau/README.md
+++ b/plugins/extractors/tableau/README.md
@@ -1,14 +1,18 @@
 # tableau
 
 ## Usage
+
 ### Note
+
 To use tableau extractor, you need to enable [metadata service api](https://help.tableau.com/current/api/metadata_api/en-us/)
+
 ```yaml
 source:
   type: tableau
   config:
     host: http://server.tableau.com
     version: 3.12
+    identifier: my-tableau
     username: meteor_user
     password: xxxxxxxxxx
 ```
@@ -21,6 +25,7 @@ source:
 | :-- | :---- | :------ | :---------- | :- |
 | `host` | `string` | `https://server.tableau.com`         | The host at which tableau is running | *required* |
 | `version` | `string` | `3.12`     | The version of [Tableau REST API](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_versions.htm), tested with 3.12 | *required* |
+| `identifier` | `string` | `my-tableau` | Instance alias, the value will be used as part of the urn component | *required* |
 | `username` | `string` | `meteor_user` | Username/email to access the tableau | *required* |
 | `password` | `string` | `xxxxxxxxxx` | Password for the tableau | *required* |
 | `sitename` | `string` | `testdev550928` | The name of your tableau site, it will point to the default one if you leave it empty | *not required* |
@@ -29,7 +34,7 @@ source:
 
 | Field | Sample Value |
 | :---- | :---- |
-| `resource.urn` | `tableau::{host}/workbook/{workbook_id}` |
+| `resource.urn` | `tableau::{identifier}/workbook/{workbook_id}` |
 | `resource.name` | `workbook_name` |
 | `resource.service` | `tableau` |
 | `resource.description` | `a description of the dashboard` |
@@ -39,9 +44,9 @@ source:
 
 | Field | Sample Value |
 | :---- | :---- |
-| `urn` | `tableau::{host}/sheet/{sheet_id}`             |
+| `urn` | `tableau::{identifier}/sheet/{sheet_id}`             |
 | `source` | `tableau` |
-| `dashboard_urn` | `tableau::{host}/workbook/{workbook_id}` |
+| `dashboard_urn` | `tableau::{identifier}/workbook/{workbook_id}` |
 | `dashboard_source` | `tableau` |
 
 ## Contributing
diff --git a/plugins/extractors/tableau/tableau.go b/plugins/extractors/tableau/tableau.go
index d28e5f0dd..2ef32a89d 100644
--- a/plugins/extractors/tableau/tableau.go
+++ b/plugins/extractors/tableau/tableau.go
@@ -24,6 +24,7 @@ var summary string
 var sampleConfig = `
 host: https://server.tableau.com
 version: 3.12
+identifier: my-tableau
 username: meteor_user
 password: xxxxxxxxxx
 sitename: testdev550928
@@ -31,11 +32,12 @@ sitename: testdev550928
 
 // Config that holds a set of configuration for tableau extractor
 type Config struct {
-	Host     string `mapstructure:"host" validate:"required"`
-	Version  string `mapstructure:"version" validate:"required"` // float as string
-	Username string `mapstructure:"username" validate:"required"`
-	Password string `mapstructure:"password" validate:"required"`
-	Sitename string `mapstructure:"sitename"`
+	Host       string `mapstructure:"host" validate:"required"`
+	Version    string `mapstructure:"version" validate:"required"` // float as string
+	Identifier string `mapstructure:"identifier" validate:"required"`
+	Username   string `mapstructure:"username" validate:"required"`
+	Password   string `mapstructure:"password" validate:"required"`
+	Sitename   string `mapstructure:"sitename"`
 }
 
 // Extractor manages the extraction of data
@@ -129,7 +131,7 @@ func (e *Extractor) Extract(ctx context.Context, emit plugins.Emit) (err error)
 
 func (e *Extractor) buildDashboard(wb *Workbook) (data *assetsv1beta1.Dashboard, err error) {
 	lineages := e.buildLineage(wb.UpstreamTables)
-	dashboardURN := models.DashboardURN("tableau", e.config.Host, fmt.Sprintf("workbook/%s", wb.ID))
+	dashboardURN := models.DashboardURN("tableau", e.config.Identifier, fmt.Sprintf("workbook/%s", wb.ID))
 	data = &assetsv1beta1.Dashboard{
 		Resource: &commonv1beta1.Resource{
 			Urn:         dashboardURN,
@@ -170,7 +172,7 @@ func (e *Extractor) buildDashboard(wb *Workbook) (data *assetsv1beta1.Dashboard,
 
 func (e *Extractor) buildCharts(dashboardURN string, wb *Workbook, lineages *facetsv1beta1.Lineage) (charts []*assetsv1beta1.Chart) {
 	for _, sh := range wb.Sheets {
-		chartURN := models.DashboardURN("tableau", e.config.Host, fmt.Sprintf("sheet/%s", sh.ID))
+		chartURN := models.DashboardURN("tableau", e.config.Identifier, fmt.Sprintf("sheet/%s", sh.ID))
 		charts = append(charts, &assetsv1beta1.Chart{
 			Urn:          chartURN,
 			Name:         sh.Name,


Test patch:
diff --git a/plugins/extractors/mssql/mssql_test.go b/plugins/extractors/mssql/mssql_test.go
index c9762536f..f6067119a 100644
--- a/plugins/extractors/mssql/mssql_test.go
+++ b/plugins/extractors/mssql/mssql_test.go
@@ -96,6 +96,7 @@ func TestExtract(t *testing.T) {
 
 		err := extr.Init(ctx, map[string]interface{}{
 			"connection_url": fmt.Sprintf("sqlserver://%s:%s@%s/", user, pass, host),
+			"identifier":     "my-mssql",
 		})
 		if err != nil {
 			t.Fatal(err)
@@ -146,7 +147,7 @@ func getExpected() []models.Record {
 	return []models.Record{
 		models.NewRecord(&assetsv1beta1.Table{
 			Resource: &commonv1beta1.Resource{
-				Urn:  "mockdata_meteor_metadata_test.applicant",
+				Urn:  "mssql::my-mssql/mockdata_meteor_metadata_test/applicant",
 				Name: "applicant",
 				Type: "table",
 			},
@@ -175,7 +176,7 @@ func getExpected() []models.Record {
 		}),
 		models.NewRecord(&assetsv1beta1.Table{
 			Resource: &commonv1beta1.Resource{
-				Urn:  "mockdata_meteor_metadata_test.jobs",
+				Urn:  "mssql::my-mssql/mockdata_meteor_metadata_test/jobs",
 				Name: "jobs",
 				Type: "table",
 			},
diff --git a/plugins/extractors/mysql/mysql_test.go b/plugins/extractors/mysql/mysql_test.go
index 6ad8e8c92..c7c5f5e5f 100644
--- a/plugins/extractors/mysql/mysql_test.go
+++ b/plugins/extractors/mysql/mysql_test.go
@@ -96,6 +96,7 @@ func TestExtract(t *testing.T) {
 
 		err := extr.Init(ctx, map[string]interface{}{
 			"connection_url": fmt.Sprintf("%s:%s@tcp(%s)/", user, pass, host),
+			"identifier":     "my-mysql",
 		})
 		if err != nil {
 			t.Fatal(err)
@@ -152,7 +153,7 @@ func getExpected() []models.Record {
 	return []models.Record{
 		models.NewRecord(&assetsv1beta1.Table{
 			Resource: &commonv1beta1.Resource{
-				Urn:  "mockdata_meteor_metadata_test.applicant",
+				Urn:  "mysql::my-mysql/mockdata_meteor_metadata_test/applicant",
 				Name: "applicant",
 				Type: "table",
 			},
@@ -184,7 +185,7 @@ func getExpected() []models.Record {
 		}),
 		models.NewRecord(&assetsv1beta1.Table{
 			Resource: &commonv1beta1.Resource{
-				Urn:  "mockdata_meteor_metadata_test.jobs",
+				Urn:  "mysql::my-mysql/mockdata_meteor_metadata_test/jobs",
 				Name: "jobs",
 				Type: "table",
 			},
diff --git a/plugins/extractors/postgres/postgres_test.go b/plugins/extractors/postgres/postgres_test.go
index e8d7d9ba1..864f2ce6a 100644
--- a/plugins/extractors/postgres/postgres_test.go
+++ b/plugins/extractors/postgres/postgres_test.go
@@ -94,6 +94,7 @@ func TestExtract(t *testing.T) {
 
 		err := extr.Init(ctx, map[string]interface{}{
 			"connection_url": fmt.Sprintf("postgres://%s:%s@%s/postgres?sslmode=disable", user, pass, host),
+			"identifier":     "my-postgres",
 		})
 		if err != nil {
 			t.Fatal(err)
@@ -148,7 +149,7 @@ func getExpected() []models.Record {
 	return []models.Record{
 		models.NewRecord(&assetsv1beta1.Table{
 			Resource: &commonv1beta1.Resource{
-				Urn:     "postgres::localhost:5438/test_db/article",
+				Urn:     "postgres::my-postgres/test_db/article",
 				Name:    "article",
 				Service: "postgres",
 				Type:    "table",
@@ -182,7 +183,7 @@ func getExpected() []models.Record {
 		}),
 		models.NewRecord(&assetsv1beta1.Table{
 			Resource: &commonv1beta1.Resource{
-				Urn:     "postgres::localhost:5438/test_db/post",
+				Urn:     "postgres::my-postgres/test_db/post",
 				Name:    "post",
 				Service: "postgres",
 				Type:    "table",
diff --git a/plugins/extractors/tableau/tableau_test.go b/plugins/extractors/tableau/tableau_test.go
index 201546847..7bb760a4e 100644
--- a/plugins/extractors/tableau/tableau_test.go
+++ b/plugins/extractors/tableau/tableau_test.go
@@ -52,11 +52,12 @@ func TestExtract(t *testing.T) {
 				Transport: r,
 			}))
 		err = extr.Init(ctx, map[string]interface{}{
-			"host":     host,
-			"version":  version,
-			"sitename": sitename,
-			"username": username,
-			"password": password,
+			"host":       host,
+			"version":    version,
+			"identifier": "my-tableau",
+			"sitename":   sitename,
+			"username":   username,
+			"password":   password,
 		})
 		if err != nil {
 			t.Fatal(err)
diff --git a/plugins/extractors/tableau/testdata/dashboards_proto.json b/plugins/extractors/tableau/testdata/dashboards_proto.json
index 9d30926b0..11b137ae7 100644
--- a/plugins/extractors/tableau/testdata/dashboards_proto.json
+++ b/plugins/extractors/tableau/testdata/dashboards_proto.json
@@ -1,17 +1,17 @@
 [
     {
         "resource": {
-            "urn": "tableau::https://server.tableau.com/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
+            "urn": "tableau::my-tableau/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
             "name": "Regional",
             "service": "tableau",
             "type": "dashboard"
         },
         "charts": [
             {
-                "urn": "tableau::https://server.tableau.com/sheet/2f97fce2-e291-e229-842d-b7af508aebfc",
+                "urn": "tableau::my-tableau/sheet/2f97fce2-e291-e229-842d-b7af508aebfc",
                 "name": "Obesity Map",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
+                "dashboard_urn": "tableau::my-tableau/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
                 "properties": {
                     "attributes": {
                         "id": "2f97fce2-e291-e229-842d-b7af508aebfc",
@@ -28,10 +28,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/4bef53d7-8b22-87f4-0077-c9c7bd090c08",
+                "urn": "tableau::my-tableau/sheet/4bef53d7-8b22-87f4-0077-c9c7bd090c08",
                 "name": "S\u0026P Forward Returns",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
+                "dashboard_urn": "tableau::my-tableau/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
                 "properties": {
                     "attributes": {
                         "id": "4bef53d7-8b22-87f4-0077-c9c7bd090c08",
@@ -48,10 +48,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/68cf24ed-f83c-b6f5-0f0c-a884895d9016",
+                "urn": "tableau::my-tableau/sheet/68cf24ed-f83c-b6f5-0f0c-a884895d9016",
                 "name": "Heat Map",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
+                "dashboard_urn": "tableau::my-tableau/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
                 "properties": {
                     "attributes": {
                         "id": "68cf24ed-f83c-b6f5-0f0c-a884895d9016",
@@ -68,10 +68,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/8616fd42-285c-4179-dea6-9f36e9f666e1",
+                "urn": "tableau::my-tableau/sheet/8616fd42-285c-4179-dea6-9f36e9f666e1",
                 "name": "Scatter",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
+                "dashboard_urn": "tableau::my-tableau/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
                 "properties": {
                     "attributes": {
                         "id": "8616fd42-285c-4179-dea6-9f36e9f666e1",
@@ -88,10 +88,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/924ac46b-b979-72d5-27c8-e96251c4a982",
+                "urn": "tableau::my-tableau/sheet/924ac46b-b979-72d5-27c8-e96251c4a982",
                 "name": "College",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
+                "dashboard_urn": "tableau::my-tableau/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
                 "properties": {
                     "attributes": {
                         "id": "924ac46b-b979-72d5-27c8-e96251c4a982",
@@ -108,10 +108,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/99c11133-00b6-dc1f-8e89-88e224f96210",
+                "urn": "tableau::my-tableau/sheet/99c11133-00b6-dc1f-8e89-88e224f96210",
                 "name": "Flight Delays",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
+                "dashboard_urn": "tableau::my-tableau/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
                 "properties": {
                     "attributes": {
                         "id": "99c11133-00b6-dc1f-8e89-88e224f96210",
@@ -128,10 +128,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/a0f461b6-6236-8c90-aaeb-be8218441ada",
+                "urn": "tableau::my-tableau/sheet/a0f461b6-6236-8c90-aaeb-be8218441ada",
                 "name": "Stocks",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
+                "dashboard_urn": "tableau::my-tableau/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
                 "properties": {
                     "attributes": {
                         "id": "a0f461b6-6236-8c90-aaeb-be8218441ada",
@@ -148,10 +148,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/b8b4b90b-783d-663d-2988-72781d4609cb",
+                "urn": "tableau::my-tableau/sheet/b8b4b90b-783d-663d-2988-72781d4609cb",
                 "name": "S\u0026P Returns Vs Conditions",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
+                "dashboard_urn": "tableau::my-tableau/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
                 "properties": {
                     "attributes": {
                         "id": "b8b4b90b-783d-663d-2988-72781d4609cb",
@@ -168,10 +168,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/c997983b-144f-ec1b-6a0f-1dfdeef63a97",
+                "urn": "tableau::my-tableau/sheet/c997983b-144f-ec1b-6a0f-1dfdeef63a97",
                 "name": "Obesity Scatter Plot",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
+                "dashboard_urn": "tableau::my-tableau/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
                 "properties": {
                     "attributes": {
                         "id": "c997983b-144f-ec1b-6a0f-1dfdeef63a97",
@@ -188,10 +188,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/d19fe52f-76db-a243-3381-56c40536dd18",
+                "urn": "tableau::my-tableau/sheet/d19fe52f-76db-a243-3381-56c40536dd18",
                 "name": "S\u0026P Returns by Decade",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
+                "dashboard_urn": "tableau::my-tableau/workbook/d74564cf-931c-2df2-fd8f-8b974fbc0b14",
                 "properties": {
                     "attributes": {
                         "id": "d19fe52f-76db-a243-3381-56c40536dd18",
@@ -273,7 +273,7 @@
     },
     {
         "resource": {
-            "urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+            "urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
             "name": "Superstore",
             "service": "tableau",
             "type": "dashboard",
@@ -281,10 +281,10 @@
         },
         "charts": [
             {
-                "urn": "tableau::https://server.tableau.com/sheet/0421101f-cd87-a6b9-e502-eca8f8e96a3a",
+                "urn": "tableau::my-tableau/sheet/0421101f-cd87-a6b9-e502-eca8f8e96a3a",
                 "name": "CustomerOverview",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "0421101f-cd87-a6b9-e502-eca8f8e96a3a",
@@ -301,10 +301,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/109afef4-0607-b6d2-6219-7a7009a62a4c",
+                "urn": "tableau::my-tableau/sheet/109afef4-0607-b6d2-6219-7a7009a62a4c",
                 "name": "QuotaAttainment",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "109afef4-0607-b6d2-6219-7a7009a62a4c",
@@ -321,10 +321,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/18a57261-20d9-ad1f-50f7-8ce832517257",
+                "urn": "tableau::my-tableau/sheet/18a57261-20d9-ad1f-50f7-8ce832517257",
                 "name": "What If Forecast",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "18a57261-20d9-ad1f-50f7-8ce832517257",
@@ -341,10 +341,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/1cf1a77e-1aa7-82e4-d56f-4df6ef5804f0",
+                "urn": "tableau::my-tableau/sheet/1cf1a77e-1aa7-82e4-d56f-4df6ef5804f0",
                 "name": "Product Detail Sheet",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "1cf1a77e-1aa7-82e4-d56f-4df6ef5804f0",
@@ -361,10 +361,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/2481cc92-cf3b-4547-45c3-62bf55c84193",
+                "urn": "tableau::my-tableau/sheet/2481cc92-cf3b-4547-45c3-62bf55c84193",
                 "name": "CustomerScatter",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "2481cc92-cf3b-4547-45c3-62bf55c84193",
@@ -381,10 +381,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/363b1423-b446-28d1-d18a-f28676f5154b",
+                "urn": "tableau::my-tableau/sheet/363b1423-b446-28d1-d18a-f28676f5154b",
                 "name": "Total Sales",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "363b1423-b446-28d1-d18a-f28676f5154b",
@@ -401,10 +401,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/3d04aec6-e611-f775-de41-ab642f800a8a",
+                "urn": "tableau::my-tableau/sheet/3d04aec6-e611-f775-de41-ab642f800a8a",
                 "name": "Sale Map",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "3d04aec6-e611-f775-de41-ab642f800a8a",
@@ -421,10 +421,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/4d72181d-88d6-3fae-9824-67789cc0cbca",
+                "urn": "tableau::my-tableau/sheet/4d72181d-88d6-3fae-9824-67789cc0cbca",
                 "name": "CommissionProjection",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "4d72181d-88d6-3fae-9824-67789cc0cbca",
@@ -441,10 +441,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/52a3e355-d6c6-d4e3-f5b3-9f5ff7f432b3",
+                "urn": "tableau::my-tableau/sheet/52a3e355-d6c6-d4e3-f5b3-9f5ff7f432b3",
                 "name": "ShipSummary",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "52a3e355-d6c6-d4e3-f5b3-9f5ff7f432b3",
@@ -461,10 +461,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/64984186-af48-7b33-3c8b-e34950d0f8ac",
+                "urn": "tableau::my-tableau/sheet/64984186-af48-7b33-3c8b-e34950d0f8ac",
                 "name": "Sales by Product",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "64984186-af48-7b33-3c8b-e34950d0f8ac",
@@ -481,10 +481,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/74096ebd-7253-292a-b0a7-d8f4c9a617ca",
+                "urn": "tableau::my-tableau/sheet/74096ebd-7253-292a-b0a7-d8f4c9a617ca",
                 "name": "Performance",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "74096ebd-7253-292a-b0a7-d8f4c9a617ca",
@@ -501,10 +501,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/805d5e5e-1129-792c-0581-7f315c43829a",
+                "urn": "tableau::my-tableau/sheet/805d5e5e-1129-792c-0581-7f315c43829a",
                 "name": "ProductDetails",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "805d5e5e-1129-792c-0581-7f315c43829a",
@@ -521,10 +521,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/8c7702e7-3bce-1865-38b2-887ec3d1026a",
+                "urn": "tableau::my-tableau/sheet/8c7702e7-3bce-1865-38b2-887ec3d1026a",
                 "name": "Tooltip: Profit Ratio by City",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "8c7702e7-3bce-1865-38b2-887ec3d1026a",
@@ -541,10 +541,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/90f2fd1c-0ff2-1184-f37d-ebb6a2ac0ac8",
+                "urn": "tableau::my-tableau/sheet/90f2fd1c-0ff2-1184-f37d-ebb6a2ac0ac8",
                 "name": "Forecast",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "90f2fd1c-0ff2-1184-f37d-ebb6a2ac0ac8",
@@ -561,10 +561,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/960d1086-d0af-e4fb-1678-e70fb7b373c5",
+                "urn": "tableau::my-tableau/sheet/960d1086-d0af-e4fb-1678-e70fb7b373c5",
                 "name": "ShippingTrend",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "960d1086-d0af-e4fb-1678-e70fb7b373c5",
@@ -581,10 +581,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/a0073bd9-753c-be7c-d14c-4fdc70383e85",
+                "urn": "tableau::my-tableau/sheet/a0073bd9-753c-be7c-d14c-4fdc70383e85",
                 "name": "OTE",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "a0073bd9-753c-be7c-d14c-4fdc70383e85",
@@ -601,10 +601,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/ae2f7cbc-c788-1f4f-12d5-810f9c8be43a",
+                "urn": "tableau::my-tableau/sheet/ae2f7cbc-c788-1f4f-12d5-810f9c8be43a",
                 "name": "CustomerRank",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "ae2f7cbc-c788-1f4f-12d5-810f9c8be43a",
@@ -621,10 +621,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/c00babfb-1189-fe5c-b1bd-e8313f807b5c",
+                "urn": "tableau::my-tableau/sheet/c00babfb-1189-fe5c-b1bd-e8313f807b5c",
                 "name": "Sales",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "c00babfb-1189-fe5c-b1bd-e8313f807b5c",
@@ -641,10 +641,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/cae8a658-437f-af6e-5725-4c8a355bc2c3",
+                "urn": "tableau::my-tableau/sheet/cae8a658-437f-af6e-5725-4c8a355bc2c3",
                 "name": "DaystoShip",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "cae8a658-437f-af6e-5725-4c8a355bc2c3",
@@ -661,10 +661,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/e2b10503-01ce-aa3c-1dc0-a4200eedd98b",
+                "urn": "tableau::my-tableau/sheet/e2b10503-01ce-aa3c-1dc0-a4200eedd98b",
                 "name": "Sales by Segment",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "e2b10503-01ce-aa3c-1dc0-a4200eedd98b",
@@ -681,10 +681,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/f5981591-d5c1-8842-5edf-845d121c0afa",
+                "urn": "tableau::my-tableau/sheet/f5981591-d5c1-8842-5edf-845d121c0afa",
                 "name": "ProductView",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
+                "dashboard_urn": "tableau::my-tableau/workbook/e1f0aab7-e3ff-8727-8461-4d4294e220f0",
                 "properties": {
                     "attributes": {
                         "id": "f5981591-d5c1-8842-5edf-845d121c0afa",
@@ -751,17 +751,17 @@
     },
     {
         "resource": {
-            "urn": "tableau::https://server.tableau.com/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
+            "urn": "tableau::my-tableau/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
             "name": "InMail Engagement",
             "service": "tableau",
             "type": "dashboard"
         },
         "charts": [
             {
-                "urn": "tableau::https://server.tableau.com/sheet/3250190d-e1f8-3e1e-e43e-3485ea87990e",
+                "urn": "tableau::my-tableau/sheet/3250190d-e1f8-3e1e-e43e-3485ea87990e",
                 "name": "Best Day to Send InMails",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
+                "dashboard_urn": "tableau::my-tableau/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
                 "properties": {
                     "attributes": {
                         "id": "3250190d-e1f8-3e1e-e43e-3485ea87990e",
@@ -778,10 +778,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/3b839abb-791b-8399-82a2-59915f9209be",
+                "urn": "tableau::my-tableau/sheet/3b839abb-791b-8399-82a2-59915f9209be",
                 "name": "Number of InMail Sent",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
+                "dashboard_urn": "tableau::my-tableau/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
                 "properties": {
                     "attributes": {
                         "id": "3b839abb-791b-8399-82a2-59915f9209be",
@@ -798,10 +798,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/3ec1ba6c-c8dd-7641-45e4-a2b2154d0052",
+                "urn": "tableau::my-tableau/sheet/3ec1ba6c-c8dd-7641-45e4-a2b2154d0052",
                 "name": "Tooltip: volume InMail sent vs accepted by weekday",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
+                "dashboard_urn": "tableau::my-tableau/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
                 "properties": {
                     "attributes": {
                         "id": "3ec1ba6c-c8dd-7641-45e4-a2b2154d0052",
@@ -818,10 +818,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/447bed17-7fb7-23c9-6207-78ed4c8bf769",
+                "urn": "tableau::my-tableau/sheet/447bed17-7fb7-23c9-6207-78ed4c8bf769",
                 "name": "InMail Response Rate",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
+                "dashboard_urn": "tableau::my-tableau/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
                 "properties": {
                     "attributes": {
                         "id": "447bed17-7fb7-23c9-6207-78ed4c8bf769",
@@ -838,10 +838,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/514b6c67-f4a2-70e9-5fbb-c7ba97477532",
+                "urn": "tableau::my-tableau/sheet/514b6c67-f4a2-70e9-5fbb-c7ba97477532",
                 "name": "Tooltip: volume InMail sent vs accepted by time of day and weekday",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
+                "dashboard_urn": "tableau::my-tableau/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
                 "properties": {
                     "attributes": {
                         "id": "514b6c67-f4a2-70e9-5fbb-c7ba97477532",
@@ -858,10 +858,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/881c5f1c-05c0-cccb-c778-0e9315d4d28f",
+                "urn": "tableau::my-tableau/sheet/881c5f1c-05c0-cccb-c778-0e9315d4d28f",
                 "name": "InMail response rate by time of day",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
+                "dashboard_urn": "tableau::my-tableau/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
                 "properties": {
                     "attributes": {
                         "id": "881c5f1c-05c0-cccb-c778-0e9315d4d28f",
@@ -878,10 +878,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/98e3c68b-3d72-4522-99e3-82e62ae6943f",
+                "urn": "tableau::my-tableau/sheet/98e3c68b-3d72-4522-99e3-82e62ae6943f",
                 "name": "All Team Memeber Engagement",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
+                "dashboard_urn": "tableau::my-tableau/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
                 "properties": {
                     "attributes": {
                         "id": "98e3c68b-3d72-4522-99e3-82e62ae6943f",
@@ -898,10 +898,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/9b98ebfa-f333-c487-4e39-8edf047499fa",
+                "urn": "tableau::my-tableau/sheet/9b98ebfa-f333-c487-4e39-8edf047499fa",
                 "name": "Weekday by time of day response rate heatmap",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
+                "dashboard_urn": "tableau::my-tableau/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
                 "properties": {
                     "attributes": {
                         "id": "9b98ebfa-f333-c487-4e39-8edf047499fa",
@@ -918,10 +918,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/a3edae7b-a14f-69f7-c126-3cdcc0fc6427",
+                "urn": "tableau::my-tableau/sheet/a3edae7b-a14f-69f7-c126-3cdcc0fc6427",
                 "name": "Best Time to Send InMails",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
+                "dashboard_urn": "tableau::my-tableau/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
                 "properties": {
                     "attributes": {
                         "id": "a3edae7b-a14f-69f7-c126-3cdcc0fc6427",
@@ -938,10 +938,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/a91805a6-403c-6797-caca-d5aa14ffa136",
+                "urn": "tableau::my-tableau/sheet/a91805a6-403c-6797-caca-d5aa14ffa136",
                 "name": "InMail Response Rate Timeline",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
+                "dashboard_urn": "tableau::my-tableau/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
                 "properties": {
                     "attributes": {
                         "id": "a91805a6-403c-6797-caca-d5aa14ffa136",
@@ -958,10 +958,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/c5ddca41-13eb-a01a-0072-6aef8f1dd57b",
+                "urn": "tableau::my-tableau/sheet/c5ddca41-13eb-a01a-0072-6aef8f1dd57b",
                 "name": "Tooltip: volume InMail sent vs accepted by time of day",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
+                "dashboard_urn": "tableau::my-tableau/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
                 "properties": {
                     "attributes": {
                         "id": "c5ddca41-13eb-a01a-0072-6aef8f1dd57b",
@@ -978,10 +978,10 @@
                 }
             },
             {
-                "urn": "tableau::https://server.tableau.com/sheet/e8bde842-c7bc-57a0-8138-251190f520b1",
+                "urn": "tableau::my-tableau/sheet/e8bde842-c7bc-57a0-8138-251190f520b1",
                 "name": "InMail response by weekday",
                 "source": "tableau",
-                "dashboard_urn": "tableau::https://server.tableau.com/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
+                "dashboard_urn": "tableau::my-tableau/workbook/d7db01c0-b311-6f47-31bf-ad1c42e67629",
                 "properties": {
                     "attributes": {
                         "id": "e8bde842-c7bc-57a0-8138-251190f520b1",