📍 Refresh 2026 — AI Service Transformation May 14, 2026 | Convene 30 Hudson Yards, New York City
Using Freshdesk
Recently active
Not all your tickets need to migrate. Filtering lets you move only what matters.Most teams migrate everything by default. Then they spend days after go-live cleaning up resolved tickets from three years ago, closed spam, and test records that never should have moved. Data filtering during migration prevents that.It lets you define exactly which tickets transfer to Freshdesk or Freshservice. Less data means faster migration, a cleaner target system, and less noise for agents from day one.Why filtering mattersMoving all your data sounds safe. It isn't always. Here's what unfiltered migrations lead to:Agents waste time in a cluttered system full of outdated or irrelevant tickets Reporting gets skewed by historical data that no longer reflects current performance Migration takes longer, increasing the window of risk Storage costs in the new system grow from day oneFiltering gives you a cleaner starting point.One important thing to understand firstThe filters available during migration depe
Most enterprise help desk migrations run on standard shared infrastructure. It means multiple organizations, one common environment, data processed in a pool that your security team doesn't control. For enterprises without strict regulatory obligations, that's workable. For those that do, it's a non-starter.Private Cloud Help Desk Migration is built for enterprise teams operating under strict security policies, data residency mandates, or regulatory frameworks that shared infrastructure can't satisfy. If your legal, security, or compliance team needs to sign off on how and where your data is processed during a migration, standard tooling typically can't give them what they need .If your team is asking questions like "where exactly is our data processed during the transfer?" or "can we guarantee it doesn't leave a specific region?" — shared infrastructure doesn't have a satisfying answer. That's the gap Private Cloud Help Desk Migration exists to fill.What actually changes with Private
when I send latest public comment in email, it sends the attachment as hyperlink and not as an attachment which is causing issue of logging in again to freshworks. Can you suggest any way to send comment attachment through API or email?
Did we save the best for the last day of November? Let’s find out.@sukanya.arunachalam, Customer Success Engineer, Freshworks, is all set to take the stage at a special ‘Ask Me Anything’. A little note about our host 💎I got lucky to start and continue my career with a customer-facing job in an expeditiously growing company with over 8 plus years of experience. Starting as a Support Engineer really helped me to shape myself to have a "Customer First" attitude and to become this ardent customer experience representative.Having gained some technical exposure on how SaaS-based products function and have found some success in the areas of Implementation, customer support, framing/coordinating processes, and coaching analysts, I am working on understanding the workflow model of different businesses across SaaS to help offer recommendations which in turn would help deliver better ROI and improve our customers KPI’s! 🎥 Topic: 1. API’s: Overview and capabilities 2. Custom Objects💡 You will
Using: /api/v2/search/tickets?query=[query]:The official FreshDesk docs provide this limitation: "The number of objects returned per page is 30; also, the total count of the results will be returned along with the result" and "To scroll through the pages, add page parameter to the URL. The page number starts with 1 and should not exceed 10." This implies that I can only account for a maximum of 300 objects (tickets). What if I have more than 300 objects to account for in a specified interval, say within an hour?The ‘created_at’ parameter is strictly a date datatype (YYYY-MM-DD), so I cannot partition the data according to hours, which would otherwise have been a solution that circumvents the pagination limitation. Using: /api/v2/tickets?:Another significant limitation is the ‘updated_since’ parameter. It only applies to tickets that have been updated at least once during their lifespan. Tickets that are not updated will not appear in the API response, further restricting the data that
Hi Freshworks Community!Your help desk migration has a blind spot. Every ticket is updated as the data transfers.Businesses lost $3 billion globally in 2025 from poor customer experiences. A migration that drops active tickets contributes directly to that number.The standard approach: freeze ticket activity, move the data, resume work. Tickets still arrive during that window. Agents can't respond. A backlog forms fast, and when migration finishes, updates get missed, conversations get crossed, and SLAs break.Delta migration solves this. It captures every ticket created or updated after your full data migration began, and transfers them to the target system. Your team keeps working on the source the entire time.Why Delta migration matters for live support teamsIt's the right fit when:Ticket volume is high — even a short freeze creates a backlog Your team spans time zones — there's no clean window to pause global support SLA commitments are strict — paused activity triggers escalations f
Moving to Freshdesk or Freshservice? Preserve ticket structure, workflows, and automation with accurate data mapping. Your new system runs like your old one—no downtime, no broken processes.Why data mapping mattersProper mapping is crucial for a smooth help desk migration. It ensures data lands correctly, preserving ticket structure and workflows. Key benefits:Protects ticket context, history, and attachments Maintains workflows and automation Keeps required fields accurate Reduces errors in ticket handling Preserves reporting and SLA trackingWhat can be mapped?Field mapping is available for:Freshdesk: tickets, customers (contacts), organizations Freshservice: incidents, problems, changes, customers, organizationsYou can map both default fields and custom fields.Understanding default, system, and custom fieldsFields in Freshdesk and Freshservice fall into three categories:System FieldsExamples: Subject, Tags, Organization, Group, CC, Assignee, Contact, Comments, Created date, Updated d
Hi,I realize this question is better posted to the FreshservicePS Slack channel, but I haven’t received a response in that forum so I’m trying my luck here.I’m using the FreshservicePS PowerShell module and have a question regarding the data retrieved with Get-FreshServiceTicket. I have a ticket that was created from a Service Catalog form, and when I view the SR in the WebUI the form data is visible but it is not retrieved with Get-FreshServiceTicket.How do I retrieve this data using powershell or via the API directly?Thanks!
Hello, I can aceess https://domain.freshservice.com/api/v2/tickets/{ticket_id}, but I can't access https://domain.freshservice.com/api/v2/tickets/{ticket_id}/csat_response. I get:Failed to retrieve ticket: 403{"code":"access_denied","message":"You are not authorized to perform this action."}The account from which I'm using the API key has all the roles and permissions. Thank you!
I’m making requests to bring ticket data and I’ve included the stats. However, I noticed that in some requests the first_responded_at field has a date before created_atExample: "created_at": "2025-08-04T21:17:28Z", "updated_at": "2025-08-29T14:40:53Z", "associated_tickets_count": null, "tags": [ "PROD02221-594" ], "stats": { "agent_responded_at": "2025-08-06T20:43:38Z", "requester_responded_at": "2025-08-06T19:47:42Z", "first_responded_at": "2024-12-02T21:53:47Z", "status_updated_at": "2025-08-11T15:30:51Z", "reopened_at": null, "resolved_at": null, "closed_at": null, "pending_since": null What could be causing this?
I am attempting to set up a Webhook Freshdesk automation to PUT ticket data into my CRM. I need the company_ID in the data but cannot get anything to come through with the other fields.I have tried all of the following:{{ticket.contact.company_id}} {{ticket.contact.companyid}} {{ticket.company.id}}} {ticket.company_id}} {{company_id}} {{ticket.contact.department_id}}None of these returns any value at all. What is the correct tag for pushing the ID of the company?
Applicable plans: Forest/Enterprise You can create Custom Objects to capture all relevant, business-critical information right from the get-go with just a few clicks. Through these Custom Objects, you can equip your agents with complete context and enable them to be productive, and respond and resolve faster than ever. If you are on the Forest or Enterprise plan, just drop a comment on this post to learn more!
Hi Freshworks Community, Teams that have already migrated to Freshworks often say the result was positive—but only after learning a few important lessons along the way. Based on real migration experience, companies most often recommend:Spending extra time on data mapping to clearly define what the end result should look like. Cleaning up source data before migration—fixing 50 or 100 tickets in advance is far easier than correcting issues across 60,000 later. Running multiple test migrations to validate different scenarios and confirm all data is transferred as expected. Using an automated migration tool to make the Full Migration as seamless as possible. Coordinating with the Freshworks team during the migration to simplify onboarding and avoid configuration gaps. Even the best migration tools can only do so much if expectations and workflows aren’t clearly defined upfront. Feel free to vote and share your experience—your feedback can help others plan a smoother Freshworks migration.
Hi,I'l like to use powerbi to make some reports.I discovered this: https://apps.freshdesk.com/freshdesk_on_powerbi/Looks great.Then I received the mail below, then nothing.Do you know what I'm supposed to do?ThanksMatthieu
Hello everyone! I’m new here and just getting started with development in Freshworks. Right now, I’m trying to create my first app. I’m attempting to get a list of agents via the API, but something is going wrong. I’m getting a console error about an unregistered function. Even though I’m doing everything according to the documentation. If anyone knows what might be the issue, please let me know. manifest.json{ "platform-version": "3.0", "modules": { "common": { "location": { "full_page_app": { "url": "index.html", "icon": "styles/images/icon.svg" } }, "requests": { "getAgents": {} } }, "support_ticket": {} }, "engines": { "node": "18.20.8", "fdk": "9.7.4" }, "app": { "tracking_id": "aixfa4rlutw791e3iubp" }}requests.json{ "getAgents": { "schema": { "protocol": "https", "method": "GET", "host": "<%= iparam.domain %>.freshdesk.com", "path": "/api
Hi,Why is there no OpenAPI / Swagger YML specification file available for Freshworks APIs ?I tried both URLs below but did not work: https://MY-ACCOUNT.freshdesk.com/api/v2 https://MY-ACCOUNT.freshdesk.com/api/v2/swagger.yml I guess you would agree that OpenAPI is a standard among software APIs and would make life so much easier for Postman tests and API access code generation.And would be a really nice companion for the already nice Freshworks products :-)Thanks
If there a way to use a widget so the widget is always open and embedded in the middle of the webpageI would like it to be always open as it is on this website https://www.directline.com/car-cover/contact-usI can only place it bottom left/bottom right with a help buttonIf I try and use an iframe, it no longer appears bottom left or right, but the content does not load.
Hi everyone! I would like to ask for some help.I have the task of integrating FreshDesk with Power BI. Here in the forum I found some steps, but I still have doubts and need help to move forward with this demand.I would like to know if there is a step-by-step tutorial for beginners on how to do this integration. From scratch! Because nothing like this has ever been done in my environment. I have already done this configuration: and now I need the steps to proceed with the integration. Can you help me? I would be very grateful! Best regards.
I am using the Freshservice API, and I made a change. I now want to submit the change for approval, but not against 1 person. It is more like a group of people. In the Web Interface, I would normally click “Request for approval”, then click “CAB Approval” and then select say “Canada - CAB”. Then a list of 5 people appears with checkbox. I want to keep them all checked, but change the type to “anyone can approve”.The endpoint I have for making approvals is “/api/v2/ticket/1448/approvals”, and json object body is { "approval_type": 2}but I keep getting 404. Also I have no idea how to set up the body json for my specific request. Does anyone know? Thanks
Hello Freshdesk Support Team, We are experiencing a limitation with the Freshdesk API v2 that is impacting our integration and reporting capabilities. Issue Summary: We cannot access thread conversations (Private Threads, Forward Threads, Discussion Threads) that exist within ticket notes via the API, even though these threads are visible and functional in the Freshdesk web interface. Current Situation: What Works: We can successfully retrieve main conversations using: GET /api/v2/tickets/[id]/conversations We can see private notes and public notes - The web interface shows all threads correctly What's Missing: Thread conversations nested within notes are not returned by the conversations endpoint - Multiple replies within a Private Thread appear as a single note in the API response We lose the thread hierarchy and individual messages within threads Technical Details: 1. API Endpoint Being Used: - GET /api/v2/tickets/[ticket_id]/conversations 2. Expected Behavior: AP
Hi,I’ve created a feedback widget.I’ve added the related code to the footer connecting a button with a JS listener and it’s correctly opening a ticket.I’ve tried to pre-fill the most of the filed ( native and custom ) following the documentation:https://developers.freshdesk.com/widget-api/But the filed are not auto filled.I’m sharing the code, could you please confirm that the structure in correct ( we can asume that the maping is correct ) : <script> window.fwSettings = { 'widget_id': 103000008811 }; !function(){if("function"!=typeof window.FreshworksWidget){var n=function(){n.q.push(arguments)};n.q=[],window.FreshworksWidget=n}}();</script><script type='text/javascript' src='https://euc-widget.freshworks.com/widgets/103000008811.js' async defer></script><script> document.getElementById('feedback-btn').addEventListener('click', function() { FreshworksWidget('on', 'widget:loaded', function() { FreshworksWidget('prefill', 'ticketForm', {
Hi there,Just a question to create a discussion: we are looking for an tool to easily create API Documentation. We are very impressed by the way the Freshdesk API is documented. Does someone know which tool Freshworks uses to create these API documentations pages? If not, any other experiences with great tools to create API documentation?https://developers.freshdesk.com/Kind regardsJos van den End
I am trying to gather specific information on our Freshdesk tickets via API. It seems there is no way to actually get the activities (such as closed via a scenario automation rule) of a ticket via API unless you create a report and export it (Example: https://support.freshdesk.com/en/support/solutions/articles/226460-export-ticket-activities-from-your-helpdesk). This will not work for my needs. However, I feel like certain fields could be useful for our reporting needs, such as Closed By or Resolved/Closed Reason (per agent, automation, per customer, etc…). Unless I’m missing something in the API documentation, I’m not seeing any fields similar to these as part of the ticket API. I know I can get Resolved At and Closed At by using “/api/v2/tickets?include=stats”, but that only includes dates and not who closed the ticket and potentially why it was closed. Is this possible with the current API?
When I attempt to create a solution article from URL using the Article creation API, I get the following errors: "description": "Validation failed", "errors": [ { "field": "title", "message": "This field cannot be empty", "code": "missing_field" }, { "field": "description", "message": "This field cannot be empty", "code": "missing_field" }, { "field": "folder_id", "message": "This field cannot be empty", "code": "missing_field" }, { "field": "status", "message": "This field cannot be empty", "code": "missing_field" } ]I have all of these values set in the API call. I have tried all sorts of formatting to make sure that the values are the correct type as well. I am using postman currently, but I have also tried just running this in powershell with the same result. I am sure that there is some
Hi everyone, We are an OTA (Online Travel Agency) and we use FRESHDESK, FRESHCHAT and soon what used to be called FRESHCALLER. At the time this message is being written, we have different channels through which tickets are created. The main ones are Freddy the CHATBOT or via incoming EMAILS.CHABOT : We gather a LOT of data from the clients booking (booking date, traveling date, insurance etc.) and we structurally push this information via the CREATE TICKET verb of the FRESHDESK API at the end of the CHATBOT CONVERSATION. As a result, the custom fields are filled in and we are able to calculate PRIORITIES (via the AUTOMATION RULES) based on these fields. EMAILS : Here the situation is a bit more difficult. Let me try to summarize what happens : One of our system (outside of FRESHDESK) sends an email to the client, The client answers this email, via email of course, This client answer triggers the creation of a ticket in FRESHDESK unlike the case of the CHATBOT, here we do not have
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.