Community Partner Feedback Survey

Strong community partnerships are the backbone of successful non-profit initiatives. This survey helps organizations evaluate their collaborative relationships with community partners, measuring key aspects like communication quality, resource sharing, goal alignment, and mutual benefit. The form includes NPS scoring to track partner loyalty, matrix questions for detailed aspect evaluation, and conditional follow-up questions to gather actionable insights for improving future collaborations.

Specialized

Try the Form

Your partnership matters. Help us strengthen our collaboration.
Partner Information
 
Partnership Recommendation
Not at all likely
Extremely likely
 
Feedback Summary
 
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
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
export function communityPartnerSurvey(form: FormTs) {
// Community Partner Feedback Survey
// Demonstrates: NPS, MatrixQuestion, StarRating, EmojiRating, dynamic styling, conditional visibility
 
// ============================================
// HEADER
// ============================================
form.addRow(row => {
row.addTextPanel('header', {
label: 'Community Partner Feedback Survey',
computedValue: () => 'Your partnership matters. Help us strengthen our collaboration.',
customStyles: {
backgroundColor: '#059669',
color: 'white',
padding: '28px',
borderRadius: '12px',
textAlign: 'center'
}
});
});
 
// ============================================
// SECTION 1: Partner Information
// ============================================
const partnerInfo = form.addSubform('partnerInfo', {
title: 'Partner Information'
});
 
partnerInfo.addRow(row => {
row.addTextbox('organizationName', {
label: 'Organization Name',
placeholder: 'Enter your organization name',
isRequired: true
}, '1fr');
row.addDropdown('partnershipType', {
label: 'Partnership Type',
options: [
{ id: 'funding', name: 'Funding Partner' },
{ id: 'program', name: 'Program Delivery Partner' },
{ id: 'advocacy', name: 'Advocacy Partner' },
{ id: 'resource', name: 'Resource Sharing Partner' },
{ id: 'strategic', name: 'Strategic Alliance' },
{ id: 'community', name: 'Community Organization' }
],
placeholder: 'Select partnership type',
isRequired: true
}, '1fr');
});
 
partnerInfo.addRow(row => {
row.addDropdown('partnershipDuration', {
label: 'How long have you been our partner?',
options: [
{ id: 'less-1', name: 'Less than 1 year' },
{ id: '1-2', name: '1-2 years' },
{ id: '3-5', name: '3-5 years' },
{ id: '5-plus', name: 'More than 5 years' }
],
isRequired: true
});
});
 
// ============================================
// SECTION 2: Partnership NPS
// ============================================
const npsSection = form.addSubform('npsSection', {
title: 'Partnership Recommendation',
customStyles: () => {
const category = npsSection.ratingScale('partnerNps')?.npsCategory();
if (category === 'promoter') return { backgroundColor: '#d1fae5', padding: '20px', borderRadius: '10px' };
if (category === 'passive') return { backgroundColor: '#fef3c7', padding: '20px', borderRadius: '10px' };
if (category === 'detractor') return { backgroundColor: '#fee2e2', padding: '20px', borderRadius: '10px' };
return { padding: '20px', borderRadius: '10px', border: '1px dashed #d1d5db' };
}
});
 
npsSection.addRow(row => {
row.addRatingScale('partnerNps', {
preset: 'nps',
label: 'How likely are you to recommend partnering with us to other organizations?',
showCategoryLabel: true,
showSegmentColors: true,
showConfettiOnPromoter: true,
isRequired: true
});
});
 
npsSection.addSpacer({ height: '15px' });
 
npsSection.addRow(row => {
row.addTextarea('npsReason', {
label: () => {
const category = npsSection.ratingScale('partnerNps')?.npsCategory();
if (category === 'promoter') return 'What makes our partnership valuable to recommend?';
if (category === 'passive') return 'What would make you more enthusiastic about our partnership?';
if (category === 'detractor') return 'What concerns would you share with others about our partnership?';
return 'Please share your thoughts';
},
placeholder: () => {
const category = npsSection.ratingScale('partnerNps')?.npsCategory();
if (category === 'promoter') return 'Share what makes our collaboration stand out...';
if (category === 'passive') return 'What improvements would elevate our partnership...';
if (category === 'detractor') return 'Help us understand the challenges you face...';
return 'Your feedback helps us improve...';
},
rows: 3,
autoExpand: true,
isVisible: () => npsSection.ratingScale('partnerNps')?.value() !== null && npsSection.ratingScale('partnerNps')?.value() !== undefined
});
});
 
// ============================================
// SECTION 3: Partnership Aspects Matrix
// ============================================
const aspectsSection = form.addSubform('aspectsSection', {
title: 'Partnership Aspects Evaluation',
isVisible: () => npsSection.ratingScale('partnerNps')?.value() !== null && npsSection.ratingScale('partnerNps')?.value() !== undefined
});
 
aspectsSection.addRow(row => {
row.addMatrixQuestion('partnershipMatrix', {
label: 'Please rate the following aspects of our partnership:',
rows: [
{ id: 'communication', label: 'Communication Quality', description: 'Clarity, timeliness, responsiveness', isRequired: true },
{ id: 'alignment', label: 'Goal Alignment', description: 'Shared objectives and vision', isRequired: true },
{ id: 'resources', label: 'Resource Sharing', description: 'Sharing of tools, expertise, and assets', isRequired: true },
{ id: 'support', label: 'Mutual Support', description: 'Assistance during challenges', isRequired: true },
{ id: 'impact', label: 'Collective Impact', description: 'Joint achievements and outcomes', isRequired: true },
{ id: 'trust', label: 'Trust & Transparency', description: 'Openness and reliability', isRequired: true }
],
columns: [
{ id: '1', label: 'Poor' },
{ id: '2', label: 'Fair' },
{ id: '3', label: 'Good' },
{ id: '4', label: 'Very Good' },
{ id: '5', label: 'Excellent' }
],
striped: true,
fullWidth: true
});
});
 
// ============================================
// SECTION 4: Relationship Quality
// ============================================
const relationshipSection = form.addSubform('relationshipSection', {
title: 'Relationship Quality',
isVisible: () => aspectsSection.matrixQuestion('partnershipMatrix')?.areAllRequiredRowsAnswered() === true,
customStyles: { backgroundColor: '#f0fdf4', padding: '20px', borderRadius: '10px' }
});
 
relationshipSection.addRow(row => {
row.addEmojiRating('relationshipFeel', {
label: 'How would you describe your overall feeling about this partnership?',
preset: 'satisfaction',
size: 'lg',
showLabels: true,
alignment: 'center'
});
});
 
relationshipSection.addRow(row => {
row.addStarRating('overallRating', {
label: 'Overall Partnership Rating',
maxStars: 5,
size: 'lg',
showCounter: true,
alignment: 'center',
showConfettiOnMax: true
}, '1fr');
row.addStarRating('valueDelivered', {
label: 'Value Delivered to Your Organization',
maxStars: 5,
size: 'lg',
showCounter: true,
alignment: 'center'
}, '1fr');
});
 
// ============================================
// SECTION 5: Improvement Areas (for lower scores)
// ============================================
const improvementSection = form.addSubform('improvementSection', {
title: 'Areas for Improvement',
isVisible: () => {
const nps = npsSection.ratingScale('partnerNps')?.value();
return nps !== null && nps !== undefined && nps <= 7;
},
customStyles: { backgroundColor: '#fefce8', padding: '20px', borderRadius: '10px' }
});
 
improvementSection.addRow(row => {
row.addCheckboxList('improvementAreas', {
label: 'Which areas need the most improvement? (Select all that apply)',
options: [
{ id: 'communication', name: 'Communication frequency and quality' },
{ id: 'response', name: 'Response time to inquiries' },
{ id: 'resources', name: 'Resource and information sharing' },
{ id: 'coordination', name: 'Project coordination' },
{ id: 'recognition', name: 'Partner recognition and visibility' },
{ id: 'reporting', name: 'Progress reporting and transparency' },
{ id: 'support', name: 'Support during challenges' },
{ id: 'alignment', name: 'Strategic alignment' }
],
orientation: 'vertical'
});
});
 
improvementSection.addSpacer({ height: '15px' });
 
improvementSection.addRow(row => {
row.addTextarea('improvementDetails', {
label: 'Please share specific suggestions for improvement:',
placeholder: 'Your detailed feedback helps us create actionable improvements...',
rows: 4,
autoExpand: true
});
});
 
// ============================================
// SECTION 6: Strengths (for promoters)
// ============================================
const strengthsSection = form.addSubform('strengthsSection', {
title: 'Partnership Strengths',
isVisible: () => {
const nps = npsSection.ratingScale('partnerNps')?.value();
return nps !== null && nps !== undefined && nps >= 8;
},
customStyles: { backgroundColor: '#ecfdf5', padding: '20px', borderRadius: '10px' }
});
 
strengthsSection.addRow(row => {
row.addCheckboxList('strengthAreas', {
label: 'What do you value most about this partnership? (Select all that apply)',
options: [
{ id: 'mission', name: 'Shared mission and values' },
{ id: 'impact', name: 'Measurable community impact' },
{ id: 'collaboration', name: 'Collaborative approach' },
{ id: 'innovation', name: 'Innovation and creativity' },
{ id: 'reliability', name: 'Reliability and follow-through' },
{ id: 'flexibility', name: 'Flexibility and adaptability' },
{ id: 'expertise', name: 'Expertise and knowledge sharing' },
{ id: 'network', name: 'Network and connections' }
],
orientation: 'vertical'
});
});
 
// ============================================
// SECTION 7: Future Collaboration
// ============================================
const futureSection = form.addSubform('futureSection', {
title: 'Future Collaboration',
isVisible: () => relationshipSection.emojiRating('relationshipFeel')?.value() !== null && relationshipSection.emojiRating('relationshipFeel')?.value() !== undefined
});
 
futureSection.addRow(row => {
row.addThumbRating('continuePartnership', {
label: 'Would you like to continue this partnership?',
showLabels: true,
upLabel: 'Yes, definitely',
downLabel: 'Not sure / No',
size: 'lg',
alignment: 'center'
});
});
 
futureSection.addRow(row => {
row.addCheckboxList('futureInterests', {
label: 'What future collaboration opportunities interest you?',
options: [
{ id: 'joint-programs', name: 'Joint program development' },
{ id: 'co-funding', name: 'Co-funding opportunities' },
{ id: 'advocacy', name: 'Advocacy campaigns' },
{ id: 'research', name: 'Research collaborations' },
{ id: 'events', name: 'Co-hosted events' },
{ id: 'training', name: 'Capacity building & training' }
],
orientation: 'vertical',
isVisible: () => futureSection.thumbRating('continuePartnership')?.value() === 'up'
});
});
 
// ============================================
// SECTION 8: Summary
// ============================================
const summarySection = form.addSubform('summarySection', {
title: 'Feedback Summary',
isVisible: () => relationshipSection.starRating('overallRating')?.value() !== null && relationshipSection.starRating('overallRating')?.value() !== undefined
});
 
summarySection.addRow(row => {
row.addTextPanel('summaryContent', {
computedValue: () => {
const orgName = partnerInfo.textbox('organizationName')?.value() || 'Your Organization';
const partnerType = partnerInfo.dropdown('partnershipType')?.value();
const nps = npsSection.ratingScale('partnerNps')?.value();
const category = npsSection.ratingScale('partnerNps')?.npsCategory();
const overall = relationshipSection.starRating('overallRating')?.value();
const feeling = relationshipSection.emojiRating('relationshipFeel')?.value();
const continueChoice = futureSection.thumbRating('continuePartnership')?.value();
 
if (nps === null || nps === undefined) return '';
 
const partnerTypeLabels: Record<string, string> = {
'funding': 'Funding Partner',
'program': 'Program Delivery Partner',
'advocacy': 'Advocacy Partner',
'resource': 'Resource Sharing Partner',
'strategic': 'Strategic Alliance',
'community': 'Community Organization'
};
 
const feelingLabels: Record<string, string> = {
'very-bad': 'Very Dissatisfied',
'bad': 'Dissatisfied',
'neutral': 'Neutral',
'good': 'Satisfied',
'excellent': 'Very Satisfied'
};
 
let emoji = category === 'promoter' ? '🤝' : category === 'passive' ? '🤔' : '⚠️';
 
let summary = `${emoji} Partnership Feedback Summary\n`;
summary += `${'═'.repeat(35)}\n\n`;
summary += `🏢 Organization: ${orgName}\n`;
if (partnerType) summary += `📋 Type: ${partnerTypeLabels[partnerType] || partnerType}\n`;
summary += `\n📊 NPS Score: ${nps}/10 (${category?.charAt(0).toUpperCase()}${category?.slice(1)})\n`;
if (overall) summary += `⭐ Overall Rating: ${overall}/5 stars\n`;
if (feeling) summary += `💭 Feeling: ${feelingLabels[feeling] || feeling}\n`;
if (continueChoice) summary += `\n🔮 Continue Partnership: ${continueChoice === 'up' ? 'Yes' : 'Uncertain'}\n`;
 
return summary;
},
customStyles: () => {
const category = npsSection.ratingScale('partnerNps')?.npsCategory();
const baseStyles = {
padding: '20px',
borderRadius: '10px',
whiteSpace: 'pre-wrap',
fontFamily: 'monospace',
fontSize: '14px'
};
 
if (category === 'promoter') {
return { ...baseStyles, backgroundColor: '#d1fae5', borderLeft: '4px solid #059669' };
} else if (category === 'passive') {
return { ...baseStyles, backgroundColor: '#fef3c7', borderLeft: '4px solid #f59e0b' };
} else if (category === 'detractor') {
return { ...baseStyles, backgroundColor: '#fee2e2', borderLeft: '4px solid #ef4444' };
}
return baseStyles;
}
});
});
 
// ============================================
// FORM CONFIGURATION
// ============================================
form.configureSubmitButton({
label: 'Submit Partnership Feedback',
isVisible: () => relationshipSection.starRating('overallRating')?.value() !== null && relationshipSection.starRating('overallRating')?.value() !== undefined
});
 
form.configureCompletionScreen({
type: 'text',
title: 'Thank You for Your Partnership!',
message: 'Your feedback is invaluable in strengthening our collaboration. We review every response and are committed to making our partnership even more impactful. Together, we create lasting community change.'
});
}
 

Frequently Asked Questions

How often should we survey community partners?

Most organizations survey partners bi-annually to track relationship health without causing survey fatigue. However, you might also send brief pulse checks after major collaborative projects or events to gather timely feedback.

Should the survey be anonymous?

It depends on your goals. Anonymous surveys often yield more honest feedback, especially about challenges. However, if you want to follow up on specific concerns or celebrate successes with particular partners, identified responses are more actionable.

What's a good NPS score for partner relationships?

In the non-profit sector, partner NPS scores above 40 indicate strong relationships. Scores of 50+ suggest exceptional partnerships with high advocacy potential. If scores drop below 20, it's time to investigate underlying issues.

How can we increase survey response rates from partners?

Personalize the invitation, keep the survey under 5 minutes, explain how feedback will be used, share results and action plans from previous surveys, and consider offering a summary report of aggregate findings as a value-add for participants.

What should we do with negative feedback?

View negative feedback as an opportunity. Acknowledge concerns promptly, schedule follow-up conversations with dissatisfied partners, develop action plans addressing specific issues, and communicate changes made based on feedback to show you value their input.