Pulse Check Widget – wöchentliche Stimmungsabfrage im Intranet
5 Sekunden. Eine Stimmung. Wöchentlich.
Pulse Check für Staffbase: Wöchentlicher Mood-Check mit 5 Stufen, Live-Stats aus einer Data Table und Team-Durchschnitt – ohne externe Survey-Tools.

Übersicht
Das Pulse Check Widget ersetzt jährliche Mitarbeiter-Befragungen durch eine wöchentliche Mikro-Frage. Eine Stimmungsabfrage mit fünf Mood-Buttons, einem Klick erledigt – und die aggregierten Antworten kommen aus einer Data Table des Widget Builders, nicht aus Demo-Daten.
Warum dieses Widget?
Die meisten Engagement-Surveys haben das gleiche Problem: zu lang, zu selten, zu unverbindlich. Wer einmal im Jahr 80 Fragen beantwortet, fühlt sich nicht gehört – und HR weiß nicht, wann genau die Stimmung gekippt ist.
Das Pulse Check Widget macht es kürzer, häufiger und sichtbar:
- ✅ Eine Frage pro Woche – statt 80 Fragen pro Jahr
- ✅ Fünf Sekunden – statt einer halben Stunde
- ✅ Sofort sichtbar – statt Wochen zu warten
- ✅ Anonym als Standard – keine Schwelle für ehrliche Antworten
- ✅ Echte Aggregation – jede Stimme persistiert in einer Data Table
Architektur
Pulse Check ist ein klassisches Beispiel dafür, wie der Widget Builder runtime user data modelliert:
| Was | Wo |
|---|---|
| Branding, Frage, Akzentfarbe, Theme | Widget-Settings (Editor-time) |
| Welche Data Table angesprochen wird | Widget-Setting tableGuid |
| Eingegangene Stimmen | Data Table pulse_responses |
| „Hat dieser Browser schon abgestimmt?” | localStorage im Widget-JavaScript |
End-User können Widget-Settings nicht ändern – das ist Editor-Konfiguration. Stimmen werden deshalb in eine Data Table geschrieben, die der Editor in Staffbase einmal anlegt und deren GUID er im Widget einträgt.
Hauptfunktionen
1. 5-stufige Mood-Skala
Fünf Emoji-Buttons – von 😞 bis 🤩 – als große Touch-Targets. Optimiert für mobile Nutzung in der Staffbase App. Die Skala ist universell verständlich und braucht keine Übersetzung.
2. Data-Table-Backend
Beim Klick auf einen Mood-Button schreibt das Widget per fetch()-POST eine neue Row in die Data Table:
1await fetch('/api/data-table-widget/' + tableGuid + '/rows', {
2 method: 'POST',
3 headers: {'Content-Type': 'application/json'},
4 body: JSON.stringify({
5 data: { mood: parseInt(mood, 10), submitted_at: new Date().toISOString() }
6 })
7});
Bei jedem Page-Load liest das Widget die letzten 7 Tage zurück – über die Widget-API mit OData-$filter:
wb://data-table/{{settings.tableGuid}}/rows?$filter=submitted_at ge '{{datetime sub_days=7 to_isodate=true}}'
Der datetime-Helper berechnet das Filter-Datum dynamisch – jede Woche rollt das Fenster automatisch weiter.
3. Stats-Berechnung im Browser
Das Widget bekommt die Rows als data.rows. Im Template wird das Array per {{{json data.rows}}} in eine JavaScript-Konstante eingebettet, das JS zählt die Mood-Verteilung, berechnet den Durchschnitt und rendert die Bars dynamisch. Kein hardcoded Demo, kein Server-Side-Aggregation-Aufwand.
4. localStorage Anti-Double-Vote
Damit Mitarbeitende nicht mehrfach pro Woche abstimmen, schreibt das Widget nach erfolgreichem Vote einen Schlüssel pulse_voted_<yyyy-mm-dd> in den localStorage des Browsers. Das Datum ist jeweils der Montag der aktuellen Woche, so dass der Lock pro ISO-Woche greift. Beim nächsten Page-Load zeigt das Widget direkt die Stats-Ansicht statt der Buttons.
Browser-lokal heißt: Wer wirklich von einem zweiten Gerät abstimmen will, kann es. Für ehrliche Pulse-Daten ist das in Ordnung – ein Pulse Check ist kein Wahlsystem, sondern ein Stimmungs-Sensor.
5. Anonymität als Standard
Anonymität ist die Voraussetzung für ehrliche Antworten. Die Default-Spalten der Data Table speichern kein Profilfeld – nur Mood und Zeitstempel. DSGVO-konform.
Wer mit zugeordneten Antworten arbeiten will (etwa für moderierte Manager-Pulses in kleineren Teams), kann eine optionale Spalte team_id oder user_email ergänzen und im JS mitschicken.
Setup in 5 Minuten
- Data Table anlegen im Widget Builder mit den Spalten
mood(number 1–5),submitted_at(date) – fertig - Tabelle-GUID kopieren aus der Widget-Builder-UI
- Pulse Check Widget im Staffbase Editor zur Page hinzufügen
- GUID in das Setting „Data-Table-GUID für Pulse-Antworten” eintragen
- Frage und Akzentfarbe wählen, veröffentlichen
Mehr Pulse-Setups gleichzeitig (z. B. einer pro Standort) sind möglich – einfach pro Widget eine eigene Tabelle.
Typische Anwendungsfälle
📅 Wöchentlicher Pulse
Stelle das Widget jeden Montag mit einer neuen Frage auf die Startseite. „Wie war deine Woche?” am Freitag, „Wie startest du in die Woche?” am Montag.
🆕 Onboarding-Phase
Neue Mitarbeitende in den ersten 30 Tagen wöchentlich nach ihrem Befinden fragen – ein Frühwarnsystem für schlechte Onboardings.
🔄 Change-Begleitung
Während großer Veränderungen (Reorgs, Tool-Migrationen, Office-Wechsel) die Stimmung wöchentlich messen.
🎯 Team-Retros
Direkt vor einer Team-Retro: ein 5-Sekunden-Pulse, dessen Ergebnis als Eisbrecher in die Retro einfließt.
Konfiguration
8 Settings, alle Editor-time:
- Data-Table-GUID – Pflicht, verweist auf die Tabelle für die Antworten
- Frage – Pflicht, der Pulse selbst
- Untertitel – kurze Erklärung
- Akzentfarbe – Color Picker
- Theme – Light oder Dark
- Statistiken nach Voting – ein/ausblenden
- Team-Durchschnitt – ein/ausblenden
- Anonym – Hinweis-Text ein/ausblenden
Technisch
- Plattform: Staffbase 5.0+
- Mehrsprachig: Deutsch und Englisch out-of-the-box
- Responsive: Mobile-First, große Touch-Targets
- Performance: < 500 ms Initial Render
- Datenmodell: Data Table mit
mood(1–5) undsubmitted_at - Persistierung Anti-Double-Vote:
localStoragebrowser-lokal
Häufige Fragen
Können Mitarbeitende mehrfach abstimmen?
Pro Browser pro Woche nur einmal – durchgesetzt über localStorage. Der Schlüssel enthält das Datum des Wochen-Montags, so dass jede neue Woche wieder ein Voting möglich ist. Wer aktiv von einem zweiten Gerät abstimmen will, kann es. Für ehrliche Pulse-Daten ist das ausreichend.
Wie kommen die Stats zustande?
Aus der Data Table. Die Widget-API zieht alle Rows der letzten 7 Tage über einen OData-$filter und das eingebettete JavaScript berechnet Counts und Durchschnitt im Browser.
Kann ich mehr als einen Pulse parallel betreiben?
Ja. Jeder Pulse ist eine eigene Data Table und eine eigene Widget-Instanz mit eigenem tableGuid. So kannst du z. B. einen globalen Friday-Pulse und parallel einen Onboarding-Pulse für neue Mitarbeitende betreiben.
Ist das Widget DSGVO-konform?
Ja. Die Default-Spalten speichern kein Profilfeld – nur Mood und Zeitstempel. Das ist auch in der EU rechtssicher.
Screenshots

