Surveys and pings
Surveys and pings turn Pardon around: instead of telling people something, you ask them. A ping is one tap ("How's the Wi-Fi today?"); a survey is a few short questions, one per screen. The answers come back in the result like any other campaign, so the RMM job that sent the question collects the answers too.
Pings
{
"schema": "campaign/v1",
"campaign_id": "daily-sentiment",
"type": "ping",
"anonymous": true,
"title": "How's your computer running today?",
"branding": { "org_name": "Lakeside IT", "accent": "#1e3a5f" }
}
Without an emojis list you get the five faces above, which report very_bad, bad, okay, good or great. Bring your own with two to five emojis, each a glyph, a label (read out by screen readers) and the value you want back:
{
"schema": "campaign/v1",
"campaign_id": "wifi-check",
"type": "ping",
"title": "How's the office Wi-Fi today?",
"timeout_seconds": 600,
"emojis": [
{ "glyph": "๐", "label": "Bad", "value": "bad" },
{ "glyph": "๐คท", "label": "So-so", "value": "meh" },
{ "glyph": "๐", "label": "Good", "value": "good" }
],
"branding": { "org_name": "Lakeside IT", "accent": "#1e3a5f" }
}
A tap shrinks the card to a thank-you with an Undo link. The answer is sent when those five seconds are up, so a mis-tap can be taken back:
The chosen value comes back as detail.choice, with outcome submitted and exit 0. If the window is closed or times out during the Undo seconds, the tap still counts.
Surveys
A survey shows one question at a time, with dots and "1 of 5" so people can see how long it is. Up to 20 questions, in five kinds.
| Kind | What the user sees | What comes back |
|---|---|---|
rating | A row of numbered buttons from scale.min to scale.max (1 to 5 by default, up to 11 steps such as a 0 to 10 NPS) with your end labels | the number |
single | A list of options, pick one | the option's text |
multi | A list of options with check boxes | the chosen options' text, in your order |
yesno | Yes and No | true or false |
text | A three-line box, up to 2,000 characters | the text |





{
"schema": "campaign/v1",
"campaign_id": "q4-workspace-survey",
"type": "survey",
"timeout_seconds": 1800,
"questions": [
{ "id": "nps", "kind": "rating", "prompt": "How likely are you to recommend IT support to a colleague?",
"scale": { "min": 0, "max": 10, "min_label": "Not likely", "max_label": "Very likely" } },
{ "id": "os", "kind": "single", "prompt": "Which device do you use most?", "options": ["Laptop", "Desktop", "Tablet"] },
{ "id": "apps", "kind": "multi", "prompt": "Which apps feel slow?",
"options": ["Outlook", "Teams", "Browser", "Line-of-business app"], "required": false },
{ "id": "vpn", "kind": "yesno", "prompt": "Did the VPN work for you this week?" },
{ "id": "notes", "kind": "text", "prompt": "Anything else we should know?", "required": false }
],
"branding": { "org_name": "Lakeside IT", "accent": "#1e3a5f" }
}
Questions are required unless you say "required": false. A required question keeps Next greyed out until it is answered; an optional one shows a Skip link. Back keeps earlier answers, and the last step's button reads Submit.
The โ (or Esc) skips the whole survey, which reports dismissed, exit 2. A survey that times out reports timeout, exit 3. In both cases no partial answers are sent.
Survey results
"outcome": "submitted",
"exit_code": 0,
"detail": {
"answers": [
{ "question_id": "nps", "kind": "rating", "value": 9 },
{ "question_id": "os", "kind": "single", "value": "Laptop" },
{ "question_id": "apps", "kind": "multi", "value": ["Teams", "Browser"] },
{ "question_id": "vpn", "kind": "yesno", "value": true },
{ "question_id": "notes", "kind": "text", "value": null, "skipped": true }
]
}
Because single and multi answers come back as the option text, options within one question must be different from each other.
Anonymous answers
Set "anonymous": true on a ping or survey and the result leaves out the user's name ("user": null). The ping card says "sent anonymously" when you do; without it, the line isn't shown. The machine name is still in the result, because your RMM ran the job on that machine. If that matters for a sensitive survey, collect results only in aggregate.
Tips
- Keep pings to one honest question you will act on. A daily ping people learn to ignore tells you nothing.
- Five questions is plenty for a survey. The dots show people how long it is, and short surveys get finished.
- Give pings and surveys a
timeout_seconds, so an unattended PC doesn't hold the RMM job open. "dex_snapshot": trueadds uptime, free disk and similar facts to each answer, so "my computer is slow" can be checked against the machine that said it.
Every field is in the campaign reference (reference coming soon), and the result shapes are in the results reference (reference coming soon).