diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsDialog.vue b/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsDialog.vue
index 667ddb6e648b5ad88c804872151343ddc74afc09..2c1479f73a0de45c1c687fea455514e3ba5af93a 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsDialog.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsDialog.vue
@@ -288,6 +288,25 @@ export default {
               <span v-t="'actions.back_to_overview'" />
             </v-tooltip>
             {{ item.person.fullName }}
+            <v-spacer />
+            <v-tooltip bottom>
+              <template #activator="{ on, attrs }">
+                <v-btn
+                  v-bind="attrs"
+                  v-on="on"
+                  icon
+                  :to="{
+                    name: 'core.personById',
+                    params: {
+                      id: item.person.id,
+                    },
+                  }"
+                >
+                  <v-icon>mdi-open-in-new</v-icon>
+                </v-btn>
+              </template>
+              {{ $t("actions.open_person_page", item.person) }}
+            </v-tooltip>
           </v-card-title>
           <v-card-text>
             <absence-reason-group-select
diff --git a/aleksis/apps/alsijil/frontend/components/injectables/group_actions/OpenCoursebook.vue b/aleksis/apps/alsijil/frontend/components/injectables/group_actions/OpenCoursebook.vue
new file mode 100644
index 0000000000000000000000000000000000000000..c52dedfc1f94497ba9a82dbd342a5b47dead2821
--- /dev/null
+++ b/aleksis/apps/alsijil/frontend/components/injectables/group_actions/OpenCoursebook.vue
@@ -0,0 +1,30 @@
+<script>
+import groupActionsMixin from "aleksis.core/components/group/actions/groupActionsMixin.js";
+export default {
+  name: "OpenCoursebook",
+  mixins: [groupActionsMixin],
+};
+</script>
+
+<template>
+  <v-list-item
+    :to="{
+      name: 'alsijil.coursebook',
+      params: {
+        filterType: 'all',
+        pageType: 'documentations',
+        objType: 'group',
+        objId: group.id,
+      },
+    }"
+  >
+    <v-list-item-icon>
+      <v-icon>mdi-book-education-outline</v-icon>
+    </v-list-item-icon>
+    <v-list-item-content>
+      <v-list-item-title>
+        {{ $t("actions.open_in_coursebook") }}
+      </v-list-item-title>
+    </v-list-item-content>
+  </v-list-item>
+</template>
diff --git a/aleksis/apps/alsijil/frontend/components/injectables/group_actions/ShowAbsences.vue b/aleksis/apps/alsijil/frontend/components/injectables/group_actions/ShowAbsences.vue
new file mode 100644
index 0000000000000000000000000000000000000000..e582968e3c84d2e5afbd334233ee93138ef98540
--- /dev/null
+++ b/aleksis/apps/alsijil/frontend/components/injectables/group_actions/ShowAbsences.vue
@@ -0,0 +1,30 @@
+<script>
+import groupActionsMixin from "aleksis.core/components/group/actions/groupActionsMixin.js";
+export default {
+  name: "ShowAbsences",
+  mixins: [groupActionsMixin],
+};
+</script>
+
+<template>
+  <v-list-item
+    :to="{
+      name: 'alsijil.coursebook',
+      params: {
+        filterType: 'all',
+        pageType: 'absences',
+        objType: 'group',
+        objId: group.id,
+      },
+    }"
+  >
+    <v-list-item-icon>
+      <v-icon>mdi-account-details-outline</v-icon>
+    </v-list-item-icon>
+    <v-list-item-content>
+      <v-list-item-title>
+        {{ $t("actions.show_absences") }}
+      </v-list-item-title>
+    </v-list-item-content>
+  </v-list-item>
+</template>
diff --git a/aleksis/apps/alsijil/frontend/index.js b/aleksis/apps/alsijil/frontend/index.js
index 37bde1e72d4ec8c6011256bc3ec614c38f535760..4945f0b980c8b113ea9529cea3f31fa6ee2d57b0 100644
--- a/aleksis/apps/alsijil/frontend/index.js
+++ b/aleksis/apps/alsijil/frontend/index.js
@@ -1,6 +1,23 @@
 import { hasPersonValidator } from "aleksis.core/routeValidators";
 import { DateTime } from "luxon";
 
+export const collectionItems = {
+  coreGroupActions: [
+    {
+      key: "alsijil-open-coursebook",
+      component: () =>
+        import("./components/injectables/group_actions/OpenCoursebook.vue"),
+      isActive: () => true,
+    },
+    {
+      key: "alsijil-show-absences",
+      component: () =>
+        import("./components/injectables/group_actions/ShowAbsences.vue"),
+      isActive: () => true,
+    },
+  ],
+};
+
 export default {
   meta: {
     inMenu: true,
diff --git a/aleksis/apps/alsijil/frontend/messages/de.json b/aleksis/apps/alsijil/frontend/messages/de.json
index 42148fa41b7996a512e3b58cd63a04a94c8bedd5..42310ecd20dc39a513d8ce30c5385a79eeb78c8f 100644
--- a/aleksis/apps/alsijil/frontend/messages/de.json
+++ b/aleksis/apps/alsijil/frontend/messages/de.json
@@ -1,6 +1,7 @@
 {
   "actions": {
-    "back_to_overview": "Zurück zur Übersicht"
+    "back_to_overview": "Zurück zur Übersicht",
+    "open_person_page": "Detailansicht für {fullName} aufrufen"
   },
   "alsijil": {
     "absence": {
diff --git a/aleksis/apps/alsijil/frontend/messages/en.json b/aleksis/apps/alsijil/frontend/messages/en.json
index f3e347855a84bcaa2f734ebf60f316edf1fa8493..34dff10f5cb437b6b904f45b2ca127ef5e8ee0c2 100644
--- a/aleksis/apps/alsijil/frontend/messages/en.json
+++ b/aleksis/apps/alsijil/frontend/messages/en.json
@@ -139,7 +139,10 @@
     }
   },
   "actions": {
-    "back_to_overview": "Back to overview"
+    "back_to_overview": "Back to overview",
+    "open_person_page": "Open detail view for {fullName}",
+    "open_in_coursebook": "View Coursebook",
+    "show_absences": "Open absence list"
   },
   "time": {
     "minutes": "minutes",