Academy / Week 2 / SyncApp Support Service / SyncApp Creation Under the Hood — Support, Settings & OAuth

SyncApp Creation Under the Hood — Support, Settings & OAuth

Lesson 8.1 ⏱ ~12 min Week 2

💡 Why This Matters

This high-level walkthrough ties together three services — SyncApp Support, SyncApp Settings, and SyncApp OAuth — showing how a new integration connects them all. It's the architectural overview before the deep dives that follow.

🎯 What You'll Learn

  • The sync-app-support repo and how it drives the 'Create Cloud Sync App' dropdown in WAM
  • How each PMS defines its own required credential fields (Cloud9 = Client ID, Avamark = Installation ID, Curve = Office URL)
  • How submitted credentials become WAM location settings that the SyncApp reads at startup
  • The sync-app-oauth repo and its role: handle the initial OAuth authentication flow for OAuth-based PMS integrations
  • How the SyncApp Go OAuth2 library handles automatic token refresh (no manual work needed)
  • Development strategy: hardcode a token initially, implement OAuth at the end of a project

Watch Video

Open in Google Drive 💡 Open in Drive for AI-powered transcript search and summaries

📋 Lesson Summary

When an office clicks 'Create Cloud Sync App' in WAM, the integration dropdown is entirely driven by the sync-app-support repo — new PMSs are added by implementing a provisioner there, with no frontend changes needed. Each provisioner defines which credential fields are required. After submission, those credentials are stored as WAM location settings that the SyncApp reads at startup. For OAuth-based PMSs, the sync-app-oauth repo handles the initial auth flow (showing an authorization page, handling the callback, storing the token). After initial auth, the Go OAuth2 library automatically refreshes tokens — developers don't need to write refresh logic.

🏷 Key Concepts

sync-app-support RepoPMS Integration DropdownWAM Location Settingssync-app-oauth RepoOAuth Flow (Initial Token)Token Refresh (Go OAuth2 Library)Provisioner InterfaceHard-coded Token for Development

Key Takeaways

01To add a new PMS to WAM's dropdown, implement a provisioner in sync-app-support — no frontend changes needed
02PMS credentials submitted in WAM become location settings read by the SyncApp at startup
03sync-app-oauth handles the initial OAuth token only — the Go OAuth2 library handles all subsequent refreshes
04Development strategy: hardcode a token first to get sync working, then implement OAuth at the end
05Each OAuth integration needs two endpoints in sync-app-oauth: show auth page + handle callback