diff --git a/inventory_provider/routes/poller.py b/inventory_provider/routes/poller.py
index 9da229adcc79ac3357a9851924f24213a667b8b6..ce107c47a42a1a0129a83ffcf2995989f0a061b7 100644
--- a/inventory_provider/routes/poller.py
+++ b/inventory_provider/routes/poller.py
@@ -469,7 +469,7 @@ def after_request(resp):
     return common.after_request(resp)
 
 
-def _get_dashboards(interface):
+def _get_dashboards(interface, region=None):
     """
     Yield enums from BRIAN_DASHBOARDS to indicate which dashboards
     this interface should be included in.
@@ -482,12 +482,14 @@ def _get_dashboards(interface):
        inventory_provider.routes.poller._DASHBOARD_IDS
 
     :param interface: a dict with keys like router, name, description
+    :param region: a key from the regions dict
     :return: generator that yields enums from BRIAN_DASHBOARDS
     """
 
     router = interface.get('router', '').lower()
     ifc_name = interface.get('name', '')
     description = interface.get('description', '').strip()
+
     if 'SRV_L3VPN' in description and 'COPERNICUS' in description:
         yield BRIAN_DASHBOARDS.COPERNICUS
     if re.match(r'SRV_CLS\s', description):
@@ -539,11 +541,12 @@ def _get_dashboards(interface):
     if re.match(r'PHY UPSTREAM\s', description):
         yield BRIAN_DASHBOARDS.GWS_PHY_UPSTREAM
     regex = r'(PHY|LAG|(SRV_(GLOBAL|LHCONE|MDVPN|IAS|CLS|L3VPN))) CUSTOMER\s'
-    if re.match(regex, description):
+    if re.match(regex, description) and region is None:
         yield BRIAN_DASHBOARDS.NREN
     if "GA-" in description and "ANA-" in description:
         yield BRIAN_DASHBOARDS.ANA
-
+    if region == 'EAP':
+        yield BRIAN_DASHBOARDS.EAP
 
 def _get_dashboard_data(ifc, customers, regions=None):
     if regions is None:
@@ -873,6 +876,10 @@ def load_interfaces_to_poll(config, hostname=None, no_lab=False, use_next_redis=
         _get_services_and_customers(config, hostname, use_next_redis)
     snmp_indexes = common.load_snmp_indexes(config, hostname, use_next_redis)
     nren_regions = _load_nren_regions(config, use_next_redis)
+    unique_regions = set(nren_regions.values())
+    region_index = {}
+    for region_key in unique_regions:
+        region_index[region_key] = {nren for nren, reg in nren_regions.items() if reg == region_key}
 
     def _get_populated_interfaces(all_interfaces):
         if use_next_redis:
@@ -900,7 +907,16 @@ def load_interfaces_to_poll(config, hostname=None, no_lab=False, use_next_redis=
                         and ifc_services_and_customers['services']:
                     ifc['circuits'] = ifc_services_and_customers['services']
 
-                dashboards = _get_dashboards(ifc)
+                _customers = ifc_services_and_customers.get('customers', [])
+                customer_set = {c['name'] for c in _customers}
+                region = None
+                for region_name in region_index:
+                    # check if any of the customers are in this region
+                    if region_index[region_name] & customer_set:
+                        # customers will only have one region, so if there's a match, break here
+                        region = region_name
+                        break
+                dashboards = _get_dashboards(ifc, region)
                 ifc['dashboards'] = sorted([d.name for d in dashboards])
 
                 ifc = _get_dashboard_data(