Skip to main content
This page describes how to configure the Asana connector component as part of a data pipeline within . The Asana component uses the Connect and Configure parameters to create a table of Asana data, which is then stored in your preferred storage location (Snowflake, Databricks, Amazon Redshift, or cloud storage). You do not need to use the Create Table component when using this connector, as the Asana component will create a new table or replace an existing table for you using the Destination parameters you define. The Asana connector is a Flex connector. In , Flex connectors let you connect to a curated set of endpoints to load data. You can use the Asana connector in its preconfigured state, or you can edit the connector by adding or amending available Asana endpoints as per your use case. You can edit Flex connectors in the Custom Connector user interface. For detailed information about authentication, specific endpoint parameters, pagination, and more aspects of the Asana API, read the Asana API documentation.

Properties

Reference material is provided below for the Connect, Configure, Destination, and Advanced Settings properties.
Name
string
required
A human-readable name for the component.

Connect

Data Source
drop-down
required
The data source to load data from in this pipeline. The drop-down menu lists the Asana API endpoints available in the connector. For detailed information about specific endpoints, read the Asana API documentation.
EndpointMethodReference
AttachmentsGETGet attachments from an object
Project Custom FieldsGETGet a project’s custom fields
Portfolio Custom FieldsGETGet a portfolio’s custom fields
Workspace Custom FieldsGETGet a workspace’s custom fields
Goal RelationshipsGETGet goal relationships
GoalsGETGet goals
MembershipsGETGet team memberships
Portfolio MembershipsGETGet multiple portfolio memberships
PortfoliosGETGet multiple portfolios
Portfolio ItemsGETGet portfolio items
Project BriefGETGet a project brief
Project MembershipsGETGet memberships from a project
Project StatusesGETGet statuses from a project
Project TemplatesGETGet multiple project templates
ProjectsGETGet multiple projects
Project SectionsGETGet sections in a project
Status UpdatesGETGet status updates from an object
StoryGETGet a story
Task StoriesGETGet stories from a task
TagsGETGet multiple tags
Task TemplatesGETGet multiple task templates
TasksGETGet multiple tasks
Team MembershipsGETGet team memberships
Workspace TeamsGETGet teams in a workspace
Time PeriodsGETGet time periods
Typeahead ObjectsGETGet objects via typeahead
UsersGETGet multiple users
Workspace MembershipsGETGet the workspace memberships for a workspace
WorkspacesGETGet multiple workspaces
Authentication Type
drop-down
required
The authentication method to authorize access to your Asana data. Currently supports bearer token.
Token
string
required
Use the drop-down menu to select the corresponding secret definition that denotes your Asana bearer token.Read Secrets and secret definitions to learn how to create a new secret definition.To acquire an Asana bearer token:
  1. Log in to Asana.
  2. Click your profile picture at the top.
  3. Click Settings.
  4. Open the Apps tab.
  5. Click View developer console at the bottom of the dialog.
  6. Click + Create new token.
  7. In the Create new token dialog, enter a description in the field provided about what the token will be used for.
  8. Click the checkbox to agree to Asana’s API terms.
  9. Click Create token.
    Make sure to copy this access token now. You won’t see it again.
  10. Paste the token in the Secret value field in the Add new secret definition dialog.
For more information about authentication, read the Asana API documentation.

Configure

URI Parameters
column editor
required
  • Parameter Name: The name of a URI parameter.
  • Parameter Value: The value of the corresponding parameter.
Required parameterEndpointsDescription
api_versionAll endpoints1.0
project_gidProject Custom Fields, Project Memberships, Project Statuses, Project SectionsGlobally unique identifier for the project.
portfolio_gidPortfolio Custom Fields, Portfolio ItemsGlobally unique identifier for the portfolio.
workspace_gidWorkspace Custom Fields, Workspace Teams, Typeahead Objects, Workspace MembershipsGlobally unique identifier for the workspace or organization.
project_brief_gidProject BriefGlobally unique identifier for the project brief.
story_gidStoryGlobally unique identifier for the story.
task_gidTask StoriesThe task to operate on.
Query Parameters
column editor
required
  • Parameter Name: The name of a query parameter.
  • Parameter Value: The value of the corresponding parameter.
Required parameterEndpointsDescription
parentAttachments, Memberships, Status UpdatesGlobally unique identifier for object to fetch statuses from. Must be a GID for a project, project_brief, or task.
supported_goalGoal RelationshipsGlobally unique identifier for the supported goal in the goal relationship.
workspaceGoals, Portfolios, Projects, Tags, Time Periods, UsersGlobally unique identifier for the workspace.
portfolioPortfolio MembershipsThe portfolio to filter results on.
teamProject Templates, Team MembershipsThe team to filter projects on.
projectTask Templates, TasksThe project to filter task templates on.
resource_typeTypeahead ObjectsThe type of values the typeahead should return. You can choose from one of the following: custom_field, goal, project, project_template, portfolio, tag, task, team, and user. Note that unlike in the names of endpoints, the types listed here are in singular form (e.g. task). Using multiple types is not yet supported.
Header Parameters
column editor
required
  • Parameter Name: The name of a header parameter.
  • Parameter Value: The value of the corresponding parameter.