Nach dem Voting: 5 Mood-Bars, Team-Durchschnitt und Gesamt-Stimmen aus der Data Table

Dark Mode mit Cyan-Akzent – ideal für dunkle Page-Templates
Die gezeigten Screenshots sind Beispielansichten mit generierten Demo-Daten. Kunden passen die Widgets an ihre eigenen Systeme und Corporate-Design an.
Anwendungsfälle
Wöchentlicher Pulse
Jeden Freitag eine Frage – Trends über Wochen sichtbar machen
Onboarding-Phase
Wie kommen neue Mitarbeitende in den ersten 30 Tagen klar?
Change-Begleitung
Stimmung während großer Veränderungen messen, ohne Schwellen zu schaffen
Team-Retros
Schnelle Stimmungsabfrage vor jeder Retrospektive
Hauptfunktionen
- 5-stufige Mood-SkalaVon 😞 bis 🤩 – große Touch-Targets für mobile Nutzung
- Data-Table-BackendJede Stimme wird als Row gespeichert. Stats werden serverseitig aus der Tabelle aggregiert.
- Wöchentlich rollierendOData-`$filter` mit `submitted_at ge` zeigt nur die letzten 7 Tage an
- localStorage Anti-Double-VoteBrowser-lokales Voting-Memo verhindert Mehrfach-Abstimmung pro Woche
- MehrsprachigDeutsch und Englisch out-of-the-box
- Light & Dark ModeBeide Themes mit konfigurierbarer Akzentfarbe
Integrationen
Noch Fragen zum Pulse Check Widget – wöchentliche Stimmungsabfrage im Intranet?
Unser Team berät dich gerne persönlich