Skip to main content
Menu
On this page

Build a CSAT survey

Measure satisfaction on a 1 to 5 scale and collect a focused follow-up after a product interaction.

A CSAT survey asks how satisfied someone was with a specific interaction, on a 1 to 5 scale. Mark the rating as CSAT so Fillo insights interpret it correctly.

Define the interaction clearly

Code
const csat = defineForm({
  id: "support-csat",
  title: "Rate your support experience",
  pages: [{
    id: "feedback",
    blocks: [
      {
        id: "satisfaction",
        kind: "rating",
        label: "How satisfied are you with the help you received?",
        max: 5,
        insightsMetric: "csat",
        required: true,
      },
      {
        id: "improve",
        kind: "long_text",
        label: "What could we improve?",
        visibleIf: [{ fieldId: "satisfaction", op: "lt", value: 4 }],
      },
      { id: "ticket_id", kind: "hidden", label: "Ticket", paramName: "ticket" },
    ],
  }],
  settings: { submitLabel: "Send rating", successTitle: "Feedback received" },
});

Name the thing being rated in the label — the support case, purchase, onboarding step, or feature. A generic satisfaction question gives you less to act on.

Scope repeat responses

Prefill the hidden interaction ID and scope a response limit to that field. With verified account identity, one customer can rate several tickets — but only once per ticket. The hidden value is routing context, not proof of authorization.

Close the loop safely

Read low scores alongside their written context. Slack gets a response link by default; if the support channel needs immediate triage context, explicitly allowlist the score and at most two other fields. Open the linked response for everything else.

Try it

Start with a prompt and your coding agent builds the first form, staged for your review — or open the editor.

  • NPS example: See a live feedback scale before adapting it to CSAT.
  • Rating field: Configure the valid CSAT field shape.
  • Response limits: Scope one response to each support interaction.
  • Slack: Send a response link and optionally a tightly allowlisted field preview.

Updated

Was this page helpful?