Pardon
Contents

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

A ping from Lakeside IT: How's your computer running today?, with five face emojis from very bad to great, and the note One tap, sent anonymously
{
  "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:

A ping: How's the office Wi-Fi today?, with thumbs down, shrug and thumbs up
{
  "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 ping after a tap: Thanks! Sent., with an Undo link

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.

KindWhat the user seesWhat comes back
ratingA 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 labelsthe number
singleA list of options, pick onethe option's text
multiA list of options with check boxesthe chosen options' text, in your order
yesnoYes and Notrue or false
textA three-line box, up to 2,000 charactersthe text
Survey step 1 of 5: How likely are you to recommend IT support to a colleague?, a 0 to 10 scale with 9 selected, labelled Not likely and Very likely
Survey step 2 of 5: Which device do you use most?, with Laptop selected from Laptop, Desktop and Tablet
Survey step 3 of 5: Which apps feel slow?, with Teams and Browser checked, and a Skip link
Survey step 4 of 5: Did the VPN work for you this week?, with Yes selected
Survey step 5 of 5: Anything else we should know?, with a typed answer, a Skip link, and Back and Submit buttons
{
  "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": true adds 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).