diff --git a/brian_dashboard_manager/grafana/provision.py b/brian_dashboard_manager/grafana/provision.py
index ad34477c2868c5898436bf5eba52f39ba9949d46..93721c6ee690ef53f3d9f8b8939405653f203bde 100644
--- a/brian_dashboard_manager/grafana/provision.py
+++ b/brian_dashboard_manager/grafana/provision.py
@@ -32,7 +32,8 @@ from brian_dashboard_manager.inventory_provider.interfaces import \
 from brian_dashboard_manager.templating.helpers import \
     get_aggregate_dashboard_data, get_interface_data, \
     get_nren_interface_data, get_dashboard_data, \
-    get_nren_dashboard_data, get_aggregate_interface_data
+    get_nren_dashboard_data, get_aggregate_interface_data, \
+    get_nren_interface_data_old
 
 from brian_dashboard_manager.templating.gws import generate_gws, \
     generate_indirect
@@ -45,6 +46,11 @@ logger = logging.getLogger(__name__)
 
 MAX_WORKERS = 4
 DASHBOARDS = {
+    'NRENBETA': {
+        'tag': ['customersbeta'],
+        'folder_name': 'NREN Access BETA',
+        'interfaces': []
+    },
     'NREN': {
         'tag': ['customers'],
         'folder_name': 'NREN Access',
@@ -189,7 +195,11 @@ def provision_folder(token_request, folder_name, dash,
     errors = dash.get('errors', False)
 
     is_nren = folder_name == 'NREN Access'
+    is_nren_beta = folder_name == 'NREN Access BETA'
     if is_nren:
+        data = get_nren_interface_data_old(interfaces)
+        dash_data = get_nren_dashboard_data(data, ds_name, tag)
+    elif is_nren_beta:
         services = fetch_services(config['reporting_provider'])
         data = get_nren_interface_data(
             services, interfaces, excluded_dashboards)
@@ -206,7 +216,8 @@ def provision_folder(token_request, folder_name, dash,
 
     with ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor:
         for dashboard in dash_data:
-            rendered = render_dashboard(dashboard, nren=is_nren)
+            rendered = render_dashboard(
+                dashboard, nren=is_nren or is_nren_beta)
             if rendered.get('title').lower() in excluded_dashboards:
                 executor.submit(delete_dashboard, token_request,
                                 rendered, folder['id'])
@@ -266,7 +277,7 @@ def is_excluded_folder(org_config, folder_name):
 def excluded_folder_dashboards(org_config, folder_name):
     excluded_folders = org_config.get('excluded_folders', {})
     excluded = excluded_folders.get(folder_name, [])
-    if folder_name == 'NREN Access':
+    if 'NREN Access' in folder_name:
         excluded_nrens = org_config.get('excluded_nrens', [])
         excluded = list(set(excluded).union(set(excluded_nrens)))
     return excluded if isinstance(excluded, list) else []
@@ -322,6 +333,12 @@ def _provision_interfaces(config, org_config, ds_name, token):
                 ifaces = DASHBOARDS[dash_name]['interfaces']
                 ifaces.append(iface)
 
+                # TODO: remove all references to NRENBETA
+                # when NREN service BETA is over (homedashboard/helpers)
+                if dash_name == 'NREN':
+                    ifaces = DASHBOARDS['NRENBETA']['interfaces']
+                    ifaces.append(iface)
+
             # add to matched aggregate dashboard
             if dash_name in AGG_DASHBOARDS:
                 ifaces = AGG_DASHBOARDS[dash_name]['interfaces']
diff --git a/brian_dashboard_manager/templating/helpers.py b/brian_dashboard_manager/templating/helpers.py
index adff696f552c4e25c1f1b6219f26e97310d2d933..d026cb62c794f5e0ae0d65fbe9173a0be34fee91 100644
--- a/brian_dashboard_manager/templating/helpers.py
+++ b/brian_dashboard_manager/templating/helpers.py
@@ -67,6 +67,69 @@ def letter_generator():
         yield result
 
 
+def get_nren_interface_data_old(interfaces):
+    """
+    Helper for grouping interfaces into groups of NRENs
+    Extracts information from interfaces to be used in panels.
+    NREN dashboards have aggregate panels at the top and
+    dropdowns for services / physical interfaces.
+    """
+    result = {}
+
+    for interface in interfaces:
+
+        description = interface['description'].strip()
+        interface_name = interface['name']
+        host = interface['router']
+
+        router = host.replace('.geant.net', '')
+        location = host.split('.')[1].upper()
+        panel_title = f"{router} - {{}} - {interface_name} - {description}"
+
+        dashboards_info = interface['dashboards_info']
+
+        for info in dashboards_info:
+            dashboard_name = info['name']
+
+            dashboard = result.get(dashboard_name, {
+                'AGGREGATES': [],
+                'SERVICES': [],
+                'PHYSICAL': []
+            })
+
+            if info['interface_type'] == 'AGGREGATE':
+                dashboard['AGGREGATES'].append({
+                    'interface': interface_name,
+                    'hostname': host,
+                    'alias':
+                        f"{location} - {dashboard_name} ({interface_name})"
+                })
+
+                # link aggregates are also shown
+                # under the physical dropdown
+                dashboard['PHYSICAL'].append({
+                    'title': panel_title,
+                    'hostname': host,
+                    'interface': interface_name
+                })
+
+            elif info['interface_type'] == 'LOGICAL':
+                dashboard['SERVICES'].append({
+                    'title': panel_title,
+                    'hostname': host,
+                    'interface': interface_name
+                })
+            elif info['interface_type'] == 'PHYSICAL':
+                dashboard['PHYSICAL'].append({
+                    'title': panel_title,
+                    'hostname': host,
+                    'interface': interface_name
+                })
+
+            result[dashboard_name] = dashboard
+    return result
+
+
 def get_nren_interface_data(services, interfaces, excluded_dashboards):
     """
     Helper for grouping interfaces into groups of NRENs
diff --git a/brian_dashboard_manager/templating/templates/homedashboard.json.j2 b/brian_dashboard_manager/templating/templates/homedashboard.json.j2
index 5ed832a9a1aef586f0f986c1b8929e6ed9171bf2..a422edfb1ed115753a4fbe0010d2f00fee68a6e5 100644
--- a/brian_dashboard_manager/templating/templates/homedashboard.json.j2
+++ b/brian_dashboard_manager/templating/templates/homedashboard.json.j2
@@ -49,6 +49,16 @@
       "title": "NREN Access",
       "type": "dashboards"
     },
+    {
+      "asDropdown": true,
+      "icon": "external link",
+      "tags": [
+        "customersbeta"
+      ],
+      "targetBlank": true,
+      "title": "NREN Access BETA",
+      "type": "dashboards"
+    },
     {
       "asDropdown": true,
       "icon": "external link",
diff --git a/test/test_update.py b/test/test_update.py
index cd09f5771803c7845d5f6a4f64ed9ef906656af3..f3f6b6f1b8d272a801f51a1c62e02837946bd70e 100644
--- a/test/test_update.py
+++ b/test/test_update.py
@@ -659,19 +659,42 @@ def test_provision_folder(data_config, mocker):
         None, 'NREN Access', dashboards['NREN'],
         data_config, 'testdatasource', excluded_dashboards)
 
-    assert len(nren_result) == 6
-    assert nren_result[0]['title'] == 'ASNET-AM'
-    assert nren_result[1]['title'] == 'LITNET'
-    assert nren_result[2]['title'] == 'CESNET'
+    assert len(nren_result) == 3
+    assert nren_result[0]['title'] == 'GEANT'
+    assert nren_result[1]['title'] == 'KIAE'
+    assert nren_result[2]['title'] == 'SWITCH'
 
-    excluded_dashboards = ['ASNET-AM', 'GEANT']
+    excluded_dashboards = ['KIAE', 'GEANT']
     nren_excluded = provision_folder(
         None, 'NREN Access', dashboards['NREN'],
         data_config, 'testdatasource', excluded_dashboards)
 
-    assert len(nren_excluded) == 4
-    assert nren_excluded[0]['title'] == 'LITNET'
-    assert nren_excluded[1]['title'] == 'CESNET'
+    assert len(nren_excluded) == 1
+    assert nren_excluded[0]['title'] == 'SWITCH'
+
+    excluded_dashboards = []
+    nren_result_beta = provision_folder(
+        None, 'NREN Access BETA', dashboards['NREN'],
+        data_config, 'testdatasource', excluded_dashboards)
+
+    assert len(nren_result_beta) == 6
+    assert nren_result_beta[0]['title'] == 'ASNET-AM'
+    assert nren_result_beta[1]['title'] == 'LITNET'
+    assert nren_result_beta[2]['title'] == 'CESNET'
+    assert nren_result_beta[3]['title'] == 'GEANT'
+    assert nren_result_beta[4]['title'] == 'KIAE'
+    assert nren_result_beta[5]['title'] == 'SWITCH'
+
+    excluded_dashboards = ['ASNET-AM', 'GEANT']
+    nren_excluded_beta = provision_folder(
+        None, 'NREN Access BETA', dashboards['NREN'],
+        data_config, 'testdatasource', excluded_dashboards)
+
+    assert len(nren_excluded_beta) == 4
+    assert nren_excluded_beta[0]['title'] == 'LITNET'
+    assert nren_excluded_beta[1]['title'] == 'CESNET'
+    assert nren_excluded_beta[2]['title'] == 'KIAE'
+    assert nren_excluded_beta[3]['title'] == 'SWITCH'
 
     cust_result = provision_folder(None, 'testfolder', dashboards['RE_CUST'],
                                    data_config, 'testdatasource', ['GEANT'])