---
schema_version: "1"
id: b19cda2acfc81ef95512da2c948e6495dbe30b4d881e266aabfd99ed0c5d450b
title: Clone Before You Build
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/service-cloud/api-cti/guides/clone-before-build.md
canonical_url: https://developer.salesforce.com/docs/service/api-cti/guide/clone-before-build.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: c64a729ea63d9bf3456f5312bcd3a832af13541a77352907a54532ec3b2cb1b0
products:
  - Open CTI Developer Guide
  - Service Cloud Developer Content
---

# 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.

   ```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.

   ```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.

   ```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
```
