Skip to content

Support Tickets with Freshdesk

Connect your Freshdesk portal to Clynto to pull support tickets, conversations, agents, and CSAT scores alongside every Clynto account. Once connected, CSMs see the ticket backlog and recent conversations for each customer without swapping tabs, and Larry can answer questions about support load grounded in real ticket data.

This guide walks you through setup, explains what you'll see afterwards, and covers the most common questions and error states.


What you get

Once Freshdesk is connected, Clynto starts using support data in four places:

  1. Tickets page — a dedicated workspace-wide view of every synced ticket with filters by status (open / pending / resolved / closed), priority, source (email / portal / phone / chat), and assigned agent. Searchable and sortable.
  2. Support context on every account — each account detail page surfaces the tickets filed by that customer, with full conversation threads (replies, private notes, forwards), CSAT ratings where available, and the agent who owns them.
  3. Agents directory — every Freshdesk agent is pulled in and linked to the tickets they own, so you can see who handled what.
  4. Larry queries — Larry can answer questions like "what tickets has Acme opened in the last 30 days?" or "who's the agent for Acme's most recent escalation?", grounded in real Freshdesk data instead of guesses.

Before you start

You'll need:

  • Admin or Owner role in your Clynto workspace. Members can view synced tickets once the integration is set up but cannot connect, disconnect, or re-sync it.
  • Your Freshdesk subdomain — for example, if you log into acme.freshdesk.com, your subdomain is acme.
  • A Freshdesk API key. Get it from your Freshdesk profile: Profile icon (top right) → Profile Settings → API key (right sidebar, "Your API Key"). We recommend creating a service account user in Freshdesk and using its API key rather than a personal one — that way the integration doesn't break when an individual leaves.
  • A rough sense of your Freshdesk plan tier. Rate limits and CSAT access depend on it — see Plan tiers and limits.

Setup walkthrough

The setup wizard is a single step. The whole thing takes about 30 seconds.

