Flashpoint.AIFlashpoint.AIdocs

Distribute

Five channels reach respondents. All five funnel into the same response store, segmented by panel_id so you can break down results per source without any extra configuration.

Channels at a glance

ChannelWhen to useTypical latencyDetail page
Public linkOpen recruitment — share one URL anywhereInstant(below)
Email listYou own the recipient list — tracked, tokenized invites via SendGridSeconds to deliverEmail distribution
Synthetic panelDirectional data with no humans — AI-generated respondentsMinutes per cohortSynthetic
ProlificReal respondents from Prolific's vetted academic panelHours to daysProlific
DynataLarge general-population panel for high-scale studiesHours to daysDynata

Public link

The simplest channel. Publish the survey and share its public URL:

https://flashpoint.ai/s/{survey_id}

Anyone with the link can respond. The link is live as soon as the survey status is active and stops accepting submissions when the survey is paused or completed.

Public-link responses arrive with panel_id = null, labeled as Open distribution in the Analyze tab. This is the right choice for embedded survey links on your website, QR codes at events, or social-media posts where you do not need to track individual recipients.

# Verify a survey is active (and therefore accepting public responses)
curl https://surveys.flashpoint.ai/api/v1/surveys/{survey_id} \
  -H "X-Service-Token: $TOKEN" \
  -H "X-Team-ID: $TEAM_ID" \
  -H "X-User-ID: $USER_ID"

The response includes "status": "active" when the link is live.

Email list

Upload or paste a list of email addresses, customize the invitation template, send. Every recipient gets a unique tokenized link so each response ties back to a specific email address.

The pipeline validates addresses via ZeroBounce, delivers through SendGrid at 10 emails/sec, and tracks per-recipient status from pending through sent, clicked, and completed (or bounced).

Key operations:

  • Create a list — from inline emails or a saved custom panel.
  • Compose a template — AI-drafted subject, body, and CTA.
  • Send — survey must be active; irreversible once triggered.
  • Track — per-recipient delivery and completion status.
  • Resend — remind non-respondents without re-mailing those who already completed.
  • Add recipients — append to an existing list after the initial send.

Full walkthrough with curl examples: Email distribution.

Synthetic panel

AI-generated personas take the survey end to end. Responses arrive in minutes rather than days, tagged with a synthetic panel_id so you can include, exclude, or compare them against real respondents in any analysis.

Useful for directional pre-fielding, concept testing, and pressure-testing questionnaire flow before spending on human recruitment.

Full details: Synthetic panels.

Prolific

Real respondents recruited from Prolific's panel. The flow: quote, approve, pay (Stripe), launch, field, close. Prolific demographic data (age, gender, country) is attached to each response. Responses carry panel_provider = "prolific" and the Prolific-specific panel_id.

Full details: Prolific.

Dynata

A larger general-population panel for higher-scale studies. Same quote-approve-pay-launch-field lifecycle as Prolific, with Dynata's own demographic filters and provider-specific respondent metadata.

Full details: Dynata.

How panel_id segments responses

Every channel produces a panel with a unique panel_id. Responses persist with that identifier so the Analyze tab can answer "what did Prolific say vs. my email list?" in one filter change.

Sourcepanel_id value
Public linknull (shown as "Open distribution")
Email listUUID of the email list
Synthetic panelUUID of the synthetic panel
ProlificUUID of the Prolific panel
DynataUUID of the Dynata panel

Pass panel_id as a query parameter on any analytics endpoint to scope results:

curl "https://surveys.flashpoint.ai/api/v1/surveys/{survey_id}/analytics?panel_id={panel_id}" \
  -H "X-Service-Token: $TOKEN" \
  -H "X-Team-ID: $TEAM_ID" \
  -H "X-User-ID: $USER_ID"

Use panel_id=open to see only public-link traffic.

Quotas during fielding

When a survey defines quotas, every incoming response is checked against quota state before it persists. Three outcomes:

  • Quota open — response is recorded normally.
  • Quota full — respondent is routed to a "thank you" page; response is recorded as screen_out.

Quota state is live across all channels. A synthetic respondent filling a demographic cell counts against the same quota a Prolific respondent would fill.

Next steps