Skip to content


Repository files navigation


Author: Stephen Bailey (

This is a Singer tap for that produces JSON-formatted data following the Singer spec.

It can generate a catalog of available data in teamwork and extract the following resources:

  • Projects
  • Project updates
  • Project milestones
  • Project risks
  • Latest project activity
  • People
  • Tags

Quick Start

  1. Install
git clone
cd tap-teamwork
pip install .
  1. Get an API key from Teamwork's website.

  2. Create the config file.

There is a template you can use at config.json.example, just copy it to config.json in the repo root and insert your token

  1. Run the application to generate a catalog.
tap-teamwork -c config.json --discover > catalog.json
  1. Select the tables you'd like to replicate

Step 4 generates a a file called catalog.json that specifies all the available endpoints and fields. You'll need to open the file and select the ones you'd like to replicate. See the Singer guide on Catalog Format for more information on how tables are selected.

  1. Run it!
tap-teamwork -c config.json --catalog catalog.json


Would like to acknowledge the folks at Fishtown Analytics whose tap-framework and tap-lever packages formed the foundation for this package.

Copyright © 2020 Immuta