Skip to main content
Domo Knowledge Base

Flex Map Implementation Guide

Version 5


Flex Map 

The Flex Map app is designed to help users map locations and territories to get geographical insights into their data and discover relations between locations and important metrics. Follow the steps below to prepare and connect your data to the app.


There are 4 DataSets used to power the app.

  • The first DataSet is used to map locations as pins on the map.

  • The second is a configuration DataSet used to accompany and configure data from the Location DataSet. This DataSet is used to configure which columns from the Location DataSet will appear in searches, which columns will be displayed as location details, and in what order those location details will appear in the app.

  • The third DataSet is used to power the app's heatmaps by region.

  • The last DataSet is used to map metric columns from the Heatmap DataSet to metrics that can then be selected and displayed in the app. 

Location Data

The app requires the following fields for the Locations DataSet:

Location Id Parent Id Latitude Longitude Location Name Additional Columns. . . 
  • Location ID: contains a unique number/letter combination for a location.

  • Parent ID: used if you want to relate a location to another location. You would use the ID from the Location ID column of the parent location as the value in the Parent ID column if you wanted to relate another location to a parent location. This field is optional and can be left blank.

  • Latitude: the latitude of a location.

  • Longitude: the longitude of a location.

  • Location Name: name of the location and should contain a one-to-one relation with the Location ID. If you have multiple rows for a single location, the app will group the data for the location together by the ID and name.

  • Additional Columns: add any additional columns for data and metrics for the locations that you'd like to display with your mapped pins. E.g. Region, any other address data, certain metrics, etc.

Location Search and Display Preferences

The following schema is required for the Configuration DataSet.

ColumnName SearchInclude DisplayInclude DisplayOrder
  • ColumnName: name of the column from your location data that you'd like to display in either the search or display details for a location. 

  • SearchInclude: enter a 1 in this column if you'd like to include the column in the search options, otherwise leave it blank if you don't want it to be in the search options.

  • DisplayInclude: enter a 1 in this column if you'd like to include the column in the display details for a location pin, otherwise leave it blank if you don't want it to be included in the display details.

  • DisplayOrder: enter sequential numbers in this column with the order that you'd like to display the columns in the location pin details. For example, put a 1 in the first column you'd like to see, then a 2 for the second, etc.

Heatmap Data

The heatmap data is used to map metrics to regions for the heatmap in the Flex Map app. The most important columns from this data are the RegionCode and RegionType columns. The app uses statistical regions in order to create the heatmaps, so you will need to map your metric data to the region types that the app needs. For example, if you are in the USA and you have metric data based upon zip codes, you'll need to map your zip codes to the CBSA codes in order for the map to actually use your data. You can easily find data to map your data to these CBSA codes online. The app supports the following region codes/types:

  • CBSA for the USA

  • CMA for Canada

  • SA3 for Australia

  • NUTS 2 for Europe

Reach out to your Domo Admin if you need regions beyond what is available. 

The following schema is required for the heatmap dataset:

RegionCode RegionName RegionType Your Metric Columns. . . Additional Metadata Columns. . .
  • RegionCode: code for the area that matches what you have listed in the RegionType column. For example, your region code on a row may be 30030 and your region type would be 'CBSA'. 

  • RegionName: the name of the region, if applicable. This column is optional.

  • RegionType: contains one of the following values: CBSA, CMA, NUTS 2, or SA3. It should match the type of region code that you've entered in the RegionCode column.

  • Your Metric Columns: any columns with the metrics that you'd like to use to build your heatmaps. You may add as many of these as you would like, but you will need at least one in order to use the heatmaps feature.

  • Additional Metadata Columns: any columns with metadata about the regions that you would like to map that you could use Domo Page Filters to filter down the data. This column is optional.

Heatmap Metric Mapping

This DataSet is used to select the columns from your Heatmap DataSet that you'd like to use and also rename the columns for display in the app, if needed.

The following schema is required for the Heatmap Metric Mapping DataSet



  • ColumnName: list the name of the metric column from your Heatmap DataSet that you'd like to use as a heatmap metric.

  • Label: enter what you'd like the metric's display name to be in this column. For example, if your column name is 'populationAverage', then you might enter 'Population Average'.  

As soon as all four of those DataSets are prepared, you are ready to connect your data to the app.

Wiring Your Data to the App

After your data is ready, you can now deploy the app and connect your data. If you have access to the app's asset, deploy the asset from your Asset Library to a page in Domo. If the app has been deployed for you with sample data, navigate to the app, click on the wrench in the top right corner of the app, and click "Edit Card". 

To wire the data,
  1. On the Edit Card view, that you can get to from one of the two methods mentioned above, you may re-name the app at the top of the screen, if desired.

  2. Next, scroll down below the app and you will see a series of tabs that represent each of the DataSets that the app requires.

  3. Click the SCHEMA tab and then select the DataSets that you've prepared as the search and display preferences. Check the column dropdowns you see after selecting the DataSet and re-map any columns to the correct columns, if needed.

  4. Then, click the LOCATIONS tab and select your Locations DataSet.

  5. Next, click the HEATMAP tab and select the Heatmap DataSet.

  6. Lastly, click the METRICLABELS tab and select the Metric Mapping DataSet.

  7. Click save and finish at the top of the page.

Your app is now configured and ready to go!

Using the App

Use the button at the top left of the app to open the app's menu. Once in this menu, you can choose a handful of options for mapping out your data. Searches will allow you to search for a subset of your location data to map as pins on the map. Territories will allow you to use predefined options to create territories on the map, as well as draw freehand custom territories to display. When you have any combination of pins and territories displayed on the map, you can click the save map button on the bottom right of the app to save your current view as a Saved Map. You can navigate back to your saved maps using the Saved Maps tab in the Flex Map app menu. You can also favorite saved maps to appear in the Favorites tab in the app as well. Using the heatmap tab will allow you to choose a heatmap metric to display on the map.

Enjoy getting new geographical insights from your data!