Ready to get started?

Connect to live data from Todoist with the API Driver

Connect to Todoist

Visualize Todoist Data in Tableau



The CData ODBC driver for Todoist enables you integrate Todoist data into Tableau dashboards.

The CData ODBC Driver for Todoist enables you to access live Todoist data in business intelligence tools like Tableau. In this article, you will integrate Todoist data into a dashboard that reflects changes to Todoist data in real time.

The CData ODBC drivers offer unmatched performance for interacting with live Todoist data in Tableau due to optimized data processing built into the driver. When you issue complex SQL queries from Tableau to Todoist, the driver pushes supported SQL operations, like filters and aggregations, directly to Todoist and utilizes the embedded SQL engine to process unsupported operations (often SQL functions and JOIN operations) client-side. With built-in dynamic metadata querying, you can visualize and analyze Todoist data using native Tableau data types.

Connect to Todoist as an ODBC Data Source

If you have not already, first specify connection properties in an ODBC DSN (data source name). This is the last step of the driver installation. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs.

Start by setting the Profile connection property to the location of the Todoist Profile on disk (e.g. C:\profiles\Todoist.apip). Next, set the ProfileSettings connection property to the connection string for Todoist (see below).

Todoist API Profile Settings

To authenticate to Todoist, and connect to your own data or to allow other users to connect to their data, you can use the OAuth standard.

First, you will need to register an OAuth application with Todoist. To do so, go to App Management Console, create a new application and configure a valid OAuth redirect URL. Your Oauth application will be assigned a client id and a client secret.

After setting the following connection properties, you are ready to connect:

  • AuthScheme: Set this to OAuth.
  • InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to manage the process to obtain the OAuthAccessToken.
  • OAuthClientId: Set this to the client_id that is specified in you app settings.
  • OAuthClientSecret: Set this to the client_secret that is specified in you app settings.
  • CallbackURL: Set this to the Redirect URI that is specified in your app settings

When you configure the DSN, you may also want to set the Max Rows connection property. This will limit the number of rows returned, which is especially helpful for improving performance when designing reports and visualizations.

Add Todoist Data to a Dashboard

  1. Click Connect to Data -> More Servers -> Other Databases (ODBC).
    Select the CData Data Source Name (for example: CData API Source).
  2. In the Database menu, select CData.
  3. In the Table box, enter a table name or click New Custom SQL to enter an SQL query. This article retrieves the Tasks table.
  4. Drag the table onto the join area. At this point, you can include multiple tables, leveraging the built-in SQL engine to process complex data requests.
  5. In the Connection menu, select the Live option, so that you skip loading a copy of the data into Tableau and instead work on real-time data. The optimized data processing native to CData ODBC drivers enables unmatched performance in live connectivity.
  6. Click the tab for your worksheet. Columns are listed as Dimensions and Measures, depending on the data type. The CData driver discovers data types automatically, allowing you to leverage the powerful data processing and visualization features of Tableau.
  7. Drop the Id column in the Dimensions pane onto the dashboard. When you select dimensions, Tableau builds a query to the driver. The results are grouped based on that dimension. In Tableau, the raw query is automatically modified as you select dimensions and measures.
  8. Drag the Priority column in the Measures field onto the Detail and Color buttons. Tableau executes the following query:

    SELECT Id, SUM(Priority) FROM Tasks GROUP BY Id

    When you select a measure, Tableau executes a command to the driver to calculate a summary function, such as SUM, AVG, etc., on the grouped values. The SQL engine (embedded within the driver) is leveraged to process the aggregation of the data, where needed, providing a seamless experience in Tableau, regardless of the data source.

    To change the summary function, open the Priority menu and select the summary you want in the Measure command.

  9. You can create other charts using dimensions and measures to build SQL queries visually:

With the CData ODBC Driver for Todoist, you get live connectivity to your Todoist data, allowing you to build real-time charts, graphs, and more.