diff --git a/content/blog/2024/03/2024-03-13_glt-2024/index.md b/content/blog/2024/03/2024-03-13_glt-2024/index.md
index 0897297851c23cfa84969ca76a6ab9541c62ece6..eee544cc167e2406d3b370734e056f32f47c1033 100644
--- a/content/blog/2024/03/2024-03-13_glt-2024/index.md
+++ b/content/blog/2024/03/2024-03-13_glt-2024/index.md
@@ -47,5 +47,4 @@ Dieses Jahr bieten wir zwei Workshop-Themen aus unserem festen
 * Nachmittags werden, ebenfalls mit Python, Mikrocontroller programmiert, um
   LEDs blinken zu lassen und Animationen auf einem Display anzuzeigen
 
-Die Anmeldung ist über [TIC-Desk](https://ticdesk.teckids.org/app/paweljong/event/froglabs-2024-glt/)
-möglich.
+{{ teckids_event(slug="froglabs-2024-glt") }}
diff --git a/events.json b/events.json
new file mode 100644
index 0000000000000000000000000000000000000000..cc1bb0fa51d962a4008d4180bdb1de0eea578750
--- /dev/null
+++ b/events.json
@@ -0,0 +1,9 @@
+{
+  "froglabs-2024-glt": {
+    "display_name": "Mini-FrogLabs Grazer Linux-Tage 2024",
+    "description": "Workshopprogramm für Kinder und Jugendliche bei den Grazer Linux-Tagen 2024",
+    "location": "Graz",
+    "date": "2024-04-06",
+    "cost": 40
+  }
+}
diff --git a/templates/shortcodes/teckids_event.html b/templates/shortcodes/teckids_event.html
new file mode 100644
index 0000000000000000000000000000000000000000..e647961b3f1b1a7f1c4a58b7f8a8916e82ac5d86
--- /dev/null
+++ b/templates/shortcodes/teckids_event.html
@@ -0,0 +1,52 @@
+{% set events_data = load_data(path="events.json") -%}
+{% set event = events_data[slug] -%}
+<h2>{{ title | default(value="Informationen und Anmeldung") }}</h2>
+<section class="section event-section">
+  <div class="card event-card">
+  <div class="card-content">
+  <div class="columns">
+    <div class="column is-two-thirds event-info">
+        <h3 class="title is-5">{{ event.display_name }}</h3>
+        <p class="subtitle is-6">{{ event.description }}</p>
+	      <div class="columns">
+          <div class="column is-one-third">
+            <address>
+              {{ event.location }}
+            </address>
+          </div>
+          <div class="column is-one-third">
+            <time datetime="{{ event.date }}">
+              {{ event.date | date }}
+            </time>
+          </div>
+          <div class="column is-one-third">
+            {{ event.cost }} €
+          </div>
+        </div>
+    </div>
+    <div class="column is-one-third">
+      <div class="buttons are-large are-responsive">
+        <a class="button is-primary is-fullwidth" href="https://ticdesk.teckids.org/app/paweljong/event/{{ slug }}">
+          <div class="icon-text">
+            <span class="icon"><i class="fa-solid fa-envelope-open-text"></i></span>
+            <span>Zur Anmeldung</span>
+          </div>
+        </a>
+        <a class="button is-link is-fullwidth" href="mailto:{{ mail|default(value="verein@teckids.org") }}">
+          <div class="icon-text">
+            <span class="icon"><i class="fa-solid fa-envelope-open-text"></i></span>
+            <span>E-Mail schreiben</span>
+	        </div>
+        </a>
+	      <a class="button is-link is-fullwidth" href="tel:{{ phone|default(value="+4922892934160") }}">
+          <div class="icon-text">
+            <span class="icon"><i class="fa-solid fa-phone"></i></span>
+           <span>Anrufen</span>
+          </div>
+	      </a>
+      </div>
+    </div>
+  </div>
+  </div>
+  </div>
+</section>