Asana Collect Slice

Overview

Asana is a project management tool that helps teams track their tasks and projects.

The Datacoral Asana slice collects data from an Asana account and enables data flow from an Asana workspace into a data warehouse, such as Redshift. For workspaces with a high number of tasks, use of the Asana Premium slice is recommended to fetch only changed tasks.

Steps to add this slice to your installation

The steps to launch your slice are:

  1. Generate Asana API keys
  2. Specify the slice config
  3. Add the Asana slice

1. Generate Asana API keys

Setup requirements

Before getting started please make sure to have the following information:

  • Access to an active Asana account

Setup instructions

The Asana slice requires an auth token to collect data. An auth token can be obtained from Asana through the following steps:

  1. Click on your initials in the right top corner of the Asana navigation banner and access "Admin Console"
  2. In the left sidebar menu, navigate to Apps > Service accounts.
  3. Click on "Add Service Account".
  4. Provide a name for the token, like "datacoral" and copy the Token
  5. Click on "Save Changes"

2. Specify the slice config

To get a template for the Asana slice configuration save the output of the describe --input-parameters command as follows:

datacoral collect describe --slice-type asana \
--input-parameters > asana_parameters_file.json

Example template:

{
"auth_token": "test_token"
}

Modify the asana_parameters_file file to add the auth_token generated from Asana

3. Add the Slice

datacoral collect add --slice-type asana --slice-name <slice-name> --parameters-file <params-file>
  • slice-name Name of your slice. A schema with your slice-name is automatically created in your warehouse
  • params-file File path to your input parameters file. Ex. asana_parameters_file.json

Supported load units

The Asana slice automatically collects the following loadunits from the Asana API and makes them available in your warehouse for analysis.

  • workspaces: captures all the attributes for workspaces that anchors all data within Asana
  • projects: captures all the attributes for projects within a workspace
  • project_members: represents all members associated with a project projects. This information is derived from the project members array
  • project_current_status: represents the status of the project projects as of the load time. This loadunit is intended to be loaded incrementally to the destination table for historical views
  • project_sections: represents all sections associated with a project projects. This information is derived from the project sections array
  • sections: represents the sections. This slice will extract all section data upon execution.
  • stories: represents the stories. This slice will extract all story data upon execution.
  • task_stories: represents the task stories associated with tasks.
  • tasks: represents the core object of Asana, tasks. This slice will extract all task data upon execution. Use of AsanaPremium is recommended for for large workspaces, which enables incremental pull of updated tasks.
  • task_custom_fields: represents the custom fields associated with tasks
  • task_memberships: represents the sections and projects that a task belongs to
  • workspace_projects & project_tasks are intermediate loadunits used to extract related data from Asana.

Slice output

Output of this slice is stored in S3 and Redshift.

AWS S3 Data stored in AWS S3 is partitioned by date and time s3://datacoral-data-bucket/<slice-name>

AWS Redshift: Schema - schema name will be same as a slice-name. Tables produced by the slice are:

- schema.workspaces
- schema.workspace_projects
- schema.projects
- schema.project_tasks
- schema.project_current_status
- schema.project_members
- schema.project_sections
- schema.sections
- schema.stories
- schema.tasks
- schema.task_custom_fields
- schema.task_memberships
- schema.task_stories

Questions? Interested?

If you have questions or feedback, feel free to reach out at hello@datacoral.co or Request a demo