Freshdesk + Salesforce

Connect Freshdesk and Salesforce to Unify Support and Sales Data

Stop losing customer context between your support and CRM teams. tray.ai automates the flow of data between Freshdesk and Salesforce so everyone works from the same picture.

Why integrate Freshdesk and Salesforce?

Freshdesk and Salesforce are two of the most widely used platforms in the modern tech stack — one running customer support, the other driving sales and CRM. But without a direct integration, support agents can't see deal history and sales reps have no idea which customers are sitting on open tickets. Those gaps are frustrating for teams and even worse for customers. Connecting Freshdesk and Salesforce through tray.ai gives every team the full customer context they need, when they need it.

Automate & integrate Freshdesk & Salesforce

Use case

Sync Freshdesk Tickets to Salesforce Cases

Automatically create or update Salesforce Cases whenever a new ticket is raised in Freshdesk, so account managers and sales reps can see active customer issues without asking anyone. Ticket status changes, priority updates, and resolution notes in Freshdesk show up in Salesforce in real time, keeping both teams in sync without manual data entry.

Use case

Create Freshdesk Contacts from New Salesforce Leads and Contacts

When a new Lead or Contact is created in Salesforce — through a form submission, marketing campaign, or sales prospecting — a corresponding contact record is automatically provisioned in Freshdesk. Your support team is ready to help new customers from day one without waiting for anyone to manually set things up.

Use case

Escalate High-Priority Freshdesk Tickets to Salesforce Opportunities or Tasks

When a Freshdesk ticket is escalated or flagged as urgent, tray.ai can automatically create a Salesforce Task or flag the associated Opportunity for executive review. It's a direct line between customer dissatisfaction and commercial risk — account executives get the signal they need to step in before churn happens.

Use case

Update Salesforce Account Health Scores Based on Freshdesk Ticket Activity

Pull ticket volume, resolution times, CSAT scores, and escalation rates from Freshdesk to dynamically update custom health score fields on Salesforce Account records. Sales and customer success teams can use these enriched records to prioritize outreach, spot at-risk customers, and make smarter renewal decisions.

Use case

Log Freshdesk CSAT Scores Against Salesforce Accounts

Whenever a CSAT survey response comes in through Freshdesk, tray.ai automatically posts the score, comment, and ticket details to the corresponding Salesforce Account or Contact record. Over time, this builds a real satisfaction history inside your CRM that can inform renewal conversations, upsell timing, and executive business reviews.

Use case

Trigger Salesforce Workflows from Freshdesk Ticket Resolution

When a Freshdesk ticket is resolved or closed, tray.ai can automatically kick off downstream Salesforce workflows — sending a follow-up email, scheduling a check-in task for the account owner, or updating a custom field on the Account. Support resolution feeds directly into proactive customer success activities, with no manual handoff required.

Use case

Bidirectional Contact and Account Sync Between Freshdesk and Salesforce

Keep contact and account data continuously in sync between Freshdesk and Salesforce so that any update in either system — a phone number change, company rename, or new address — automatically appears in the other. No stale records, no switching tools to check which version is current.

Get started with Freshdesk & Salesforce integration today

Freshdesk & Salesforce Challenges

What challenges are there when working with Freshdesk & Salesforce and how will using Tray.ai help?

Challenge

Matching Records Across Systems Without a Shared ID

Freshdesk and Salesforce use different internal identifiers, so reliably matching a Freshdesk ticket to its corresponding Salesforce Account, Contact, or Case requires careful matching logic. Without it, integrations risk creating duplicate records or updating the wrong account entirely.

How Tray.ai Can Help:

tray.ai's flexible data mapping and conditional logic let you build matching rules — looking up records by email address, domain, or a custom cross-reference field — before any create or update action runs. You can store Salesforce record IDs as custom attributes on Freshdesk contacts and vice versa to make sure the right records get matched every time.

Challenge

Handling Bidirectional Sync Without Infinite Loops

When both Freshdesk and Salesforce can trigger updates to each other, circular update loops become a real risk. A change in one system triggers an update in the other, which triggers another update back — and so on. Left unchecked, this wastes API calls and can corrupt your data.

How Tray.ai Can Help:

tray.ai lets you build loop-prevention logic using timestamp comparisons, source-of-truth flags, or conditional checks that detect whether an update originated from the integration itself before triggering any downstream action. Your sync stays reliable and your API rate limits stay intact.

Challenge

Mapping Divergent Data Schemas and Field Types

Freshdesk and Salesforce use fundamentally different data models. Freshdesk ticket priorities are text-based labels; Salesforce Case priorities are picklist values. Custom fields in one system have no automatic equivalent in the other. Poor mapping means lost data and broken workflows.

How Tray.ai Can Help:

tray.ai's visual data mapper and built-in transformation tools make it straightforward to translate values between schemas, apply field-level transformations, and handle conditional mapping logic for custom fields. You can define reusable mapping configurations that apply consistently across all related workflows.

