> For the complete documentation index, see [llms.txt](https://docs.coupler.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coupler.io/sources/category/project-management/aha/best-practices.md).

# Best Practices

## Recommended setup

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Use the reference number as your key</strong></td><td>The <code>reference_num</code> field (e.g., PROD-123) is a stable, human-readable identifier. Use it as your primary key when joining Aha data with other sources or building lookup tables.</td></tr><tr><td><strong>Test with a manual run first</strong></td><td>Before setting up a scheduled refresh, run the data flow manually to confirm the data looks correct and all expected fields are coming through.</td></tr><tr><td><strong>Combine related entities for richer reports</strong></td><td>Ideas data becomes much more useful when joined with endorsements and comments. Use ona data flow with separate sources for different entities and join them on the Data sets step</td></tr></tbody></table>

## Data refresh and scheduling

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Schedule refreshes during off-peak hours</strong></td><td>Aha enforces API rate limits. Scheduling your data flows overnight or outside of business hours reduces the risk of hitting those limits, especially for large workspaces.</td></tr><tr><td><strong>Match refresh frequency to how often your data changes</strong></td><td>Goals and products don't change as often as features or ideas. Set a daily or weekly schedule for slower-moving entities and a more frequent schedule for high-activity streams like ideas and comments.</td></tr></tbody></table>

## Performance optimization

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Keep entity imports separate</strong></td><td>Running all entity data flows in parallel can increase the chance of hitting Aha's API rate limits. Stagger your schedules by a few minutes if you're running multiple data flows.</td></tr><tr><td><strong>Disable unused data flows</strong></td><td>If you're no longer using a particular entity import, pause or remove it. Unnecessary API calls can slow down your active data flows and contribute to rate limit issues.</td></tr></tbody></table>

## Common pitfalls

{% hint style="danger" %}
Never share your Aha API key publicly or commit it to version control. If your key is exposed, regenerate it immediately in your Aha profile settings and update it in Coupler.io.
{% endhint %}

{% columns %}
{% column %}
**Do**

* Enter only the subdomain when connecting (e.g., `yourcompany`)
* Use `id` or `reference_num` as unique keys in your reports
* Set up separate data flows for endorsements and comments if you need that data
* Strip HTML from description fields in your destination tool if you need clean text
  {% endcolumn %}

{% column %}
**Don't**

* Enter the full URL (e.g., `https://yourcompany.aha.io`) in the domain field
* Assume missing records are a bug — check for archived status in Aha first
* Run all entity data flows simultaneously on large workspaces
* Rely on description fields for plain text without handling the HTML formatting
  {% endcolumn %}
  {% endcolumns %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.coupler.io/sources/category/project-management/aha/best-practices.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
