How to Get Workbook ID in Tableau
Trying to find a specific Workbook ID in Tableau can feel like a scavenger hunt, especially when you need it for an automation script or to embed a dashboard. Luckily, once you know where to look, it’s a straightforward process. This guide will walk you through a few different ways to locate your Tableau Workbook ID, from the simple and quick URL method to more powerful programmatic approaches.
Why Do You Need a Workbook ID Anyway?
Before jumping into the "how," it's helpful to understand "why." A Workbook ID is Tableau's unique identifier for a specific workbook file (.twb or .twbx) published on Tableau Server or Tableau Cloud. Think of it as a social security number for your workbook. You'll typically need this ID for a few key reasons:
- Automation with the REST API: If you're building scripts to manage your Tableau content, the Workbook ID is essential. You'll use it to programmatically refresh data extracts, update workbook details, manage user permissions, download backups, or delete old content.
- Embedding Views: When embedding a Tableau view into a custom web application, portal, or website, the URL you use often requires the Workbook ID to correctly point to the right container for the view you want to display.
- Troubleshooting and Administration: As a Tableau admin, having the unique ID can help you reference a specific workbook in logs or administrative tasks, ensuring you’re working with the correct asset, especially in environments with thousands of similarly named workbooks.
- Navigating via URL: You can create direct links to specific workbooks without having to navigate through project folders. If you know the workbook ID, you can construct a URL to send a stakeholder directly to an important dashboard.
Method 1: The Easiest Way - Grab it From the URL
For most day-to-day needs, the quickest and easiest way to find a Workbook ID is by simply looking at the URL in your browser's address bar. You don't need any special permissions beyond being able to view the workbook itself.
Here’s how to do it step-by-step:
- Log in to your Tableau Server or Tableau Cloud instance.
- Navigate to the project and click on the workbook you’re interested in. Do not click on a specific view or dashboard within the workbook just yet. Click on the workbook name itself so you land on its main page where it lists all the available views.
- Now, look at the URL in your browser's address bar. It will follow a specific structure.
The URL typically looks like this:
In this structure:
your-tableau-server.comis the address of your Tableau Server or Cloud instance.YourSiteNameis the name of the site you're working in.12345678-abcd-9012-efgh-345678901234is your Workbook ID.
That long alphanumeric string located directly after /workbooks/ is what you're looking for. It's a universally unique identifier (UUID) that won't be shared with any other workbook. Just copy that string, and you're good to go.
Free PDF · the crash course
AI Agents for Marketing Crash Course
Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.
A Quick Note: Workbook ID vs. View ID
One of the most common points of confusion is mixing up the Workbook ID and the View ID. They are not the same thing.
- The Workbook ID points to the entire workbook file.
- The View ID points to a single sheet, dashboard, or story within that workbook.
If you click directly into a specific dashboard named "Sales Performance," for example, your URL will change slightly and will now contain both the Workbook ID and the View ID:
In this case, the part after /views/ might be the original name of the view (e.g., SalesPerformanceDashboard) or another UUID if you're using Tableau's Sharing link feature. The Workbook ID, however, remains the same and is consistently found right after /workbooks/. Make sure you grab the right one for your needs.
Method 2: Using the Tableau REST API
If you need to get Workbook IDs for many workbooks or as part of an automated process, using the Tableau REST API is the way to go. This approach is more technical and suitable for developers, data engineers, or Tableau site administrators.
Prerequisites
To use the REST API, you'll need:
- A PAT (Personal Access Token) or username/password to authenticate.
- Permissions to access the API and the workbooks you want to query.
- An API client like Postman, or a scripting language like Python with a library such as
requeststo make HTTP requests.
Step-by-Step API Process
Here’s the general workflow for finding a Workbook ID using the REST API:
1. Sign In (Authenticate)
First, you need to sign in to your Tableau Server/Cloud instance to get an authentication token and your Site ID, which you'll need for subsequent requests. You send a POST request to the authentication endpoint.
Endpoint:
POST /api/api-version/auth/signin
Request Body (Example):
<tsRequest> <credentials personalAccessTokenName="YourTokenName" personalAccessTokenSecret="YourTokenValue"> <site contentUrl="YourSiteName" /> </credentials> </tsRequest>
The response will contain your authentication token (credentials token) and the ID for your site (site id). Store these values, as you'll need them for the next step.
2. Query Workbooks for a Site
Once you are authenticated, you can ask the API for a list of all workbooks on your site. For this, you use the "Query Workbooks for Site" endpoint with a GET request.
Endpoint:
GET /api/api-version/sites/{site-id}/workbooks
Replace {site-id} with the Site ID you got from the sign-in response. Don't forget to include your authentication token in the request headers (e.g., X-Tableau-Auth: Your-Token-Here).
3. Find Your Workbook in the Response
The API response will be a JSON or XML payload containing a list of all workbooks you have permission to see on that site. Each workbook object in the list will include its name, ID, project it belongs to, and other metadata. You can parse this response to find the ID corresponding to the workbook name you're looking for.
A partial response in JSON might look like this:
{
"workbooks": {
"workbook": [
{
"id": "12345678-abcd-9012-efgh-345678901234",
"name": "Global Sales Dashboard",
"contentUrl": "GlobalSalesDashboard"
},
{
"id": "fedcba98-7654-3210-aaaa-bbbbccccdddd",
"name": "Marketing Campaign Performance",
"contentUrl": "MarketingCampaignPerformance"
}
]
}
}Here, you can easily match the "name" with the "id".
Pro Tip: Filter Your API Request
Requesting all workbooks can return a huge list on a busy Tableau site. To make your request more efficient, you can filter it directly in the URL parameter. For example, to find a workbook named "Global Sales Dashboard":
Filtered Endpoint:
GET /api/api-version/sites/{site-id}/workbooks?filter=name:eq:Global Sales Dashboard
This request will return only the information for that specific workbook, making it much faster and easier to extract the ID you need.
Method 3: Using the Metadata API (GraphQL)
Another powerful, programmatic method is using Tableau's Metadata API, which is based on GraphQL. This API is designed to help you discover and understand the data in your Tableau environment — how dashboards, workbooks, data sources, and fields are all related. It's often faster for specific queries than the REST API.
Free PDF · the crash course
AI Agents for Marketing Crash Course
Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.
How to Use It
Most Tableau Cloud sites and newer Tableau Server versions have a built-in GraphQL editor (GraphiQL) you can use to test queries directly in your browser. You can typically find it at https://your-tableau-server.com/metadata/graphiql/.
Unlike the REST API, where you get a predefined structure in your response, GraphQL lets you specify exactly the fields you want. To get the name and ID for all workbooks, you can use a simple query like this:
Example GraphQL Query:
query AllWorkbooks { workbooks { id name projectName } }
Run this query in the GraphiQL editor, and it will return a clean JSON object with only the fields you asked for: id, name, and projectName.
Just like with the REST API, you can also filter your query to find a specific workbook by its name:
query SpecificWorkbook { workbooks(filter: {name: "Global Sales Dashboard"}) { id name } }
This method is fantastic for discovery and for building applications that need to understand the relationships between different assets in your Tableau environment, not just fetch their IDs.
Final Thoughts
Whether you need to grab an ID for a quick embedding task or build a complex automation script, Tableau provides several ways to find a Workbook ID. The URL method is perfect for quick, one-off cases, while the REST and Metadata APIs offer the power and flexibility needed for programmatic access and large-scale administrative tasks.
Hunting for IDs, setting up API calls, and wrestling with embedding code is often part of the manual grind that makes data reporting feel disconnected from actual decision-making. At Graphed, we focus on eliminating that friction. Instead of manually connecting reports or building scripts, you can simply connect your data sources - like Google Analytics, Salesforce, or Shopify - and use plain English to create and explore real-time dashboards. With Graphed, the goal is to get you straight to insights without getting lost in the technical mechanics of reporting tools.
Related Articles
How to Create Facebook Ads API for Claude Code
Create a Meta Marketing API access token that never expires, using a system user, so Claude Code can pull Facebook ad reports and manage campaigns.
ClickHouse vs Postgres: When to Switch to Columnar
Comparing ClickHouse vs PostgreSQL means matching storage architecture to workload. Row storage wins for transactions. Columnar wins for scan-heavy analytics.
Google Ads for Orthodontists: Get More Booked Consults
Most orthodontic Google Ads campaigns waste money on low-intent searches. The problem is structure, not the platform.