diff --git a/packages/app-shell/src/vpu-app-shell-welcome.js b/packages/app-shell/src/vpu-app-shell-welcome.js
index 173227134e37714114150d5fc27edb3d48b641f6..b88a68ac7f66967af6a0a9c21f906f50398f7137 100644
--- a/packages/app-shell/src/vpu-app-shell-welcome.js
+++ b/packages/app-shell/src/vpu-app-shell-welcome.js
@@ -50,12 +50,17 @@ class AppShellWelcome extends ScopedElementsMixin(LitElement) {
         let metadata = app.metadata;
         let itemTemplates = [];
 
+        const switchActivity = (e, data) => {
+            e.preventDefault();
+            app.switchComponent(data.routing_name);
+        };
+
         for (let [key, data] of Object.entries(metadata)) {
 
             if (data['visible'] && (key !== "welcome")) {
                 itemTemplates.push(html`
                     <div class="item">
-                        <h2>${data.name[this.lang]}</h2>
+                        <h2><a href="#" @click=${(e) => {switchActivity(e, data);}}>${data.name[this.lang]}</a></h2>
                         <p class="description">${data.description[this.lang]}</p>
                     </div>`);
             }