A comprehensive guide to mastering the Tableau Metadata API using GraphQL queries. This repository contains beginner and intermediate tutorials designed for Tableau users who want to programmatically access metadata about their Tableau Server content.
These tutorials were inspired by Tableau's DataDev community and the DataDevQuest challenges. Explore more data development challenges at datadevquest.com.
Learn the fundamentals of GraphQL queries and basic metadata exploration.
What you'll learn:
- GraphiQL interface basics
- Simple workbook queries
- Filtering with hardcoded values
- Basic relationship navigation
Prerequisites: Basic Tableau knowledge, Server access
Master variables and advanced lineage tracking for governance use cases.
What you'll learn:
- GraphQL variables and dynamic queries
- Data lineage and impact analysis
- Field-level lineage tracking
- Advanced governance workflows
Prerequisites: Complete the beginner tutorial first
- Beginner Video: Tableau Metadata API Tutorial (Beginner)
- Intermediate Video: Tableau Metadata API Tutorial (Intermediate)
- Start with Beginner: Follow the beginner tutorial to learn the basics
- Progress to Intermediate: Continue with intermediate concepts
- Explore Examples: All queries and sample responses are provided
- Join the Community: Use GitHub Issues for questions and discussions
The Tableau Metadata API is a GraphQL-based interface that allows you to query metadata about your Tableau Server content. Unlike REST APIs, GraphQL lets you request exactly the data you need in a single query.
Key Benefits:
- Precise data retrieval - Request only the fields you need
- Relationship navigation - Traverse connections between content
- Powerful filtering - Find specific content with flexible conditions
- Single endpoint - All queries through one GraphQL interface
Content Governance:
- Audit workbooks and data sources
- Track content ownership and permissions
- Monitor usage patterns
Data Lineage:
- Understand dependencies between data sources and workbooks
- Impact analysis before making changes
- Field-level usage tracking
Automation:
- Build custom dashboards about your Tableau environment
- Automate content management tasks
- Generate compliance reports
- Access to Tableau Server (version 2019.3 or later)
- Basic familiarity with Tableau concepts
- Server Admin or Site Admin permissions (recommended)
- Web browser access to your Tableau Server
tableau-metadata-api-tutorials/
├── README.md # This overview
├── beginner/ # Beginner tutorial
│ ├── README.md # Getting started guide
│ ├── queries/ # Basic GraphQL queries
│ ├── examples/ # Sample responses
│ └── screenshots/ # Visual guides
├── intermediate/ # Intermediate tutorial
│ ├── README.md # Variables and lineage
│ ├── queries/ # Advanced queries
│ ├── examples/ # Complex examples
│ └── screenshots/ # Interface demos
├── shared/ # Common resources
│ ├── troubleshooting.md # Common issues
│ ├── graphiql-setup.md # Interface setup
│ └── best-practices.md # Query optimization
Found an error or have a suggestion?
- Issues: Report bugs or request features
- Pull Requests: Submit improvements
- Discussions: Share use cases and tips
Official Documentation:
Community:
- Tableau Developer Community
- DataDevQuest Challenges - More data development exercises and challenges
This project is licensed under the MIT License - see the LICENSE file for details.
Ready to get started? Begin with the beginner tutorial and start exploring your Tableau metadata! 🚀