Surveys
Flashpoint.AI runs survey research end to end from a natural language objective: design, recruit, field, analyze, and deliver. The same interface serves human researchers and autonomous agents.
What it does
You supply a research objective in natural language. Any language is supported. The platform plans a multi-step workflow, executes the steps, and returns the artifacts: the questionnaire, the recruited panel, the response data, the analysis, and the deck.
How it works
An objective is decomposed into a typed plan. Steps execute in dependency order. Some run immediately, such as questionnaire design; others are queued, such as synthetic fielding and deck generation. Outputs from one step are passed to later steps by reference, so a panel created in step one is consumed by step two using its real ID. Artifacts are returned as steps complete. Destructive actions, such as publishing, sending an email blast, or excluding responses, require explicit approval before they run.
Two ways to use it
| Path | When to use |
|---|---|
| Ask the agent | Open a chat, describe what you want. The agent plans, executes, narrates, and asks for confirmation on anything destructive. Read Ask the agent. |
| Call the API | Every action is available behind a REST endpoint, against the same model and data. Use it alongside the agent or on its own. Read the API Reference. |
Capabilities
| Area | What it covers | Read |
|---|---|---|
| Build | 20+ question types, blocks, skip logic, piping, randomization, translations, validation | Build · Question types · Skip logic |
| Quotas | Total and conditional quotas with real-time enforcement, monitoring, reconciliation | Quotas |
| Lifecycle | Draft, publish, pause, complete, clone — plus versioning that lets you edit a live survey without disturbing in-flight respondents | Lifecycle |
| Templates | Pre-built survey designs by category; save any survey as a reusable template | Templates |
| Sample | AI-generated synthetic panels, Prolific, Dynata — with per-panel segmentation across the pipeline | Sample · Synthetic · Prolific · Dynata |
| Distribute | Public link, email lists with tracking and resend, panel provider recruitment | Distribute · Email |
| Analyze | Frequencies, crosstabs, NPS, chi-square, segment filtering, AI-powered insights | Analyze · AI insights · Data quality |
| Import & export | DOCX import (AI programs the survey), CSV, XLSX, PDF, Confirmit XML, Qualtrics QSF, Forsta XML | Import & export |
| Ask the agent | Chat-driven everything with approval gates for destructive work | Ask the agent |
Model
The core objects you'll see across the API and the chat artifacts:
survey— the long-lived container. Has a name, a status (draft/active/paused/completed), and acurrent_versionpointer at the live questionnaire.survey_version— an immutable snapshot of the questionnaire document at a point in time. Editing a published survey creates a new version; the live one keeps running until you push.response— a single respondent's answers. Always references thesurvey_versionthey took, so renaming Q4 next month doesn't rewrite history.panel— a source of respondents. Open links, email lists, synthetic personas, or external panel providers (Prolific, Dynata) each get apanel_idand you can segment analysis by it.workflow— a typed multi-step plan the agent generates from an objective. Each step has a tool, inputs, dependencies, and produces artifacts (the questionnaire, the deck, etc.).
Conventions
- Every resource ID is a UUID. Routes are stable:
/api/v1/surveys/:id. - Destructive actions (publish, send, exclude, complete) emit approval-gated tool calls when invoked through the agent.
- All artifacts stream back over the chat connection while they're being produced, and persist to the chat history when they're done.
Next steps
- New to the platform? Start at Quickstart.
- Want to see what the agent can do? Read Ask the agent.
- Run a study against an AI-generated panel: Sample.
- Set up panel provider webhooks: Webhooks.
- Handle data subject requests: GDPR & privacy.
- Looking for a specific endpoint? Jump to the API Reference.