Authentication page where you provide source and destination credentials
Defining source and destination entities to be synced
Mapping between source and destination entities along with specifying matching criteria
A single application for all sync use cases.
What it does
The app does the following in sequence:
- Listens product events from source account
- When an event is received it converts the source object to destination object.
- 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:
- Source account details ie., domain, api key
- Source object details ie., source object name, schema url, endpoint url etc.,
- Destination account details ie., domain, api key
- 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
- Constrains defined by fdk platform. For example only https urls are allowed in client.
- 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.
- No .html is allowed other than iparams.html. This made creating multiple tabs tabs difficult and we had to go ahead with multiple divs.
- 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
- To some extent how marketplace works and what are its limitations.
- How marketplace can be leveraged for sync use cases.
What's next for Simple Sync Service (s3)
- Currently only a single item can be synched, it can be extended to multiple items
- 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.
- Webhooks support from marketplace can be used to allow third party applications to sync to freshworks products.