Academy / WAM & Creating Sync Apps / Running SyncApp Locally on Your Mac

Running SyncApp Locally on Your Mac

Lesson 4.6 ⏱ ~15 min

💡 Why This Matters

Running SyncApp locally is how you develop and test code changes before deploying. Every Integrations engineer must be able to spin up a local SyncApp, see data syncing from a PMS, and verify their changes are working before raising a PR.

🎯 What You'll Learn

  • The manual steps to run a cloud SyncApp locally: create location → get PMS credentials → create data source (credentials) → add PMS settings via Darren Super Patch → configure settings.json → run `make dev`
  • What settings.json contains: practice (dev/prod), location username/password (sync app credentials), adapter ID, PMS name
  • Why you must be connected to VPN to run SyncApp locally
  • The ICPA (Integration Cloud Partner Adapter) error that occurs when running locally and how to fix it
  • The difference between `make build` and `run dev` scripts

Watch Video

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

📋 Lesson Summary

Running SyncApp locally requires: (1) A location in WAM. (2) PMS credentials from the Helpful PM Info document. (3) A new data source created in WAM to get SyncApp credentials (username/password). (4) PMS credentials added to WAM settings via Darren Super Patch. (5) settings.json configured with practice=dev, the SyncApp credentials, adapter ID, and PMS name. (6) Running `run dev` from the SyncApp repo root with VPN connected. The common error is an ICPA proxy connection failure — fixed by commenting out the transport layer code in the PMS-specific adapter. After this fix, the SyncApp runs on your Mac and syncs data.

🏷 Key Concepts

Local SyncApp Setup settings.json Adapter ID ICPA (Integration Cloud Partner Adapter) Transport Layer make dev / run dev VPN Requirement Helpful PM Info Document

Key Takeaways

01Always be connected to VPN before running SyncApp locally
02The ICPA proxy error is expected when running locally — comment out the transport layer to bypass it
03settings.json is the only file you need to configure for local runs — keep a template copy
04The location username+password in settings.json are the SyncApp credentials (source ID + password), not your personal login
05After a successful local run, verify by checking WAM — your machine's hostname should appear as the SyncApp host