> 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/finance-and-accounting/concord/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>Start with Agreements as your anchor entity</strong></td><td>Agreements hold the most critical fields — status, dates, counterparty, tags, and folder IDs. Build your primary data flow around this entity, then join other entities to enrich it.</td></tr><tr><td><strong>Use a dedicated API key for Coupler.io</strong></td><td>Create a read-only API key specifically for your Coupler.io integration rather than reusing a personal key. This makes it easy to revoke access without disrupting other integrations.</td></tr><tr><td><strong>Join Tags and Folders to Agreements</strong></td><td>The Agreements entity stores tag and folder references as IDs. Add Tags and Folders as additional sources in the same data flow and use Join transformations to replace IDs with human-readable names before sending data to your destination.</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>Set refresh frequency based on contract activity</strong></td><td>If your team processes a high volume of agreements weekly, a daily refresh keeps your reports current. For quieter periods or archival reporting, a weekly sync is usually sufficient.</td></tr><tr><td><strong>Sync Organization members separately</strong></td><td>Member and permission data changes infrequently. Run it as a separate, lower-frequency data flow rather than including it in your main agreements sync — this reduces unnecessary API calls.</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>Append data from multiple Concord orgs</strong></td><td>If your team manages contracts across multiple Concord organizations, create one data flow per org using each org's API key, then use Coupler.io's Append transformation to merge them into a single unified dataset.</td></tr><tr><td><strong>Use Aggregate for executive reporting</strong></td><td>Rather than dumping raw agreement rows into a board-level dashboard, use Coupler.io's Aggregate transformation to pre-summarize counts by status, type, or counterparty. This keeps destination sheets clean and fast to load.</td></tr></tbody></table>

## Common pitfalls

{% hint style="danger" %}
Don't rely on the Reports entity as your only source of agreement data. Concord's Reports are pre-built snapshots — they don't expose all agreement fields and can't be filtered or joined the same way as the raw Agreements entity.
{% endhint %}

{% columns %}
{% column %}

### Do

* Pull Tags and Folders as separate entities and join them to Agreements
* Use a dedicated, read-only API key
* Run a manual test before scheduling recurring syncs
* Use Append transformations when combining data from multiple Concord orgs
  {% endcolumn %}

{% column %}

### Don't

* Assume the Reports entity contains all your agreement fields
* Reuse a personal API key that could be rotated or revoked unexpectedly
* Try to reconstruct folder hierarchies without joining the Folders entity to itself using parent folder IDs
* Mix org-level data from different Concord accounts without labeling the source org in your destination
  {% 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/finance-and-accounting/concord/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.
