Using Zoom Contact Center data tables

Data Tables let admins store structured reference data such as routing configuration, queue mappings, or business unit assignments and make that data available dynamically inside Contact Center flows. Instead of hard-coding logic into flow scripts, you define a table once in the admin portal and then look up values at runtime based on caller input or flow variables. A data table consists of:
Data tables integrate with flows in two ways:

Requirements for adding Zoom Contact Center data tables

How to add Zoom Contact Center data tables

  1. Sign in to the Zoom web portal.
  2. In the navigation menu, click Contact Center Management then Preferences.
  3. Click the Data tables tab.
  4. Click Add data table.
  5. Fill in the following fields:
  6. Configure the Reference key. This is the unique lookup field flows will use to find a record:
  7. Add Mapped fields. These define the data returned when a reference key is matched.
  8. (Optional) Click + Add mapped field to include additional fields.
  9. Click Add.
    The new table will now appear in your Data tables list.

How to add and edit data

Once a table is created, you can populate and manage its records directly in the admin portal or via CSV import.

Add a row manually

  1. In the Data Tables tab, click the table name to open it.
  2. Click Add row.
  3. Enter values for the reference key and each mapped field.
  4. Click Save.

Import rows via CSV

  1. Open the table.
  2. Click Import (or the CSV import option).
  3. Upload a CSV file formatted with columns matching the table's reference key and mapped field names.
  4. Confirm the import.

Edit or delete a row

  1. Open the table and locate the row.
  2. Click the row or its edit icon to modify values, then save.
  3. To remove a row, select it and click Delete.

How to use data tables in flows

Zoom Contact Center offers two methods for accessing data tables within a flow: the Data Table widget and the Script widget. For most use cases, we recommend using the Data Table widget due to its simplicity and ease of use. If you need to perform advanced data manipulation through code, you can first retrieve the data using a Data Table widget, then process it in a subsequent Script widget within your flow.

Using Data Table widget

The Data Table widget is the easiest way to perform a lookup and map the results to flow variables without coding.

Add the Data Table widget

  1. Sign in to the Zoom web portal as an admin.
  2. In the navigation menu, click Contact Center Management, then Flows.
  3. Click a flow's display name to open it in the editor.
  4. From the left-side widgets panel, drag Data Table onto the canvas.
  5. Select the widget, then configure:
  6. In the Map to variable section, map each table field to a flow variable:

Using Script widget (advanced)

For cases where you need to access table data programmatically, for example, to process the response, loop through fields, or apply conditional logic, use the built-in zcx_builtin_functions.data_table.get_record() function in a Script widget.
Before you begin, connect a Zoom app as a connector. The Script widget accesses data tables through the Zoom API via a configured connector. Complete the following setup once per account.

Create a new app in the Zoom App Marketplace

  1. In the navigation menu, click Contact Center Management, then Flows.
  2. Open a flow and click Connectors in the upper-right corner.
    You will be redirected to the Zoom App Marketplace.
  3. In the upper-right corner, click the Develop dropdown, then select Build app.
  4. Select General App.
Note: Your role must have the Zoom Apps permission. If Build app is not visible, grant the necessary permissions in User Management.

Configure the app

  1. (Optional) Rename the app.
  2. Under Basic Information:
  3. Under Features, click Surface, then confirm if Contact Center is selected.
  4. Under Features, click Connect then Base URL & Authentication.
  5. Configure the following:
  6. Under Scopes, add the scope: contact_center:read:datatable:admin.
  7. Return to Connect then Base URL & Authentication, and copy the Redirect URL into the OAuth Redirect URL field.

Test and activate the connector

  1. Go to the Local Test page and add the app.
  2. Approve all permission prompts.
  3. Return to the flow page.
    The app will now appear in the Connector list. Ensure it is checked and applied.
  4. Copy the App ID using the copy button.
    You will reference this in your script.

Call the data table from a Script widget

In your Script widget, use the following function:
let data = await zcx_builtin_functions.data_table.get_record(
  "<APP_ID>",          // App ID copied from the connector
  "<TABLE_NAME>",      // Data table name (as defined in Admin Portal)
  "<REFERENCE_KEY>"    // The reference key value to look up
);
Example call and response:
let data = await zcx_builtin_functions.data_table.get_record(
  "fJicoQPJQ5q5lWf2du5A1w",
  "DNIS_Routing",
  "+14155551234"
);

/*
Response shape:
{
  "reference_key": "+14155551234",
  "reference_key_type": "PHONE_NUMBER",
  "fields": [
    { "name": "QueueName",       "value": "salesQueue4",       "type": "STRING" },
    { "name": "Region",          "value": "east",              "type": "STRING" },
    { "name": "SupportNumber",   "value": "+14155550232",      "type": "PHONE_NUMBER" },
    { "name": "NumOfTeamMember", "value": 52,                  "type": "INTEGER" },
    { "name": "SalesEmail",      "value": "sales@example.com", "type": "EMAIL" }
  ]
}
*/

// Example: extract a specific field value
let queueName = data.fields.find(f => f.name === "QueueName")?.value;
The fields array contains all mapped field values for the matched record. Use standard JavaScript array methods to extract the values you need and assign them to flow variables for downstream routing logic.
Note: Data Tables can also feed Zoom Virtual Agent (ZVA) flows by using the ZCC Flow to map table field values to ZCC global variables, which are then shared with ZVA.