Table of Contents

Integrating with Calix Service Cloud

Mitchell Paul-Soumis Updated by Mitchell Paul-Soumis

Read Time: 5 mins

Currently, Sonar does not integrate directly with Calix Service Cloud. This article will be updated with instructions for a direct integration once such is available.

Getting your subscriber information to Calix for importing into Calix Service Cloud can be a challenging task while an official integration is being built. To simplify the process, a custom report can be built to provide all required information to Calix.

Creating a custom report builds on concepts introduced in Sonar's Business Intelligence: Overview and How To Enhance Your Reporting With Custom Field Data. It's recommended to review those articles before beginning this process.


This report, being entirely custom, has a few prerequisites.

  1. Adequate role permissions are required to access the reporting module.
    If your Role is as a Super-Admin, no permission changes are required.
  2. An Editor Report License must be assigned to your user profile.

Creating the Report

The report lists accounts, addresses, data service, and inventory items. They may use the model filter to limit results by inventory model. Uninventoried MAC addresses are outside the scope of this report.

This section will walk you through the basic process of using Sonar's Business Intelligence to create a Custom Report. If you've ever created a report, you can skip to the “Required Fields” section of this article.

  1. Open the "Reports" module, select "Create Report", give your report a name (e.g., “Calix”), and select the category. For this use case, the category must be Accounts. Once filled in, click "Create"
  2. Click on "Edit Dashboard" in the middle of the page
  3. Click on "Add", then from the dropdown that appears, select the first option, "Visualization"
  4. In this example, we need data stored on the "Accounts" explore. So, it needs to be selected on this page.
  5. Next, select the data that needs to be extracted. For the Service Cloud report, the first column has to be Accounts > AccountService > Account Service | Account ID
  6. Once selected, the field must be renamed in the Look. Select “Run” to generate the data in the visualization, then expand the “Edit” panel, switch to the “Series” tab, scroll down to “Customizations”, expand the Accounts > AccountService > Account Service | Service ID field, and set the name to uniqueid.

Required Fields

Once your initial fields have been created, you'll have to add and rename the remaining fields. The following list will provide the full list of fields, and what they should be renamed to in the Visualization:

Accounts > AccountService > Account Service | Account ID [unqiueid]
Accounts > Account | ID [account]
Accounts > Account | Name [name]
Accounts > AccountTypes > Account Type | Type [customertype]
Accounts > Contacts > Contact | Email Address [email]
Accounts > AccountService > Services > Service | ID [usoc]
Accounts > AccountService > Services > Service | Type [servicetype]
Accounts > AccountService > Services > Service | Name [servicedesc]
Accounts > AccountService > Services > DataServiceDetails > Data Service Detail | Technology Code [techtype]
Accounts > AccountService > Services > DataServiceDetails > Data Service Detail | Upload Speed in Mbps [upspeed]
Accounts > AccountService > Services > DataServiceDetails > Data Service Detail | Download Speed in Mbps [downspeed]
Accounts > Addresses > InventoryItems > InventoryModelFieldData1 > Model Field Data | Value [deviceid]
Accounts > Addresses > InventoryItems > InventoryModelFieldData > Model Field Data | MAC List [macaddress]
Accounts > Addresses > InventoryItems > InventoryModels > Model | Display Name [devicename]
Accounts > CustomFieldData1 > Custom Field Data | Value [field1]
Accounts > CustomFieldData2 > Custom Field Data | Value [field2]
Accounts > CustomFieldData3 > Custom Field Data | Value [field3]
Accounts > CustomFieldData4 > Custom Field Data | Value [field4]
Accounts > CustomFieldData5 > Custom Field Data | Value [field5]
Accounts > ServiceableAddresses > Address | Line 1 [address]
Accounts > ServiceableAddresses > Address | City [city]
Accounts > ServiceableAddresses > Address | Subdivision [state]
Accounts > ServiceableAddresses > Address | ZIP [postcode/zip]
Accounts > ServiceableAddresses > Address | Country [country]
Accounts > ServiceableAddresses > Address | Latitude [lat]
Accounts > ServiceableAddresses > Address | Longitude [long]
Accounts > MailingAddresses > Address | Line 1 [bill_address]
Accounts > MailingAddresses > Address | City [bill_city]
Accounts > MailingAddresses > Address | Subdivision [bill_state]
Accounts > MailingAddresses > Address | ZIP [bill_postcode/zip]
Accounts > MailingAddresses > Address | Country [bill_country]
Accounts > Addresses > InventoryItems > Inventory Item | ID (not shown in visalization)
Accounts > Countacts > PhoneNumbers > Phone Number | Number [phone]
Accounts > PrimaryContacts > PhoneNumbers > Phone Number | Number [key]

Your applicable inventory models should have a field labeled "FSAN" where they store the device's FSAN. The deviceid column maps to this field. Additional columns are provided for device custom fields, if such fields are implemented in your instance.

A completed Look should look something like this:

The report must be saved and scheduled as a Look to be sent with no row limit

Using the report

You can optionally add a filter to the report so that it only displays customers connected to your fiber equipment. If your ISP only provides fiber connectivity, you can skip this.

Once you've filled in all report data and saved it to the dashboard, it needs to be scheduled and sent to Calix for integration with your Service Cloud. Follow these steps to get the process started. Select the 3 dot menu in the top-right, and then “Schedule delivery” from the dropdown:

In the modal that appears, fill in the information needed to send this report to Calix:

  1. Schedule Name: This sets the name of the schedule, and will be included in the title of the scheduled delivery format. It's recommended to name it something simple, like Calix or Calix_Service
  2. Recurrence and Time: Setting these fields determines how often, and at what time of day, these reports will generate. Calix must receive this file daily by 6:00 PM Pacific Time.
    This 6:00 PM Pacific deadline is the case for all billing files sent to Calix.
  3. Destination: The destination determines how the scheduled report will be delivered. In the case of a Calix Service Cloud integration, this destination will be SFTP.
  4. Address: The Address field appears once you select a destination that requires one. In this case, the Address will be an SFTP URL provided by Calix. Ensure that the completed address URL ends with a forward slash "/" when scheduling; otherwise, the report will be undeliverable (e.g., s
  5. Username and Password: These fields authenticate you with the SFTP URL you provided previously. These will also be confirmed by Calix.
  6. Preferred Key Exchange Algorithm: This establishes how Sonar and the destination will secure the exchange of information. Generally, Default will work, but any changes would be mentioned by Calix.
  7. Format: This determines which format the data will be sent in. For this case, a CSV zip file should be sent.

How did we do?

Webhooks in Sonar: Basic PHP Example

How to Connect Cambium to your Sonar Instance