Challenge

Keeping Sync Reliable Across Salesforce API Limits

Salesforce enforces strict API call limits based on your edition and license count. High-volume integrations — syncing every Freshdesk ticket update in real time — can burn through those limits fast, causing workflows to fail silently or throw errors during peak periods.

How Tray.ai Can Help:

tray.ai has built-in rate limit handling, automatic retries with exponential backoff, and the ability to batch API requests where Salesforce supports bulk operations. You can also switch workflows to a scheduled polling interval instead of real-time triggering when it makes sense, which cuts API consumption significantly without sacrificing data freshness.

Challenge

Managing Contact Deduplication Across Both Platforms

Contacts accumulate in both systems independently — customers submit tickets in Freshdesk while sales reps add prospects in Salesforce. Without deduplication logic in the integration layer, each sync run can create new duplicates instead of updating the ones that already exist.

How Tray.ai Can Help:

tray.ai workflows can run pre-sync deduplication checks that search for existing records by email, phone, or name before creating anything new. When a potential duplicate turns up, the workflow can update the existing record, skip the creation, or route it to a human review queue — so you stay in control of data quality outcomes.

Start using our pre-built Freshdesk & Salesforce templates today

Start from scratch or use one of our pre-built Freshdesk & Salesforce templates to quickly solve your most common use cases.

Freshdesk & Salesforce Templates

Find pre-built Freshdesk & Salesforce solutions for common use cases

Browse all templates

Template

New Freshdesk Ticket → Create Salesforce Case

Creates a new Case in Salesforce whenever a ticket is opened in Freshdesk, mapping ticket fields like subject, description, priority, and requester email to the corresponding Salesforce Case fields and linking the case to the matching Account or Contact.

Steps:

  • Trigger: New ticket is created in Freshdesk
  • Lookup: Search Salesforce for a matching Contact or Account by requester email
  • Action: Create a new Case in Salesforce with mapped ticket fields and link it to the matched record

Connectors Used: Freshdesk, Salesforce

Template

Freshdesk Ticket Status Change → Update Salesforce Case Status

Keeps Salesforce Cases in sync with their Freshdesk counterparts by automatically updating Case status, priority, and resolution notes in Salesforce whenever a ticket is updated, escalated, or closed in Freshdesk.

Steps:

  • Trigger: Ticket status or priority is updated in Freshdesk via webhook
  • Lookup: Identify the matching Salesforce Case using the Freshdesk ticket ID stored in a custom field
  • Action: Update the Salesforce Case status, priority, and relevant notes to reflect the change

Connectors Used: Freshdesk, Salesforce

Template

New Salesforce Contact → Create Freshdesk Contact

Provisions a new contact in Freshdesk whenever a Lead is converted or a new Contact is created in Salesforce, so your support team has immediate access to new customer records without any manual data entry.

Steps:

  • Trigger: A new Contact or converted Lead is created in Salesforce
  • Check: Verify the contact doesn't already exist in Freshdesk by searching on email address
  • Action: Create a new contact in Freshdesk with name, email, phone, and company details from Salesforce

Connectors Used: Salesforce, Freshdesk

Template

Freshdesk CSAT Response → Log Score on Salesforce Account

Captures every CSAT survey response from Freshdesk and logs the score, verbatim comment, and ticket reference as an activity or custom field update on the associated Salesforce Account record, building a longitudinal satisfaction history inside the CRM.

Steps:

  • Trigger: A CSAT survey response is received in Freshdesk
  • Lookup: Match the ticket requester to a Salesforce Contact and parent Account by email
  • Action: Log the CSAT score and comment as a completed Task or update a custom CSAT field on the Salesforce Account

Connectors Used: Freshdesk, Salesforce

Template

High-Priority Freshdesk Ticket → Salesforce Task for Account Owner

Creates a high-priority Task in Salesforce assigned to the Account owner whenever a Freshdesk ticket is escalated or set to urgent priority, so the right person gets notified without anyone having to track down an email thread or Slack message.

Steps:

  • Trigger: A Freshdesk ticket is escalated or its priority is set to Urgent or High
  • Lookup: Find the matching Salesforce Account and retrieve the Account Owner's user record
  • Action: Create a new high-priority Task in Salesforce assigned to the Account Owner with ticket details and a direct link

Connectors Used: Freshdesk, Salesforce

Template

Bidirectional Freshdesk and Salesforce Contact Sync

Runs a continuous bidirectional sync between Freshdesk and Salesforce contacts, detecting changes in either system and propagating updates to the other while applying deduplication logic to prevent duplicate records from being created.

Steps:

  • Trigger: A contact is created or updated in either Freshdesk or Salesforce (via webhook or scheduled poll)
  • Transform: Map the updated fields from the source system schema to the destination system schema
  • Action: Upsert the contact record in the destination system and log the sync event for audit purposes

Connectors Used: Freshdesk, Salesforce