# Common Issues

## Connection issues

<details>

<summary>My API key isn't working</summary>

Double-check that you're using the **REST API key** from AgileCRM, not a different credential. You can find it under **Admin Settings → API & Analytics** in your AgileCRM account. Make sure there are no extra spaces when you paste the key into Coupler.io.

</details>

<details>

<summary>I get an authentication error even though my credentials look correct</summary>

Make sure you're entering your credentials exactly as follows:

* **Domain** — just the subdomain (e.g., `yourcompany`), not the full URL
* **Email** — the email address you use to log in to AgileCRM
* **API key** — copied directly from AgileCRM's Admin Settings page

If you recently reset your API key in AgileCRM, you'll need to update it in Coupler.io as well.

</details>

<details>

<summary>My data flow times out during the connection test</summary>

This can happen if your AgileCRM account has a very large dataset. Try running the data flow on a smaller entity first (like Milestones or Ticket Filters) to confirm the connection works. If the timeout persists on large entities, contact Coupler.io support.

</details>

## Missing data

<details>

<summary>Some contacts or deals are missing from my export</summary>

AgileCRM's API returns data in paginated batches. If your account has a very large number of records, occasional gaps can occur. Try re-running the data flow. If data is consistently missing, check whether the missing records are accessible to your user under their permissions in AgileCRM.

</details>

<details>

<summary>Custom fields aren't showing up in my data</summary>

Custom fields should appear in the exported data, but their names depend on how they're defined in your AgileCRM account. Check your AgileCRM custom field configuration under **Admin Settings** and look for matching field names in the exported columns.

</details>

<details>

<summary>The Tickets entity returns no data</summary>

Make sure your AgileCRM plan includes the helpdesk/ticketing feature — not all plans do. Also, confirm that tickets exist in your account and that your API key belongs to a user with access to the helpdesk module.

</details>

## Permission errors

<details>

<summary>I see a 403 Forbidden error</summary>

This usually means the AgileCRM user account associated with your API key doesn't have permission to access the entity you're trying to import. Check that your user has admin-level or appropriate role permissions in AgileCRM. Only admin users can access all entities via the API.

{% hint style="warning" %}
Non-admin users in AgileCRM may have restricted API access. Use an admin account's API key for full data access.
{% endhint %}

</details>

## Data discrepancies

<details>

<summary>Timestamps look wrong or unreadable</summary>

AgileCRM returns timestamps as Unix epoch values (milliseconds). You'll need to convert these in your destination tool. In Google Sheets, you can use a formula like `=(A1/1000/86400)+DATE(1970,1,1)` and format the cell as a date.

</details>

<details>

<summary>Deal counts in Coupler.io don't match what I see in AgileCRM</summary>

AgileCRM's UI may apply default filters (such as showing only open deals) that aren't applied in the API. Coupler.io returns all records unless filters are applied. Check whether deleted or archived deals are being included in your export.

</details>

## Rate limits

<details>

<summary>My sync fails with a rate limit error</summary>

AgileCRM enforces API rate limits that vary by plan. If you're hitting rate limits, try scheduling your syncs less frequently or during off-peak hours. Avoid running multiple AgileCRM data flows at the same time, as each one counts toward your API quota.

</details>
