TableauSharp is a .NET SDK that provides a clean, developer-friendly abstraction over Tableau’s REST API. It simplifies authentication, user/group management, workbooks, permissions, and embedding for .NET developers.
- Authentication (Personal Access Token or Username/Password)
- User & Group Management (CRUD operations, role assignments)
- Project Management (create, update, organize)
- Workbooks & Views (fetch, export, publish)
- Data Sources (list, refresh, permissions)
- Permissions API (assign/revoke capabilities, sync with external systems)
- Embedding Support (trusted tickets, URL helpers)
- Common Models & Utilities (strongly typed POCOs, pagination, error handling)
Coming soon to NuGet:
dotnet add package TableauSharpFor now, clone the repository:
git clone https://github.com/teesofttech/TableauSharp.gitAdd your Tableau settings in appsettings.json:
{"Tableau":{"ServerUrl": "https://your-tableau-server", "SiteContentUrl": "yoursite", "PersonalAccessTokenName": "your-token-name", "PersonalAccessTokenSecret": "your-token-secret", "UsePAT": true } }Register TableauSharp in Program.cs (or Startup.cs):
usingTableauSharp.Common.Models;usingTableauSharp.Extensions;varbuilder=WebApplication.CreateBuilder(args);// Bind Tableau settingsbuilder.Services.Configure<TableauAuthOptions>(builder.Configuration.GetSection("Tableau"));// Register Tableau servicesbuilder.Services.AddTableauSharp();varapp=builder.Build();publicclassWorkbooksController:ControllerBase{privatereadonlyIWorkbookService_workbookService;publicWorkbooksController(IWorkbookServiceworkbookService){_workbookService=workbookService;}[HttpGet("workbooks")]publicasyncTask<IActionResult>GetWorkbooks(){varworkbooks=await_workbookService.GetAllAsync();returnOk(workbooks);}}TableauSharp/ ├── Auth/ # Authentication services ├── Users/ # User & Group management ├── Workbooks/ # Workbooks and Views ├── DataSources/ # Data sources ├── Projects/ # Project management ├── Permissions/ # Permissions management ├── Embedding/ # Trusted tickets and embedding └── Common/ # Shared models, enums, utilities - Authentication
- Fetch workbooks & export views
- Basic permissions support
- Full CRUD for users, groups, projects
- Data source refresh
- Permissions sync API
- Embedding support
- Webhooks and Metadata API
- CLI tooling
- Comprehensive docs & samples
Contributions are welcome! Please fork the repo and submit a pull request.
MIT License. See LICENSE for details.