Weekly Pulse Check Survey

The Weekly Pulse Check is a lightweight employee engagement tool designed to capture real-time insights into team health without survey fatigue. This template combines emoji-based mood tracking with targeted questions about workload, stress levels, and collaboration. By tracking trends over time, HR teams and managers can identify early warning signs and take proactive action to support their teams.

Employee ExperiencePopular

Try the Form

Quick check-in to see how you're doing this week.
How Are You Feeling?
Workload & Stress
5/10
5 /10
110
5/10
5 /10
110
Team & Collaboration
Poorly
Excellently
Rate Your Week
Poor Fair Good Great Excellent
Productivity*
Ability to focus
Work-life balance
Motivation
Team communication
Week Highlights & Challenges
Overall Week
0/5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
export function pulseWeeklySurvey(form: FormTs) {
// Weekly Pulse Check - Employee engagement and wellbeing tracker
// Demonstrates: EmojiRating, Slider, StarRating, RatingScale, MatrixQuestion, ThumbRating, SuggestionChips
 
// ============================================
// HEADER
// ============================================
form.addRow(row => {
row.addTextPanel('header', {
label: 'Weekly Pulse Check',
computedValue: () => 'Quick check-in to see how you\'re doing this week.',
customStyles: {
background: 'linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%)',
color: 'white',
padding: '24px',
borderRadius: '12px',
textAlign: 'center'
}
});
});
 
// ============================================
// SECTION 1: Mood & Energy
// ============================================
const moodSection = form.addSubform('moodSection', {
title: 'How Are You Feeling?',
customStyles: { backgroundColor: '#faf5ff', padding: '16px', borderRadius: '8px' }
});
 
moodSection.addRow(row => {
row.addEmojiRating('mood', {
label: 'Overall mood this week',
preset: 'satisfaction',
size: 'lg',
showLabels: true,
alignment: 'center'
});
});
 
moodSection.addRow(row => {
row.addEmojiRating('energy', {
label: 'Energy level',
preset: 'effort',
size: 'lg',
showLabels: true,
alignment: 'center'
});
});
 
// ============================================
// SECTION 2: Workload Assessment
// ============================================
const workloadSection = form.addSubform('workloadSection', {
title: 'Workload & Stress',
customStyles: () => {
const workload = workloadSection.slider('workload')?.value() ?? 5;
if (workload >= 8) return { backgroundColor: '#fee2e2', padding: '16px', borderRadius: '8px' };
if (workload <= 3) return { backgroundColor: '#dbeafe', padding: '16px', borderRadius: '8px' };
return { backgroundColor: '#f0fdf4', padding: '16px', borderRadius: '8px' };
}
});
 
workloadSection.addRow(row => {
row.addSlider('workload', {
label: () => {
const val = workloadSection.slider('workload')?.value() ?? 5;
if (val >= 8) return 'Workload level (Very Heavy!)';
if (val >= 6) return 'Workload level (Manageable but busy)';
if (val <= 3) return 'Workload level (Could take on more)';
return 'Workload level (Just right)';
},
min: 1,
max: 10,
defaultValue: 5,
showValue: true,
unit: '/10'
});
});
 
workloadSection.addRow(row => {
row.addSlider('stress', {
label: 'Stress level this week',
min: 1,
max: 10,
defaultValue: 5,
showValue: true,
unit: '/10'
});
});
 
// High stress follow-up
workloadSection.addRow(row => {
row.addTextarea('stressReason', {
label: 'What\'s contributing to your stress?',
placeholder: 'Share what\'s on your mind - this helps us support you better...',
rows: 2,
autoExpand: true,
isVisible: () => (workloadSection.slider('stress')?.value() ?? 0) >= 7
});
});
 
// ============================================
// SECTION 3: Team & Collaboration
// ============================================
const teamSection = form.addSubform('teamSection', {
title: 'Team & Collaboration'
});
 
teamSection.addRow(row => {
row.addRatingScale('teamCollaboration', {
preset: 'likert-5',
label: 'How well is your team collaborating?',
lowLabel: 'Poorly',
highLabel: 'Excellently',
alignment: 'center'
});
});
 
teamSection.addRow(row => {
row.addThumbRating('managerSupport', {
label: 'Do you feel supported by your manager?',
showLabels: true,
upLabel: 'Yes, supported',
downLabel: 'Need more support',
alignment: 'center'
});
});
 
// Follow-up for lack of support
teamSection.addRow(row => {
row.addTextarea('supportNeeded', {
label: 'What kind of support would help?',
placeholder: 'Let us know how we can better support you...',
rows: 2,
isVisible: () => teamSection.thumbRating('managerSupport')?.value() === 'down'
});
});
 
// ============================================
// SECTION 4: Work Aspects Matrix
// ============================================
const aspectsSection = form.addSubform('aspectsSection', {
title: 'Rate Your Week'
});
 
aspectsSection.addRow(row => {
row.addMatrixQuestion('weeklyAspects', {
label: 'How would you rate these aspects of your work this week?',
rows: [
{ id: 'productivity', label: 'Productivity', isRequired: true },
{ id: 'focus', label: 'Ability to focus' },
{ id: 'worklife', label: 'Work-life balance' },
{ id: 'motivation', label: 'Motivation' },
{ id: 'communication', label: 'Team communication' }
],
columns: [
{ id: '1', label: 'Poor' },
{ id: '2', label: 'Fair' },
{ id: '3', label: 'Good' },
{ id: '4', label: 'Great' },
{ id: '5', label: 'Excellent' }
],
striped: true,
fullWidth: true
});
});
 
// ============================================
// SECTION 5: Highlights & Challenges
// ============================================
const highlightsSection = form.addSubform('highlightsSection', {
title: 'Week Highlights & Challenges'
});
 
highlightsSection.addRow(row => {
row.addSuggestionChips('highlights', {
label: 'What went well this week? (select all that apply)',
suggestions: [
{ id: 'completed', name: 'Completed key tasks' },
{ id: 'learned', name: 'Learned something new' },
{ id: 'helped', name: 'Helped a colleague' },
{ id: 'recognition', name: 'Received recognition' },
{ id: 'progress', name: 'Made progress on goals' },
{ id: 'meeting', name: 'Productive meetings' },
{ id: 'creativity', name: 'Creative breakthroughs' },
{ id: 'balance', name: 'Good work-life balance' }
],
alignment: 'left'
});
});
 
highlightsSection.addRow(row => {
row.addSuggestionChips('challenges', {
label: 'What challenges did you face?',
suggestions: [
{ id: 'workload', name: 'Too much work' },
{ id: 'unclear', name: 'Unclear priorities' },
{ id: 'blockers', name: 'Blocked by others' },
{ id: 'meetings', name: 'Too many meetings' },
{ id: 'tech', name: 'Technical issues' },
{ id: 'communication', name: 'Communication gaps' },
{ id: 'resources', name: 'Lack of resources' },
{ id: 'motivation', name: 'Low motivation' }
],
alignment: 'left'
});
});
 
// ============================================
// SECTION 6: Overall Week Rating
// ============================================
const overallSection = form.addSubform('overallSection', {
title: 'Overall Week',
customStyles: () => {
const rating = overallSection.starRating('weekRating')?.value() ?? 0;
if (rating >= 4) return { backgroundColor: '#d1fae5', padding: '16px', borderRadius: '8px' };
if (rating <= 2 && rating > 0) return { backgroundColor: '#fee2e2', padding: '16px', borderRadius: '8px' };
return { padding: '16px' };
}
});
 
overallSection.addRow(row => {
row.addStarRating('weekRating', {
label: 'How would you rate your week overall?',
maxStars: 5,
size: 'xl',
alignment: 'center',
showConfettiOnMax: true
});
});
 
overallSection.addRow(row => {
row.addTextarea('additionalComments', {
label: () => {
const rating = overallSection.starRating('weekRating')?.value() ?? 0;
if (rating >= 4) return 'Anything else you\'d like to share about your great week?';
if (rating <= 2 && rating > 0) return 'What could have made this week better?';
return 'Any additional comments?';
},
placeholder: 'Optional thoughts or feedback...',
rows: 2,
autoExpand: true
});
});
 
// ============================================
// SECTION 7: Summary
// ============================================
const summarySection = form.addSubform('summarySection', {
title: 'Your Pulse Summary',
isVisible: () => {
const mood = moodSection.emojiRating('mood')?.value();
const rating = overallSection.starRating('weekRating')?.value();
return mood !== null || (rating !== null && rating !== undefined && rating > 0);
}
});
 
summarySection.addRow(row => {
row.addTextPanel('summary', {
computedValue: () => {
const mood = moodSection.emojiRating('mood')?.value();
const energy = moodSection.emojiRating('energy')?.value();
const workload = workloadSection.slider('workload')?.value() ?? 5;
const stress = workloadSection.slider('stress')?.value() ?? 5;
const weekRating = overallSection.starRating('weekRating')?.value() ?? 0;
const highlights = highlightsSection.suggestionChips('highlights')?.value() || [];
const challenges = highlightsSection.suggestionChips('challenges')?.value() || [];
 
const moodLabels: Record<string, string> = {
'very-bad': 'Very Low', 'bad': 'Low', 'neutral': 'Neutral',
'good': 'Good', 'excellent': 'Great'
};
const energyLabels: Record<string, string> = {
'very-easy': 'Very High', 'easy': 'High', 'moderate': 'Moderate',
'difficult': 'Low', 'very-difficult': 'Very Low'
};
 
let summary = 'Weekly Pulse Summary\n';
summary += '═'.repeat(25) + '\n\n';
 
if (mood) summary += `Mood: ${moodLabels[mood] || mood}\n`;
if (energy) summary += `Energy: ${energyLabels[energy] || energy}\n`;
summary += `Workload: ${workload}/10\n`;
summary += `Stress: ${stress}/10\n`;
if (weekRating > 0) summary += `Week Rating: ${'★'.repeat(weekRating)}${'☆'.repeat(5 - weekRating)}\n`;
 
if (highlights.length > 0) summary += `\nHighlights: ${highlights.length} items`;
if (challenges.length > 0) summary += `\nChallenges: ${challenges.length} items`;
 
return summary;
},
customStyles: {
backgroundColor: '#f8fafc',
padding: '16px',
borderRadius: '8px',
whiteSpace: 'pre-wrap',
fontFamily: 'monospace',
fontSize: '13px',
borderLeft: '4px solid #8b5cf6'
}
});
});
 
// ============================================
// FORM CONFIGURATION
// ============================================
form.configureSubmitButton({
label: 'Submit Pulse Check'
});
 
form.configureCompletionScreen({
type: 'text',
title: 'Thanks for checking in!',
message: 'Your pulse feedback helps us understand how the team is doing and where we can improve. Have a great week!'
});
}
 

Frequently Asked Questions

How often should we send pulse surveys?

Weekly is the sweet spot for most organizations. It's frequent enough to catch issues early but not so often that employees experience survey fatigue. Some teams prefer bi-weekly for smaller groups. The key is consistency.

How long should a pulse survey take to complete?

An effective pulse survey should take 1-2 minutes maximum. This template is designed to be completed in under 90 seconds. Short surveys have higher completion rates and more honest responses.

Should pulse surveys be anonymous?

This depends on your culture. Anonymous surveys typically get more honest responses, especially for sensitive topics like stress and workload. However, named surveys allow managers to follow up directly with struggling employees.

What should we do with pulse survey results?

Share aggregate results with the team, identify trends over time, and most importantly - take action. If workload scores drop consistently, address resource allocation. If mood dips, investigate the cause. The worst outcome is collecting data without acting on it.

Can we customize the emoji options?

Yes. The template uses preset emoji sets for mood (satisfaction) and energy (effort), but you can customize these to match your company culture or add custom emojis that resonate with your team.

How do we track trends over time?

FormTs stores all responses with timestamps. Export your data weekly or monthly to create trend charts. Look for patterns like Monday blues, end-of-quarter stress spikes, or gradual mood decline that might indicate larger issues.