Best approach for building a 2-way data sync app

Hi,

We would like to build a 2-way data sync app. We want to start with syncing contacts first.

We’ve seen DataSync app built by HubSpot which are installed from the clients HubSpot. This seems ideal and the correct approach. The issue is we can’t find anyway to build an app like this.

The alternative mechanism seems to be to have the client log in to HubSpot from our software so we can acquire the token and start syncing.

For us, we would ideally like to build a HubSpot Data Sync app which the client can log in to from their HubSpot account.

Whats the best approach here, can anybody provide us with some insight?

Thanks.