Freshdesk
This page contains the setup guide and reference information for the Freshdesk source connector.
Prerequisites
- A Freshdesk account with an API key. The API key belongs to the agent whose credentials are used, and that agent must have access to the resources you want to sync.
- Your Freshdesk domain in the format
yourcompany.freshdesk.com.
Set up the Freshdesk connector in Airbyte
- Log into your Airbyte Cloud account, or navigate to your Airbyte Open Source dashboard.
- Click Sources and then click + New source.
- On the Set up the source page, select Freshdesk from the Source type dropdown.
- Enter a name for the Freshdesk connector.
- For Domain, enter your Freshdesk domain, for example
mycompany.freshdesk.com. - For API Key, enter your Freshdesk API key.
- For Start Date, optionally enter a date in
YYYY-MM-DDTHH:mm:ssZformat. Only data created or updated on or after this date will be replicated for incremental streams. If not set, the connector syncs all available data. - For Requests per minute, optionally enter a custom rate limit. If left empty, the connector uses the default for your plan. See Performance considerations for details.
- For Rate Limit Plan, select your Freshdesk subscription plan. This tells the connector the per-endpoint rate limits for the Tickets and Contacts APIs, which differ from the general rate limit. If you are unsure, select Free Plan for the most conservative limits.
- For Lookback Window, you may specify a number of days back from the current stream state to re-read data for the Satisfaction Ratings stream. This helps capture updates made to existing ratings after their initial creation. Records updated before the lookback window boundary are not re-synced. The default is 14 days.
- For Number of Concurrent Threads, optionally adjust the number of parallel sync threads. Higher values speed up syncs but consume more of your API rate limit. The default is 5.
- Click Set up source.
Supported sync modes
Supported Streams
Several output streams are available from this source:
- Agents
- Business Hours
- Canned Responses
- Canned Response Folders
- Companies
- Contacts (Native Incremental Sync)
- Conversations
- Discussion Categories
- Discussion Comments
- Discussion Forums
- Discussion Topics
- Email Configs
- Email Mailboxes
- Groups
- Products
- Roles
- Satisfaction Ratings (Incremental Sync)
- Scenario Automations
- Settings
- Skills
- SLA Policies
- Solution Articles
- Solution Categories
- Solution Folders
- Surveys
- Tickets (Native Incremental Sync)
- Ticket Fields
- Time Entries
Performance considerations
Freshdesk enforces API rate limits that vary by plan:
| Plan | General rate limit | Tickets list limit | Contacts list limit |
|---|---|---|---|
| Free | 50/min | 50/min | 50/min |
| Growth | 200/min | 20/min | 20/min |
| Pro | 400/min | 100/min | 100/min |
| Enterprise | 700/min | 200/min | 200/min |
The connector respects the Retry-After header and automatically retries when rate-limited. To minimize rate limit errors, select the correct Rate Limit Plan in the connector configuration so the connector can budget API calls appropriately.
If you increase Number of Concurrent Threads, monitor your rate limit usage. Higher concurrency speeds up syncs but increases the chance of hitting per-minute limits, especially on Free and Growth plans.
Reference
Config fields reference
Field
Type
Property name
string
api_key
string
domain
integer
lookback_window_in_days
integer
num_workers
object
rate_limit_plan
integer
requests_per_minute
string
start_date
string
subscription_tier
Changelog
Expand to review
| Version | Date | Pull Request | Subject |
|---|---|---|---|
| 3.2.16 | 2026-04-24 | Add subscription_tier spec field with dynamic plan-based rate limiting | |
| 3.2.15 | 2026-04-24 | 76979 | Update source-declarative-manifest base image to 7.17.4 |
| 3.2.14 | 2026-04-23 | 76957 | Promoted release candidate to GA |
| 3.2.14-rc.5 | 2026-04-22 | Re-enable HTTPAPIBudget, keep c=5 for Full Tier 2 rollout | |
| 3.2.14-rc.4 | 2026-04-17 | Revert default_concurrency from 6 to 5 and disable HTTPAPIBudget for tuning experiment | |
| 3.2.14-rc.3 | 2026-04-14 | Concurrency tuning iteration 3: increase default_concurrency from 5 to 6 | |
| 3.2.14-rc.2 | 2026-04-13 | 76272 | Concurrency tuning iteration 2: increase default_concurrency from 4 to 5 |
| 3.2.14-rc.1 | 2026-04-10 | 76202 | Add concurrency_level and num_workers for concurrency tuning |
| 3.2.13 | 2026-03-31 | 75719 | Update dependencies |
| 3.2.12 | 2026-03-24 | 74647 | Update dependencies |
| 3.2.11 | 2026-03-03 | 74188 | Update dependencies |
| 3.2.10 | 2026-02-17 | 73400 | Update dependencies |
| 3.2.9 | 2026-02-10 | 72557 | Update dependencies |
| 3.2.8 | 2026-01-20 | 71949 | Update dependencies |
| 3.2.7 | 2026-01-14 | 71629 | Update dependencies |
| 3.2.6 | 2025-12-18 | 70595 | Update dependencies |
| 3.2.5 | 2025-11-25 | 70016 | Update dependencies |
| 3.2.4 | 2025-11-18 | 69435 | Update dependencies |
| 3.2.3 | 2025-10-29 | 68786 | Update dependencies |
| 3.2.2 | 2025-10-22 | 68591 | Add suggestedStreams |
| 3.2.1 | 2025-10-21 | 68420 | Update dependencies |
| 3.2.0 | 2025-10-14 | 68089 | Complete progressive rollout |
| 3.2.0-rc.2 | 2025-10-09 | 67109 | Migrate to CDK v7 |
| 3.2.0-rc.1 | 2025-03-12 | 54687 | Migrate to Manifest-only |
| 3.1.3 | 2025-02-26 | 54696 | Update requests-mock dependency versionb |
| 3.1.2 | 2025-01-11 | 43887 | Starting with this version, the Docker image is now rootless. Please note that this and future versions will not be compatible with Airbyte versions earlier than 0.64 |
| 3.1.1 | 2024-06-06 | 39231 | [autopull] Upgrade base image to v1.2.2 |
| 3.1.0 | 2024-03-12 | 35699 | Migrate to low-code |
| 3.0.7 | 2024-02-12 | 35187 | Manage dependencies with Poetry. |
| 3.0.6 | 2024-01-10 | 34101 | Base image migration: remove Dockerfile and use the python-connector-base image |
| 3.0.5 | 2023-11-30 | 33000 | Base image migration: remove Dockerfile and use the python-connector-base image |
| 3.0.4 | 2023-06-24 | 27680 | Fix formatting |
| 3.0.3 | 2023-06-02 | 26978 | Skip the stream if subscription level had changed during sync |
| 3.0.2 | 2023-02-06 | 21970 | Enable availability strategy for all streams |
| 3.0.0 | 2023-01-31 | 22164 | Rename nested business_hours table to working_hours |
| 2.0.1 | 2023-01-27 | 21888 | Set AvailabilityStrategy for streams explicitly to None |
| 2.0.0 | 2022-12-20 | 20416 | Fix SlaPolicies stream schema |
| 1.0.0 | 2022-11-16 | 19496 | Fix Contacts stream schema |
| 0.3.8 | 2022-11-11 | 19349 | Do not rely on response.json() when deciding to retry a request |
| 0.3.7 | 2022-11-03 | 18397 | Fix base url for v2 API. |
| 0.3.6 | 2022-09-29 | 17410 | Migrate to per-stream states. |
| 0.3.5 | 2022-09-27 | 17249 | Added nullable to all stream schemas, added transformation into declared schema types |
| 0.3.4 | 2022-09-27 | 17243 | Fixed the issue, when selected stream is not available due to Subscription Plan |
| 0.3.3 | 2022-08-06 | 15378 | Allow backward compatibility for input configuration |
| 0.3.2 | 2022-06-23 | 14049 | Update parsing of start_date |
| 0.3.1 | 2022-06-03 | 13332 | Add new streams |
| 0.3.0 | 2022-05-30 | 12334 | Implement with latest CDK |
| 0.2.11 | 2021-12-14 | 8682 | Migrate to the CDK |
| 0.2.10 | 2021-12-06 | 8524 | Update connector fields title/description |
| 0.2.9 | 2021-11-16 | 8017 | Bugfix an issue that caused the connector to not sync more than 50000 contacts |
| 0.2.8 | 2021-10-28 | 7486 | Include "requester" and "stats" fields in "tickets" stream |
| 0.2.7 | 2021-10-13 | 6442 | Add start_date parameter to specification from which to start pulling data. |