Best Practices
Recommended setup
Use the "Changed after" filter for large workspaces
If your workspace has thousands of tasks, set the Changed after date to limit exports to recently modified records. This avoids timeouts and keeps your destination lean.
Export Tasks and Users as separate sources in one data flow
Add both Tasks and Users as sources, then use the Join transformation on assignee ID. This gives you a clean table with task details and assignee info combined — ideal for workload dashboards.
Use Append to combine multiple workspaces
If your team operates across multiple Asana workspaces or accounts, add each as a separate source and use the Append transformation to merge them into a single dataset.
Data refresh and scheduling
Run incrementally, not as a full refresh
For Tasks, use the Changed after filter combined with an Append destination mode. This adds only new or updated tasks each run rather than reloading everything — faster and less prone to timeouts.
Schedule Stories exports less frequently
Stories (comments and activity) grow quickly. A daily or weekly schedule is usually sufficient — hourly exports of Stories can be heavy on API calls and slow to process.
Performance optimization
Extract custom fields with json_extract
Custom fields come back as a JSON blob. Use Coupler.io's calculated column with json_extract to surface the specific fields you need — this makes downstream filtering and reporting much easier.
Send data to BigQuery for large-scale analysis
If you're tracking hundreds of projects or need historical trend data, BigQuery handles Asana's volume much better than a spreadsheet. Use incremental loads to keep costs low.
Common pitfalls
Do not connect a personal Asana project space. Asana's API blocks access to personal spaces entirely — you'll get a "Data cannot be fetched" error every time. Make sure you're using an organization workspace before setting up your data flow.
Do
Verify your account is part of an organization workspace before connecting
Use the Changed after filter to scope large Task exports
Use json_extract for custom fields you need as separate columns
Test with a manual run before setting up a schedule
Don't
Expect to filter Tasks by project ID at the source level — do this post-import
Try to export media attachments — only structured data is supported
Export all Stories on a high-frequency schedule — it's slow and rarely necessary
Assume empty columns are a bug — fields like completed_by.name are only populated in specific conditions
Last updated
Was this helpful?
