# Clone Before You Build

The fastest migration path is not to build from scratch; it's to clone the demo connector and replace parts one at a time. The demo connector is a complete, deployable Salesforce Voice with Partner Telephony connector with all required methods stubbed out and working.

The demo connector handles:

- The full `VendorConnector` + `TelephonyConnector` scaffold
- All required event types (`CALL_STARTED`, `CALL_CONNECTED`, `HANGUP`, etc.)
- Rep status sync, ACW, recording toggle, mute, and hold
- A mock telephony backend that you replace gradually
- A built-in `CCaaS.html` call simulator for local end-to-end testing without a real backend

To get started with the demo connector, take these steps.

1. Clone the demo connector as your migration starting point.

   ```sfdocs-code {"lang":"bash"}
   git clone https://github.com/salesforce-misc/byo-demo-connector
   cd byo-demo-connector
   npm install
   ```

2. Clone your Open CTI adapter for reference alongside it.

   ```sfdocs-code {"lang":"bash"}
   git clone {your-open-cti-adapter-url}
   ```

3. Open both repositories in your code editor or IDE side by side.

4. Deploy the Salesforce-side org metadata by cloning and using the quickstart.

   ```sfdocs-code {"lang":"bash"}
   git clone https://github.com/salesforce/scv-partner-telephony-quickstart
   cd scv-partner-telephony-quickstart
   sf org create scratch -f config/project-scratch-def.json -a scv-migration
   sf project deploy start
   ```
