Freshdesk

Sync data from Freshdesk to your warehouse destination via RudderStack.

danger
RudderStack’s Cloud Extract (ETL) product will be sunset on December 1, 2025. See this release note for more details.

Freshdesk is a popular customer support software which provides cutting-edge, cross-channel customer support features including bots and various other self-service solutions.

This document guides you in setting up Freshdesk as a source in RudderStack. Once configured, RudderStack automatically ingests your specified Freshdesk data, which can then be routed to your RudderStack-supported data warehouse destination.

warning
All the Cloud Extract sources support sending data only to a data warehouse destination.

Getting Started

To set up Freshdesk as a source in RudderStack, follow these steps:

  1. Log into your RudderStack dashboard.
  2. Go to Sources > New source > Cloud Extract and select Freshdesk from the list of sources.
  3. Assign a name to your source and click Continue.

Connection settings

To set up Freshdesk as a Cloud Extract source, you need to configure the following settings:

Freshdesk credentials
  • Domain: Enter your Freshdesk domain from the URL (for example, test.freshdesk.com).
  • API Key: Enter your Freshdesk API key. Refer to the FAQ section for more information on obtaining the API key.
  • Requests per minute: Enter the number of requests that Freshdesk can use per minute. The rate limit does not allow more than 50 requests per minute per app per Freshdesk account.
  • Start Date: Enter the date from which RudderStack should import your historical Freshdesk data.

Destination settings

The following settings specify how RudderStack sends the data ingested from Freshdesk to the connected warehouse destination:

  • Table prefix: RudderStack uses this prefix to create a table in your data warehouse and loads all your Freshdesk data into it.
warning
Note that RudderStack does not add special characters like - or _ to the prefix by default. Hence, you need to specify it while setting the prefix.
  • Schedule Settings: RudderStack gives you three options to ingest the data from Freshdesk:
    • Basic: Runs the syncs at the specified time interval.
    • CRON: Runs the syncs based on the user-defined CRON expression.
    • Manual: You are required to run the syncs manually.
info
For more information on the schedule types, refer to the Common Settings guide.

Selecting the data to import

You can choose the Freshdesk data you want to ingest by selecting the required resources:

Selecting the data to import

The below table mentions the syncs and API endpoints supported by these resources from Freshdesk to your warehouse destination:

ResourceSupported sync modePrimary keyFreshdesk API endpoint
time_entriesFull Refreshid/time_entries
ticketsIncrementalid/tickets
ticket_fieldsFull Refreshid/ticket_fields
surveysFull Refreshid/surveys
solution_foldersFull Refreshid/solutions/categories/[id]/folders
solution_categoriesFull Refreshid/solutions/categories
solution_articlesFull Refreshid/solutions/folders/[id]/articles
sla_policiesFull Refreshid/sla_policies
settingsFull Refreshprimary_language/settings/helpdesk
scenario_automationsFull Refreshid/scenario_automations
satisfaction_ratingsIncrementalid/surveys/satisfaction_ratings
rolesFull Refreshid/roles
productsFull Refreshid/products
groupsFull Refreshid/groups
email_mailboxesFull Refreshid/email/mailboxes
email_configsFull Refreshid/email_configs
discussion_topicsFull Refreshid/discussions/forums/[id]/topics
discussion_forumsFull Refreshid/discussions/categories/[category_id]/forums
discussion_commentsFull Refreshid/discussions/topics/[id]/comments
discussion_categoriesFull Refreshid/discussions/categories
conversationsSemi-Incrementalid/tickets/[id]/conversations
contactsIncrementalid/contacts
companiesFull Refreshid/companies
canned_responsesFull Refreshid/canned_response_folders/[id]/responses
canned_response_foldersFull Refreshid/canned_response_folders
business_hoursFull Refreshid/business_hours
agentsFull Refreshid/agents
info
For more information on the Full Refresh, Semi-Incremental, and Incremental sync modes, refer to the Common Settings guide.

Freshdesk is now configured as a source. RudderStack will start ingesting data from Freshdesk as per your specified schedule and frequency.

You can further connect this source to your data warehouse by clicking on Add Destination:

Adding a destination
success
Use the Use Existing Destination option if you have an already-configured data warehouse destination in RudderStack. To configure a data warehouse destination from scratch, select the Create New Destination button.

FAQ

Where can I find the Freshdesk API Key?

To get your Freshdesk API key, follow these steps:

  1. Log into your Freshdesk account.
  2. Click your profile in the top right section of the dashboard and go to Profile Settings.
  3. You can find the Freshdesk API key in the right sidebar:
Freshdesk API key

Is it possible to have multiple Cloud Extract sources writing to the same schema?

Yes, it is.

RudderStack associates a table prefix for every Cloud Extract source writing to a warehouse schema. This way, multiple Cloud Extract sources can write to the same schema with different table prefixes.

How does RudderStack count the events for Cloud Extract sources?

RudderStack counts the number of records returned by the source APIs when queried during each sync. It considers each record as an event.

How does RudderStack set the table name for the data sent via Cloud Extract sources?

RudderStack sets the table name for the resource you are syncing to the warehouse by adding rudder_ to the Table prefix you set while configuring your Cloud Extract source in the dashboard.

Cloud Extract table prefix

For example, if you set test_ as the Table prefix in the dashboard, RudderStack sets the table name as test_rudder_<resource_name>, where <resource_name> is the name of the resource you are syncing (for example, contacts, messages, etc.).

warning
Note that RudderStack does not add the character _ to the prefix by default. Hence, you need to specify it while setting the prefix.

Questions? Contact us by email or on Slack