Data Sources

Using data in your communications adds a level of personalization that helps your customers feel connected and catered for, increasing the likelihood of them taking positive action on your message. EngageOne Communicate supports multiple data import methods and data file types.

The most common method of data import is by simple file upload. For file uploads, support formats are CSV, JSON, XLS, XLSX or XML.

To retrieve up-to-date information from third-party sources for your communications, use EngageOne Communicate’s native connection with Spectrum OnDemand. Simply enter your Spectrum credentials and select the appropriate dataset. (See Spectrum OnDemand for more information.)

Note: Using Spectrum OnDemand requires work from Professional Services (contact Support for further information).

The following video shows you how to create a Data Source and use it when producing an email:

Select Data Sources. The following screen is displayed:

To add a new data source, click Add Data Source. The following screen is displayed:

Enter a name for the data source, and then select the data source type, which can be one of the following:

  • File - specify a filename or drag the file across.
  • Spectrum - Enter your Spectrum OnDemand credentials and then click Connect to view the datasets.
  • SQL Database - specify an SQL database.
  • API - enter the details of an API call to retrieve the data.

CSV files

If you import data from a CSV file:
  • The first row must be the field names, separated by commas. All spaces are replaced by underscores.
  • Each record must be on a separate line within the file.

JSON files

You can import more complex data from JSON (JavaScript Object Notation) files. Consider this example:
{
	"firstname": "John",
	"lastname": "Smith",
	"email": "john.smith@mycompany.com",
	"order_number": "5555",
	"delivery_address": [
			"Appartment 234",
			"High Road North",
			"Some Town"
	],	
	"order_items": [
		{
			"description":"Complete Puppy Food",
			"price":"3.49",
			"qty":"2",
			"total":"6.98"
		},
		{
			"description":"Chunky Dog Treats",
			"price":"0.99",
			"qty":"5",
			"total":"4.95"
		}
	],
	"subtotal": "27.55",
	"salestax": "6.88",
	"total": "34.43",
	"est_del_date":"September 12 2019"
}
This example has two nested arrays:
  • delivery_address is an example of a string array. Communicate imports the key of the array as an array. This means that in the metadata generated for the JSON data, the key of that array is marked as array.
  • order_items is an example of an object array. Communicate imports the key of the array as an array, For all the fields for the JSON objects inside the array, the keys are marked as either string or array, as appropriate.

For information on how to include array data into repeating table rows, see Repeating data in tables.