By “custom visualizations” I’m presuming that you mean chart types that are beyond the basic set of mark types and what Tableau enables through Show Me. Typically in Tableau we build most of those through a combination of data preparation and using existing mark types, for example using polygon marks for Sankey charts.
In addition Tableau provides several APIs:
- extract API for creating Tableau data extracts (a highly compressed, columnar storage format)
- REST API for interacting with Tableau Server/Online to add/remove users, workbooks, etc.
- Extensions API (for release in 2018.2) is an evolution of the JS API enabling a deeper integration, extensions will also run within Tableau Desktop.