1. Prepare connections
- Create, test, and save an Asana source by following the Asana source guide.
- Create and test any destination connections you need:
- PostgreSQL
- MySQL
- Airtable
2. Configure the Asana Source tab
- Create a pipeline with the saved Asana connection.
- Open Source and run discovery.
- Select one workspace and the required projects.
- Save the Asana scope.
- Select
workspaces,projects,sections,tags,tasks,stories,teams, andusers. - Use Full Table for all streams in the first run.
- Preview each stream and save stream settings.
3. Add destinations
Open Destinations and add each saved destination connection. You can test all three routes in one pipeline or use a separate pipeline per destination. Suggested destination names:Asana → PostgreSQLAsana → MySQLAsana → Airtable
4. Publish eight transformations per destination
Create one destination-owned transformation for every Asana stream. Start with an explicit projection and usegid as the stable output key.
Example tasks model:
- Save the draft.
- Validate it.
- Preview the output.
- Publish the revision.
5. Configure PostgreSQL and MySQL targets
Use one table per stream. Example contracts:
Use Create or verify destination table before the first run. This explicit
setup action may add newly discovered flattened columns. Runtime delivery only
writes to the configured tables; it does not create surprise tables.
6. Configure the Airtable target
Select an existing Airtable base and table. Map the Asanagid output column
to a writable Airtable field, usually the primary Name field in a dedicated
test table, and select that field as the merge key.
The current Airtable destination assigns one selected table to the destination.
If all eight transformations share it, their records share that table. Use
separate Airtable destinations or tables when each stream needs an independent
business schema.
7. Validate and run
- Open Overview and click Validate pipeline.
- Resolve every missing published revision, destination table, or merge key.
- Click Run all, or use a destination’s Run action to test one target.
- Open Runs and confirm the latest row for each destination is successful.
- Verify direct counts in PostgreSQL, MySQL, or Airtable.
8. Move tasks to Incremental
After a successful Full Table baseline, tasks can use Incremental mode with:- cursor:
modified_at - merge key:
gid - optional initial sync start: ISO timestamp saved in Asana extraction scope
modified_at value.