I’m trying to figure out how to sync my freshdesk and Scrumwise accounts via their API.
I need a basic sync, ie when a ticket is put in level 2 in freshdesk it is synced to Scrumwise backlog and the status, the comments of the backlog are synced back to freshdesk when added or changed.
I have some coding experience but i need some little pointers as I never worked with any API
I read the support FAQ, and I get the idea, but I would appreciate a general explanation.
I can subcontract the mission to someone if anyone is intrested.
8 months ago
Here is an outline of how you would do a sync like that between Freshdesk and Scrumwise, via the Scrumwise API.
Syncing from Freshdesk to Scrumwise:
1. Retrieve the tickets in Freshdesk that have a state such that you want them to be represented in Scrumwise, via Freshdesk's API.
2. Read the data in your Scrumwise account, using the getData method in the Scrumwise API, and parse it into a suitable data structure. For example, a data structure that includes a map from externalID to backlog item (see below).
3. For each ticket in Freshdesk, check if a corresponding backlog item has been created in Scrumwise, and if not, create it using the addBacklogItem method in the Scrumwise API. You should use the externalID feature in the Scrumwise API (see https://www.scrumwise.com/api.html#external-ids) to keep track of which backlog items in Scrumwise correspond to which tickets in Freshdesk. For example, if a ticket has id 598983 in Freshdesk (I'm not aware of how their ids look specifically, but just assume this is a Freshdesk ticket id), then use an externalID of "Freshdesk_Ticket_598983" in Scrumwise. So, when you create the backlog item for that ticket using addBacklogItem, specify " Freshdesk_Ticket_ 598983" as the externalID property for that backlog item. This way, you can keep track of which backlog items you've already created in Scrumwise (to avoid creating them multiple times), and which backlog items should have their status, comments, etc. synced back to Freshdesk.
2. When the data version has changed, read the data in your Scrumwise account, using the getData method, and parse it into a suitable data structure, like in step 2 above.
3. Loop through the backlog items in the retrieved data, and for each backlog item that has an externalID that starts with "Freshdesk_Ticket_", retrieve the corresponding ticket from Freshdesk, via the Freshdesk API, and check if anything needs to be updated in Freshdesk, and if so, do that update via the Freshdesk API. For comments and other objects, you may want to use external ids, too, to keep track of which backlog items in Scrumwise correspond to which comments created on tickets in Freshdesk. For example, for comments, when you've created the corresponding comment in Freskdesk, use the setCommentExternalID method in the Scrumwise API to set the externalID of the comment in Scrumwise, for example to "Freshdesk_Comment_83289", if the comment you've created in Freshdesk ends up getting the id 83289 in Freshdesk.
That's the basic principle. I will say, though, that syncing between two applications like this is not the easiest thing in the world, and can be quite tricky to get right. So if you don't have any experience with using APIs like this, or with syncing between applications, you may want to get someone that has, to do this, if possible. Or, you could start with just syncing from Freshdesk to Scrumwise, and not the other way.
I hope this helps.
7 months ago
I represent cloudchoice.ca, we are a Solutions partner of Freshworks located in Canada. Among other services, we build custom app integrations with Freshdesk. We would be glad to help you build Scrumwise integration.