The difficult journey of a customer to get their own data from Zendesk
- No mechanism to export tickets for lower plans - (SMB)
- Export is available only for higher plans
- Even for higher plans, data export is disabled by default for the customers
- Accounts with more than 1 million tickets are downloaded in JSON format only in 31-day increments. - No csv
- CSV export doesn't have ticket description
- XML export supports only 200k tickets
Zendesk community threads on the issue: https://support.zendesk.com/hc/en-us/community/posts/203437096-Ticket-export-tool-for-End-users-Export-tickets-by-organization-?page=2
In the rest of the doc, ZD refers to Zendesk and FD refers to freshdesk.
How can FD make use of this?
Build an ZD export App for all the customers
- move their data from ZD to FD
- Most of the customers expect a backup of their data before moving from ZD to FD, which turns out to be a nightmare with ZD
- Act as the only platform available to easily export ZD data, thus providing a much asked ZD feature in FD - piquing the ZD customers' interest on FD.
What it does
The app accepts ZD domain, user_email, api token and exports ZD tickets as csv files and uploads to s3 and provides the s3 url to the user. It will also track from which freshdesk account, this export was initiated and ensures that a given account's data cannot be accessed by another account. The backend api server will run the export in background, thus enabling the server to manage multiple exports for different accounts at the same time.
How I built it
Ruby On Rails - backend Bootstrap components for the marketplace app localstack to mock aws s3 sqlite as db
Challenges I ran into
- AWS S3 SDK for ruby does not have good documentation. This made it difficult for us to configure localstack with aws.
- Zendesk SDK had dependency issues
- We were new to marketplace apps and their constraints. We did not realise we had to build our app as a backend app for almost first half of the hackathon, realised it much later.
Accomplishments that I'm proud of
- Configuring AWS SDK for localstack by going through AWS S3 SDk
- Fixing Zendesk SDK by going through their source code.
- Quickly realising we had to build a backend app and finally capable of finishing it within the timeline
What I learned
- Building marketplace apps
What's next for Zendesk Account Exporter
- Support authorisation for the export files generated
- Support exporting all other entities.
- Support time range