Set up Contact Synchronization from Microsoft SQL
Once Cloud Voice is connected to your Microsoft SQL database, you can pull contact records into the system on a set schedule. Imported contacts become dialable from the Cloud Voice App, and because each batch lands in a phonebook, you can also route incoming calls to the right team by matching a caller against a particular phonebook.
Capacity limits
Section titled “Capacity limits”How many company contacts and phonebooks your system can hold depends on the number of extensions it has.
| Extensions (N) | N ≤ 50 | 50 < N ≤ 200 | N > 200 |
|---|---|---|---|
| Company contacts (total) | 50,000 | 200,000 | 500,000 |
| Company phonebooks | 100 | 200 | 500 |
Before you begin
Section titled “Before you begin”Map the contact fields you want to exchange between Cloud Voice and Microsoft SQL. See Integrate Cloud Voice with Microsoft SQL.
Sync contacts from Microsoft SQL
Section titled “Sync contacts from Microsoft SQL”-
On the Microsoft SQL configuration page, scroll down to the Contacts Synchronization section.
-
Turn on Contacts Synchronization, then complete the settings below.

Synchronize to Phonebook: Decide where the imported contacts are stored:
-
Create New: Build a brand-new phonebook for the synced contacts. Enter its name in the Phonebook Name field.
-
Read Specific Property Value and Create New: Generate phonebooks automatically from the values held in one column of your contact table. Enter that column’s name in the Property Name field.
-
{existing_phonebook}: Send the contacts to an existing empty phonebook.
Data Synchronization Frequency: Choose how often contacts are synced, then set the time in the field that appears.
Feedback Email: Optional. Enter an address to be notified of each synchronization result.
Sync Contact Filter: Enter the
SELECTstatement that pulls records from Microsoft SQL, using the formselect ${MAP} from {schema_name}.{table_name}.For example:
select ${MAP} from testpbx.contacts order by id descselect ${MAP}, the database columns to bring into the system. At runtime,${MAP}is replaced by the field values that correspond to the fields you enabled in the Map section.from testpbx.contacts, the source table, written as a two-part name ({schema_name}.{table_name}).order by id desc, sorts the results in descending order.
Remove existing contacts which are not received from the server: When enabled, any contact that synced successfully last time but is missing from the current run is deleted.
-
-
Click Save.
-
Click Sync Now to synchronize contacts right away.

Check the results
Section titled “Check the results”-
A banner appears showing how many contacts were synchronized into the system.

-
Review the imported contacts and their phonebooks under Contacts > Company Contacts / Phonebooks. Records that came from the SQL source carry a source tag
.
-
Authorized extension users can view and dial the contacts directly from the Cloud Voice App.

Next steps
Section titled “Next steps”To send incoming calls to specific destinations based on which phonebook a contact belongs to, set up inbound routes that match callers against your phonebooks.