Step 1 — Connect

  1. Go to Integrations in the left nav.
  2. Find the Freshdesk card under the Support section and click Connect Freshdesk.
  3. Enter your subdomain (Clynto auto-wraps it with https:// and .freshdesk.com).
  4. Paste your API key into the password field.
  5. Click Connect.

Clynto validates the credentials immediately against Freshdesk's /agents/me endpoint. If the subdomain is wrong or the API key is invalid, you'll see an inline error — usually "Invalid Freshdesk credentials. Check your domain and API key."

Once validated, Clynto generates a webhook signing secret in the background and fires the initial sync. The card flips to a Syncing... state with a step-progress bar that walks through six phases:

  1. Companies — matched to Clynto accounts by domain
  2. Contacts — linked to accounts
  3. Agents — support team members
  4. Tickets — open tickets plus any updated in the last 90 days
  5. Conversations — full reply/note threads for every fetched ticket
  6. Satisfaction ratings — CSAT scores (if your plan has them)

A typical portfolio finishes in 3–10 minutes. Conversations are the slow step — Freshdesk has no bulk conversation endpoint, so Clynto has to fetch them one ticket at a time while respecting rate limits. When the bar completes, the card flips to Connected.

Step 2 (optional) — Webhook URL

After the card is Connected, click the Webhook URL section to reveal a URL you can copy into Freshdesk. Pasting this into Freshdesk's automation rules (Admin → Workflows → Automations) lets Clynto react to ticket events without waiting for the daily sync. Webhook setup in Freshdesk is a little more manual than Stripe — contact support if you want help wiring up the right automation triggers.


What you'll see after setup

On the Freshdesk card (Integrations page)

  • Records synced — tickets and conversations pulled in the most recent sync
  • Last sync — when the nightly or manual sync last ran
  • Webhook URL — copyable endpoint for Freshdesk automations
  • Re-sync button — trigger a fresh pull immediately
  • Disconnect button — sever the connection

On the Tickets page

A new top-level Tickets page appears in the nav, showing every ticket synced from Freshdesk across your portfolio. Filter by:

  • Status — open, pending, resolved, closed
  • Priority — low, medium, high, urgent
  • Source — email, portal, phone, chat
  • Assigned agent
  • Account

Click any ticket to see the full conversation thread — customer replies, agent responses, and private internal notes — with CSAT rating if available.

On every account detail page

A Support section shows:

  • The list of tickets filed by that account's contacts
  • Status and priority distribution
  • The agent(s) most frequently assigned to this account

Click through to any individual ticket for the full conversation.

In Larry

Larry picks up support context automatically. Try asking:

  • "How many open tickets does Acme have right now?"
  • "What was Acme's last ticket about?"
  • "Which accounts have filed urgent tickets in the last week?"

Staying in sync

Clynto keeps Freshdesk data fresh in two ways:

Daily sync (3 AM UTC)

Once a day at 3 AM UTC, Clynto re-pulls every Freshdesk company, agent, open ticket, and any ticket updated in the last 90 days — along with conversations and CSAT ratings. The daily sync is the default safety net and is enough for most CSM workflows.

Webhooks (optional)

If you set up Freshdesk automations pointed at the webhook URL on the Freshdesk card, ticket events flow into Clynto in near real-time. Most customers don't bother — daily sync is usually sufficient — but if you want the Tickets page to reflect status changes the moment they happen, webhooks are the way.

Manual re-sync

Click Re-sync on the Freshdesk card any time you want a fresh pull without waiting for the nightly job. A typical re-sync takes 3–10 minutes depending on ticket volume.

Only one sync runs at a time per workspace. Clicking Re-sync while a sync is already in progress will skip rather than run a duplicate.


Plan tiers and limits

Freshdesk's API behavior depends on your Freshdesk plan, and that affects what Clynto can pull:

API rate limits

Freshdesk enforces rate limits per-plan. Clynto honors Freshdesk's X-RateLimit-Remaining headers and automatically backs off when the budget is running low — you won't hit hard errors from rate limiting under normal conditions. But the practical sync time depends on your tier:

Plan Approx. rate limit Typical sync time
Free ~50 requests/hour Not recommended — single-ticket conversation fetches will exhaust the budget
Growth ~200 requests/hour Works for small portfolios; can take 10–20 minutes
Pro ~400 requests/minute Comfortable; most portfolios finish in 3–5 minutes
Enterprise ~700 requests/minute Fastest

If you're on Free or Growth and have more than a few hundred tickets, expect the initial sync to run slowly. Clynto will finish the job eventually, but it may take multiple daily-sync windows to fully catch up.

CSAT (satisfaction ratings)

CSAT scores are only exposed by Freshdesk's API on Pro and Enterprise plans. On Free and Growth, the /surveys/satisfaction_ratings endpoint returns a 403. Clynto handles this gracefully — the satisfaction-ratings phase of the sync is skipped with a log warning, and everything else completes normally. If you're on a lower tier, just ignore the missing CSAT data.


Troubleshooting

The Freshdesk card surfaces a few distinct states. Each one tells you something specific.

"Syncing..." (blue, step progress bar)

What it means: A sync is in progress, walking through the six phases listed above.

What to do: Nothing — wait for it to finish. If the bar sits on Conversations for a long time, that's expected: conversations are fetched one ticket at a time. If it's still running after 30 minutes, contact support.

"Error — Invalid Freshdesk credentials" (red)

What it means: Freshdesk rejected your subdomain + API key combination.

What to do: 1. Confirm your subdomain is correct — it's the part of your Freshdesk URL before .freshdesk.com, not the full URL. 2. Confirm the API key is current. Freshdesk API keys don't expire automatically, but they are revoked if the user is deactivated. 3. Click Reconnect Freshdesk and re-enter both fields.

"Error — Freshdesk rate limit exceeded" (red, transient)

What it means: Clynto ran out of API budget during the sync and Freshdesk returned a 429. This is usually only seen on Free/Growth plans with large portfolios.

What to do: - Wait an hour for the rate limit window to reset, then click Re-sync. - Or just wait — the next daily sync will resume automatically. - If it keeps repeating, consider upgrading your Freshdesk plan, or contact support and we can throttle the sync more aggressively on your workspace.

Hard error banner (red)

What it means: Something concrete failed — the Freshdesk API returned an unexpected error, a network timeout, or an invalid ticket filter.

What to do: - Click Re-sync to retry. - If the error repeats, contact support with the exact error text — there may be a data shape in your Freshdesk portal that Clynto isn't handling yet.

"Records synced: 0 tickets"

What it means: The sync completed and pulled companies and agents, but no tickets came back.

What to do: 1. Confirm your Freshdesk portal actually has tickets in the last 90 days or in open status — the sync window is tighter than you might expect (see FAQ). 2. Confirm the API key user has permission to see tickets. A very restricted user role in Freshdesk can return an empty ticket list instead of an error.


Frequently asked questions

Does Clynto write anything back to Freshdesk? No. Every call is read-only. Clynto never creates, updates, closes, or comments on tickets. It can't accidentally reply to a customer on your behalf.

How far back does the ticket sync go? All open tickets regardless of age, plus any ticket updated in the last 90 days (resolved, closed, or otherwise). Older resolved tickets aren't pulled — the goal is to surface live support load, not to be a ticket archive. Contact support if you need a longer backfill window for a specific use case.

How are Freshdesk companies matched to Clynto accounts? By domain, using a multi-layer match: exact domain → normalized domain → name → LLM fuzzy. Clynto takes the primary domain from the Freshdesk company's domains field (Freshdesk stores this as a list). If your Freshdesk companies don't have domains set, tickets from them won't attach to the right account. Fix this in Freshdesk by populating the company's Domain field, then re-sync.

What happens to tickets from a customer whose company isn't in Freshdesk? Freshdesk contacts can exist without being linked to a company. Those tickets still get synced, but they won't attach to a Clynto account unless the contact's email domain matches one of your accounts. Orphan tickets still show up on the Tickets page; they just don't appear in any specific account's Support section.

Why do I see 0 CSAT ratings? Either (a) you're on Freshdesk's Free or Growth plan, which doesn't expose CSAT via API — see CSAT, or (b) you're on a Pro/Enterprise plan but haven't enabled satisfaction surveys. Both are fine; the rest of the integration works either way.

I added a new agent in Freshdesk — when will they show up in Clynto? On the next sync. Click Re-sync if you want them immediately, or wait until 3 AM UTC.

Why is my sync slow? Almost certainly Freshdesk rate limits. Conversations have no bulk endpoint, so Clynto fetches them one ticket at a time. On Free/Growth plans, that's painful. On Pro/Enterprise it's fine.

Is my Freshdesk API key encrypted? Yes. Stored encrypted at rest alongside every other integration credential. Decrypted only inside the sync workers at the moment of the API call.

Can I connect multiple Freshdesk portals? No. One Freshdesk portal per Clynto workspace. If you run multiple portals (for example, separate instances per region), contact support — we can discuss options.

How do I rotate the API key? Generate a new key in Freshdesk, click Reconnect Freshdesk on the Freshdesk card, and paste the new key. The old synced data is preserved.


Disconnect

To disconnect Freshdesk from Clynto:

  1. Click Disconnect on the Freshdesk card. A confirmation modal opens — confirm.
  2. Clynto clears the stored API key and marks the integration as disconnected. No further syncs run.
  3. To fully sever, also revoke the API key in Freshdesk (Profile Settings → API key → Reset).

Your previously synced data stays in Clynto — the Tickets page, account Support sections, and agent records all remain visible but frozen at the last sync. Contact support if you want the data cleared entirely.


Need help?

If something's not working and the troubleshooting above doesn't cover it, contact support and include:

  • Your workspace name
  • Your Freshdesk subdomain
  • Your Freshdesk plan tier (Free / Growth / Pro / Enterprise)
  • The exact text of any error shown on the Freshdesk card
  • Roughly when you last had a successful sync

We can pull the integration's recent sync history and tell you exactly what happened.