generate_layout_json
Generate and save a dashboard layout JSON file.
inspect_target_schema
Inspect the first-sheet schema of a target Excel datasource.
profile_twb_for_migration
Profile workbook datasources and worksheet scope before migration.
propose_field_mapping
Scan source and target schema and propose a field mapping.
preview_twb_migration
Preview a workbook migration onto a target datasource.
apply_twb_migration
Apply a workbook migration and write a migrated TWB plus reports.
migrate_twb_guided
Run the built-in migration workflow and pause for warning confirmation when needed.
list_capabilities
List twilize's declared capability boundary.
describe_capability
Describe one declared capability and its support tier.
analyze_twb
Analyze a TWB file against twilize's declared capabilities.
diff_template_gap
Summarize the non-core capability gap of a TWB template.
validate_workbook
Run an informational XSD schema check on a workbook (2026.1 schema).
This is a non-blocking, advisory check only. Tableau Desktop is the
true validator — it routinely produces workbooks that deviate from the
published XSD schema, so deviations reported here do NOT indicate the
workbook is broken. The workbook will almost certainly open correctly
in Tableau regardless of any deviations found.
Args:
file_path: Path to a .twb or .twbx file to check. If omitted,
checks the currently open workbook (in memory).
Returns:
Informational summary of schema deviations (if any).
create_workbook
Create a new workbook from a TWB or TWBX template file.
open_workbook
Open an existing workbook (.twb or .twbx) for in-place worksheet editing.
list_fields
List all available fields in the current workbook datasource.
list_worksheets
List worksheet names in the current workbook.
list_dashboards
List dashboards and their worksheet zones in the current workbook.
undo_last_change
Undo the last mutating operation, restoring the previous workbook state.
add_calculated_field
Add a calculated field to the datasource.
remove_calculated_field
Remove a previously added calculated field.
add_parameter
Add a parameter to the workbook.
add_worksheet
Add a new blank worksheet to the workbook.
configure_chart
Configure chart type and field mappings for a worksheet.
configure_dual_axis
Configure a dual-axis chart composition.
configure_worksheet_style
Apply worksheet-level styling: background color, axis/grid/border visibility.
configure_chart_recipe
Configure a showcase recipe chart through the shared recipe registry.
set_mysql_connection
Configure the workbook datasource to use a local MySQL connection.
set_tableauserver_connection
Configure the workbook datasource to use a Tableau Server connection.
set_hyper_connection
Configure the workbook datasource to use a local Hyper extract connection.
set_mssql_connection
Configure the workbook datasource to use a Microsoft SQL Server connection.
add_dashboard
Create a dashboard combining multiple worksheets.
add_dashboard_action
Add an interaction action to a dashboard.
add_reference_line
Add a reference line to a worksheet (constant, average, median, etc.).
add_reference_band
Add a reference band (shaded region) to a worksheet.
add_trend_line
Add a trend line to a worksheet (linear, polynomial, log, exp, power).
apply_color_palette
Set a custom color palette. Built-in: tableau10, tableau20, blue-red, green-gold.
apply_dashboard_theme
Apply uniform styling (background, font) to all zones in a dashboard.
save_workbook
Save the workbook as a TWB file. Use a .twbx extension to produce a
packaged workbook (ZIP) that bundles the XML with any data extracts and
images carried over from the source .twbx.
inspect_csv
Inspect a CSV file and return its inferred schema with column classification.
Reads the CSV, infers column types (integer, float, date, boolean, string),
classifies columns as dimensions or measures with semantic types
(categorical, temporal, geographic, numeric), and returns a summary.
Args:
csv_path: Path to the CSV file.
sample_rows: Number of rows to sample for type inference.
encoding: File encoding (default utf-8).
Returns:
Human-readable schema summary with dimensions, measures, and types.
suggest_charts_for_csv
Suggest chart types and configurations for a CSV file.
Analyzes the data shape (dimensions, measures, temporal fields, etc.)
and returns prioritized chart suggestions with shelf assignments.
Args:
csv_path: Path to the CSV file.
max_charts: Maximum number of charts to suggest (0 = use dashboard_rules.yaml default).
sample_rows: Rows to sample for inference.
rules_yaml: Optional YAML string with dashboard rules overrides (e.g. KPI formatting, chart limits).
Returns:
Formatted suggestion list with chart types, shelf assignments, and reasoning.
csv_to_hyper
Convert a CSV file to a Tableau Hyper extract.
Infers column types and creates a .hyper file that can be used
as a data source in Tableau workbooks.
Requires tableauhyperapi (pip install tableauhyperapi).
Args:
csv_path: Path to the source CSV file.
hyper_path: Output path for the .hyper file.
table_name: Table name inside the Hyper file.
sample_rows: Rows to sample for type inference.
Returns:
Confirmation with row and column counts.
csv_to_dashboard
Build a complete Tableau dashboard from a CSV file (end-to-end).
Pipeline: CSV → schema inference → chart suggestion → Hyper extract →
workbook creation → chart configuration → dashboard layout → .twbx output.
Args:
csv_path: Path to the source CSV file.
output_path: Output .twbx path (defaults to <csv_stem>_dashboard.twbx).
dashboard_title: Dashboard title (derived from filename if empty).
max_charts: Maximum number of charts (0 = use dashboard_rules.yaml default).
template_path: TWB template path (empty for default template).
theme: Theme preset name (empty = use dashboard_rules.yaml default).
Options: modern-light, modern-dark, classic, minimal, vibrant.
rules_yaml: Optional YAML string with dashboard rules overrides.
Example: "kpi:\n font_size: 32\n max_kpis: 3"
Returns:
Summary of the created dashboard with file path.
inspect_hyper
Inspect a Hyper extract file and return its schema with column classification.
Reads the Hyper file, maps column types, classifies columns as
dimensions or measures, and returns a summary.
Requires tableauhyperapi (pip install tableauhyperapi).
Args:
hyper_path: Path to the .hyper file.
table_name: Specific table to inspect (empty = first table).
Returns:
Human-readable schema summary with dimensions, measures, and types.
hyper_to_dashboard
Build a complete Tableau dashboard from a Hyper extract file (end-to-end).
Pipeline: Hyper → schema inference → chart suggestion →
workbook creation → chart configuration → dashboard layout → .twbx output.
Args:
hyper_path: Path to the .hyper file.
output_path: Output .twbx path (defaults to <hyper_stem>_dashboard.twbx).
dashboard_title: Dashboard title (derived from filename if empty).
max_charts: Maximum number of charts (0 = use rules default).
template_path: TWB template path (empty for default template).
table_name: Table name inside the Hyper file (empty = first table).
theme: Theme preset name (empty = use rules default).
rules_yaml: Optional YAML string with dashboard rules overrides.
Returns:
Summary of the created dashboard with file path.
mysql_to_dashboard
Build a Tableau dashboard from a MySQL table (end-to-end).
Pipeline: MySQL → schema inference → chart suggestion →
workbook creation → live MySQL connection → .twb output.
Requires mysql-connector-python for schema inference.
Args:
server_host: MySQL server hostname.
dbname: Database name.
table_name: Table to visualize.
username: Database username.
password: Database password (used for schema inference only;
not stored in the workbook).
port: Server port (default 3306).
output_path: Output .twb path (defaults to <table>_dashboard.twb).
dashboard_title: Dashboard title.
max_charts: Maximum charts (0 = use rules default).
template_path: TWB template path.
theme: Theme preset name.
rules_yaml: Optional YAML string with dashboard rules overrides.
Returns:
Summary of the created dashboard with file path.
mssql_to_dashboard
Build a Tableau dashboard from a Microsoft SQL Server table (end-to-end).
Pipeline: MSSQL → schema inference → chart suggestion →
workbook creation → live MSSQL connection → .twb output.
Requires pyodbc for schema inference and ODBC Driver 17 for SQL Server.
Args:
server_host: MSSQL server hostname.
dbname: Database name.
table_name: Table to visualize.
username: Database username (ignored if trusted_connection=True).
password: Database password (used for schema inference only).
port: Server port (default 1433).
trusted_connection: Use Windows Authentication instead of SQL auth.
output_path: Output .twb path (defaults to <table>_dashboard.twb).
dashboard_title: Dashboard title.
max_charts: Maximum charts (0 = use rules default).
template_path: TWB template path.
theme: Theme preset name.
rules_yaml: Optional YAML string with dashboard rules overrides.
Returns:
Summary of the created dashboard with file path.
get_active_rules
Return the active dashboard creation rules.
Call this at the start of a session to understand what constraints
are enforced. The rules engine validates every configure_chart and
add_dashboard call — violations are returned as errors or warnings.
Returns:
Human-readable summary of all active rules.
set_rule
Set a specific rule value in the active dashboard rules.
This allows admins to modify rules at runtime without editing YAML files.
Changes persist for the current session and can be exported with export_rules().
Args:
section: Rule section name. Options:
"kpi" — KPI formatting (font_size, font_color, bold, row_height, max_kpis, default_format)
"charts" — Chart defaults (max_charts, theme, bar_top_n, pie_max_slices)
"layout" — Layout settings (width, height, background_color, card_background)
"bar_chart_rules" — Bar chart enforcement
"theme_rules" — Theme enforcement
"map_rules" — Map chart enforcement
key: The specific setting to change.
Examples: "font_size", "max_charts", "theme", "background_color", "default_format"
value: New value (string — will be auto-parsed to int/float/bool as needed).
Examples: "28", "modern-dark", "#2D2D2D", "true", "$#,##0.00"
Returns:
Confirmation of the change or error message.
reset_rules
Reset all rules to the built-in defaults.
Discards any runtime changes made via set_rule() and reloads
the default rules from the package YAML file.
Returns:
Confirmation message.
export_rules
Export the current active rules to a YAML file.
Saves the complete rules (including any runtime changes from set_rule())
to a YAML file that can be placed next to data files or in the
working directory for future sessions.
Args:
output_path: Path to save the YAML file. Defaults to
./dashboard_rules.yaml in the current working directory.
Returns:
Path to the saved file and summary.
profile_data_source
Profile the currently connected data source.
Works for ANY connection type: CSV extract, Hyper, MySQL, Tableau
Server, Excel — anything that has fields in the workbook. The
profile includes dimension/measure classification, semantic types,
domain hints, and boolean signals that guide chart and template
selection.
Args:
source_type: Override source detection. Usually "auto" which
inspects the workbook fields. Other options:
"csv", "hyper" (requires separate file path tools).
Returns:
Human-readable DataProfile with signals for template/chart decisions.
profile_csv
Profile a CSV file before connecting it.
Unlike profile_data_source (which needs an active workbook),
this tool profiles a raw CSV file directly.
Args:
csv_path: Path to the CSV file.
sample_rows: Number of rows to sample for type inference.
Returns:
Human-readable DataProfile.
recommend_template
Score all gallery templates and recommend the best fit.
Call this AFTER profiling the data source and deciding on chart
types, but BEFORE creating the dashboard layout. The decider
evaluates every template in the gallery against the data profile
and chart mix, returning a ranked list with reasoning.
Args:
chart_types: Comma-separated list of chart mark_types being built.
Example: "Bar,Line,Text,Text,Map"
If omitted, uses only the data profile signals.
kpi_count: Override KPI count (else derived from chart_types).
Returns:
Ranked template recommendations with scores and reasoning.
recommend_template_for_csv
Recommend templates for a CSV file (no active workbook needed).
Args:
csv_path: Path to the CSV file.
chart_types: Comma-separated chart types (optional).
sample_rows: Rows to sample for inference.
Returns:
Ranked template recommendations.
list_gallery_templates
List all templates in the gallery with suitability rules.
Templates are user-editable YAML files in ``templates/gallery/``.
Each template defines layout zones, suitability criteria, recommended
themes, and auto-wired interaction actions.
Returns:
Formatted listing of all gallery templates.