Skip to content

Set up Contact Synchronization from Microsoft SQL

Once contacts flow from Microsoft SQL into Cloud Voice, your team can dial those records straight from the Cloud Voice App. Because the synced records land in phonebooks, you can also have Cloud Voice send incoming calls from those contacts to whichever destination you choose, based on the phonebook a caller belongs to.

How many company contacts and phonebooks you can hold depends on the number of extensions on your system. Use the table below to check the ceiling for your deployment.

Extensions (N)N ≤ 5050 < N ≤ 200N > 200
Company contacts (total)50,000200,000500,000
Company phonebooks100200500

Map the contact fields you want to sync between Cloud Voice and Microsoft SQL first. See Integrate Cloud Voice with Microsoft SQL.

  1. Open the Microsoft SQL configuration page and go to the Contacts Synchronization section.

  2. Turn on Contacts Synchronization, then fill in the settings described below.

    Cloud Voice, the Contacts Synchronization settings, including the target phonebook, sync frequency, feedback email, and SELECT filter

    SettingWhat it does
    Synchronize to PhonebookChoose where the synced contacts are stored. See the phonebook options below.
    Data Synchronization FrequencyPick how often contacts sync, then set the time in the field that appears.
    Feedback EmailOptional. Enter an address to be notified of each sync result.
    Sync Contact FilterEnter the SELECT statement that pulls contacts from Microsoft SQL. See the syntax below.
    Remove existing contacts which are not received from the serverWhen on, contacts that synced successfully last time but are missing from this run are deleted.

    Phonebook options for Synchronize to Phonebook:

    • Create New: Build a brand-new phonebook to hold the synced contacts. Type its name in the Phonebook Name field.
    • Read Specific Property Value and Create New: Generate phonebooks automatically from the values in one column of your contact table. Enter that column’s name in the Property Name field.
    • {existing_phonebook}: Store the contacts in an empty phonebook that already exists on the system.

    Feedback email limit: up to 5 addresses are allowed. Separate them with a semicolon (;).

    Sync Contact Filter syntax: write the statement in the form select ${MAP} from {schema_name}.{table_name}. For example:

    select ${MAP} from testpbx.contacts order by id desc
    • select ${MAP}, Names the database columns you want to bring into Cloud Voice. At run time, ${MAP} is replaced by the field values that correspond to the Cloud Voice fields you enabled in the Map section.
    • from testpbx.contacts, The source table. You must use a two-part name in the form {schema_name}.{table_name}.
    • order by id desc, Sorts the results in descending order.
  3. Click Save.

  4. Click Sync Now to run the synchronization immediately.

    The Sync Now button used to pull contacts into Cloud Voice on demand

  • A banner appears showing how many contacts were synced into Cloud Voice.

    Confirmation banner reporting the number of contacts synchronized successfully

  • The synced records and their phonebooks appear under Contacts > Company Contacts / Phonebooks, each carrying the Microsoft SQL tag Microsoft SQL source tag.

    Synced Microsoft SQL contacts and phonebooks listed under Company Contacts

  • Authorized users can view and dial the contacts directly from the Cloud Voice App.

    Granting Contact Visibility permission so extension users can see a synced phonebook

To send incoming calls to specific destinations based on the phonebook a caller belongs to, set up inbound routes that match contacts across your different phonebooks.