Post Body
JSON
A JSON body to include as part of a POST request. Use Custom Connector to test your endpoints work as expected before moving to Designer pipelines.You should also consult the developer documentation for the API you’re connecting to—as the developer portal may provide additional information about endpoints and requests.
Page Limit
integer
A numeric value to limit the maximum number of records per page.

Destination

Select your cloud data warehouse.
Destination
drop-down
required
  • Snowflake: Load your data into Snowflake. You’ll need to set a cloud storage location for temporary staging of the data.
  • Cloud Storage: Load your data directly into your preferred cloud storage location.
Click either the Snowflake or Cloud Storage tab on this page for documentation applicable to that destination type.
Warehouse
drop-down
required
The Snowflake warehouse used to run the queries. The special value [Environment Default] uses the warehouse defined in the environment. Read Overview of Warehouses to learn more.
Database
drop-down
required
The Snowflake database. The special value [Environment Default] uses the database defined in the environment. Read Databases, Tables and Views - Overview to learn more.
Schema
drop-down
required
The Snowflake schema. The special value [Environment Default] uses the schema defined in the environment. Read Database, Schema, and Share DDL to learn more.
Table Name
string
required
The name of the table to be created.
Load Strategy
drop-down
required
  • Replace: If the specified table name already exists, that table will be destroyed and replaced by the table created during this pipeline run.
  • Truncate and Insert: If the specified table name already exists, all rows within the table will be removed and new rows will be inserted per the next run of this pipeline.
  • Fail if Exists: If the specified table name already exists, this pipeline will fail to run.
  • Append: If the specified table name already exists, then the data is inserted without altering or deleting the existing data in the table. It’s appended onto the end of the existing data in the table. If the specified table name doesn’t exist, then the table will be created, and your data will be inserted into the table.
Clean Staged files
boolean
required
  • Yes: Staged files will be destroyed after data is loaded. This is the default setting.
  • No: Staged files are retained in the staging area after data is loaded.
Stage Access Strategy
drop-down
Select the stage access strategy. The strategies available depend on the cloud platform you select in Stage Platform.
  • Credentials: Connects to the external stage (AWS, Azure) using your configured cloud provider credentials. Not available for Google Cloud Storage.
  • Storage Integration: Use a Snowflake storage integration to grant access to Snowflake to read data from and write to a cloud storage location. This will reveal the Storage Integration property, through which you can select any of your existing Snowflake storage integrations.
Stage Platform
drop-down
required
Choose a data staging platform using the drop-down menu.
  • Amazon S3: Stage your data on an AWS S3 bucket.
  • Snowflake: Stage your data on a Snowflake internal stage.
  • Azure Storage: Stage your data in an Azure Blob Storage container.
  • Google Cloud Storage: Stage your data in a Google Cloud Storage bucket.
Click one of the tabs below for documentation applicable to that staging platform.
Storage Integration
drop-down
required
Select the storage integration. Storage integrations are required to permit Snowflake to read data from and write to a cloud storage location. Integrations must be set up in advance of selecting them. Storage integrations can be configured to support Amazon S3, Google Cloud Storage, or Microsoft Azure Blob Storage, regardless of the cloud provider that hosts your Snowflake account.
Amazon S3 Bucket
drop-down
required
An AWS S3 bucket to stage data into. The drop-down menu will include buckets tied to the cloud provider credentials that you have associated with your environment.

Advanced Settings

Log Level
drop-down
Set the severity level of logging. Choose from Error, Warn, Info, Debug, or Trace. Logs can be found in the Message field of the task details after the pipeline has been run.
Load Selected Data
boolean
Choose whether to return the entire payload or only selected data objects. Read Structure to learn how to select which data objects to include in your API response.
  • No: Will return the entire payload. This is the default setting.
  • Yes: Will return only the objects in Custom Connector that are marked as Selected Data in the Structure setting.

Deactivate soft delete for Azure blobs (Databricks)

If you intend to set your destination as Databricks and your stage platform as Azure Storage, you must turn off the “Enable soft delete for blobs” setting in your Azure account for your pipeline to run successfully. To do this:
  1. In the Azure portal, navigate to your storage account.
  2. In the menu, under Data management, click Data protection.
  3. Clear the Enable soft delete for blobs checkbox. For more information, read Soft delete for blobs.