SurveyMonkey Low-Response Reminder Nudge
On a schedule, the flow checks SurveyMonkey collector response rates against a target; for collectors falling short before a deadline, it sends reminder invitations to non-responders, escalates to the survey owner if still low, and reports final response rates. Lifts completion rates without manual chasing.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
This flow lifts SurveyMonkey survey completion rates without manual chasing. On a daily schedule it reads a survey's response count, computes the response rate as a percentage of a configurable target, and routes accordingly: if the rate is below the reminder threshold it emails a reminder (with the survey link) to the non-responder distribution list and posts a "below target" notice to a Teams channel; if the rate is critically low it additionally escalates to the survey owner by email. Every run finishes by posting a response-rate report to Teams.
Why it matters: Low response rates undermine survey validity. Automated, timed nudges recover completions and keep the team informed of progress — no one has to open SurveyMonkey to check.
Status: Built as a FlowLibs demo. Ships Off; going live requires only connection authorization and setting the environment-variable values.
Use Case
A Marketing or Operations team running a survey with a target response count wants automatic reminders to non-responders and an escalation path to the owner when the survey is pacing badly — plus a daily readout of where the response rate stands.
Flow Architecture
Recurrence Daily Check
Recurrence (Day/1, 9:00 AM ET)Daily cadence for the rate check.
Init varTargetResponseCount
Initialize Variable (Integer, 100)Target number of responses.
Init varReminderThresholdPct
Initialize Variable (Integer, 70)Rate % below which a reminder is sent.
Init varEscalationThresholdPct
Initialize Variable (Integer, 40)Rate % below which the owner is escalated.
Init varReminderRecipients
Initialize Variable (String)Non-responder distribution list.
Init varSurveyOwnerEmail
Initialize Variable (String)Owner who receives escalations.
Init varReminderSubject
Initialize Variable (String)Reminder email subject (editable copy).
Init varReminderBody
Initialize Variable (String)Reminder email intro (editable copy).
Get Survey Details
SurveyMonkey GetSurveyReads title, collect_url, response_count.
Compose Current Responses
Composeresponse_count coerced to integer.
Compose Response Rate Pct
ComposeWhole-number percent of target (divide-by-zero guarded).
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_SurveyMonkeySurveyId | String | REPLACE_WITH_SURVEY_ID | SurveyMonkey survey id to monitor. |
| flowlibs_TeamsGroupId | String | <your-team-id> | Target Teams team (group) id. |
| flowlibs_TeamsChannelId | String | <your-channel-id> | Target Teams channel id. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| SurveyMonkey | shared_surveymonkey | GetSurvey |
| Office 365 Outlook | shared_office365 | SendEmailV2 |
| Microsoft Teams | shared_teams | PostMessageToConversation |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Tune thresholds
- Adjust varTargetResponseCount, varReminderThresholdPct, and varEscalationThresholdPct (keep the escalation threshold below the reminder threshold).
- Cap reminders
- Add a Dataverse ledger to record how many nudges each survey has had and skip once a cap is reached, avoiding reminder fatigue.
- Deadline gate
- Add a varDeadlineDate and only nudge while utcNow() is before the deadline.
- Multiple surveys
- Wrap the read/decision in an Apply to each over a list of survey ids (one env var per survey, or a JSON array).
- Channel
- Swap the Teams post for an Adaptive Card, or add SMS via Twilio for mobile audiences.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Current responses
Reads response_count as integer.
EXPR.02Response rate (%)
Percent of target, divide-by-zero guarded.
EXPR.03Below-target gate
Decides whether to nudge.
EXPR.04Escalation gate
Decides whether to escalate to owner.
EXPR.05Survey link (email/Teams)
Public collector link for reminders.
Customize & download
Generate a ready-to-import copy of this solution with your environment-variable values baked in — available on Base, Pro, or Team.
Upgrade to customize
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.