A single application for all sync use cases.

What it does

The app does the following in sequence:

  1. Listens product events from source account
  2. When an event is received it converts the source object to destination object.
  3. The app checks if the destination object already exists in the destination account. If the object already exists then the app updates the destination object with the changes else a new item is created in the destination in near REAL TIME.

For this the app requires the following:

  1. Source account details ie., domain, api key
  2. Source object details ie., source object name, schema url, endpoint url etc.,
  3. Destination account details ie., domain, api key
  4. Destination object details ie., object name, schema url, endpoint url etc.,

How I built it

Created app using fdk cli tool that used the IPaaS backend service to transform the entities and create the entities in the destination

Challenges I ran into

  1. Constrains defined by fdk platform. For example only https urls are allowed in client.
  2. Adding multi select drop down. Had to search for a lot of bootstrap items that was compatible with marketplace. Further, the bootstrap must be hosted in cdn to access it from marketplace.
  3. No .html is allowed other than iparams.html. This made creating multiple tabs tabs difficult and we had to go ahead with multiple divs.
  4. Initially thought of having a endpoint URL from which schema can be fetched however, several entities had no endpoint for schema so had to put a text area to read the schema in platform specific format.

Accomplishments that I'm proud of

1.Creating the almost 3/4th of the platform service in 2 days.

What I learned

  1. To some extent how marketplace works and what are its limitations.
  2. How marketplace can be leveraged for sync use cases.

What's next for Simple Sync Service (s3)

  1. Currently only a single item can be synched, it can be extended to multiple items
  2. Also, only one single integration can be created. However, allowing multiple integrations to be created as part of the app will make it extremely useful.
  3. Webhooks support from marketplace can be used to allow third party applications to sync to freshworks products.
Share this project: