features
AI helps respondents give answers worth reading. You get a form that’s fast to create and works for humans and agents alike.
Follow-up probes
Type a short answer and pause — the form asks again, right there, before you move on. Write the probes once; they fire for every respondent, whether a person is typing or their AI filled it in. No one gets away with "fine."
What slowed us down?
Go deeper
How many days did it block you?
AI pre-fill from context
When someone hands the form to their AI, it drafts answers from context — tickets, docs, Slack, PRs. They review, tweak, submit in 10 seconds. You get specifics instead of "fine."
What went well?
“Shipped the auth migration Tuesday. Zero rollbacks. Reused 4 components from the new library.”
from: github PRs, linear ticketsWhat slowed us down?
“Waited 3 days for the payments API spec. Staging was down Tuesday afternoon.”
from: slack threadsContext block
Drop in the brief, the ticket, the thread — whatever background turns a vague answer into a specific one. It shows above the fields, for the person filling it out and for their AI.
Campaign brief
Q3 push targets mid-market accounts that churned in the last 90 days. Focus on why they left, not just whether they’d come back.
Source tracking
See whether each submission came from a browser, ChatGPT, Claude, a custom agent, or your own integration. Spot patterns in response quality by source.
Templates
Sprint retros, NPS, standups, intake, 360 reviews, postmortems — pick one, edit any field, publish. Or start blank.
Live editor
Add, reorder, and edit fields with instant preview — see exactly what respondents get before you publish. No save-and-check loop.
Field types & conditional logic
Score, multiple choice, checkboxes, e-signature, date — the input matches the question, so nobody types a paragraph to answer yes or no. Add a rule and a field shows only when an earlier answer calls for it.
Browser-first forms
Respondents in a browser see a polished web form. No account needed to fill. Loads fast, works on any device.
What went well?
What slowed us down?
AI JSON interface
Append .json to any form URL and get a machine-readable schema with field descriptions, types, and a submit endpoint. ChatGPT, Claude, Gemini, or any agent.
{
"title": "Sprint 24 Retro",
"fields": [
{ "name": "went_well", "type": "text" },
{ "name": "slowed_down", "type": "text" },
{ "name": "rating", "type": "scale", "max": 5 }
],
"submit": "POST /@you/sprint-retro/submit"
}Idempotent submissions
Every submission accepts an Idempotency-Key header. If an agent retries a timed-out request, you get one response — not two.
POST /@you/sprint-retro/submit Idempotency-Key: retro-sprint24-alice → 200 OK (first request) → 200 OK (retry — same key, no duplicate)
Response dashboard
Every response, when it came in, browser or agent. Filter, search, export.
Custom slugs
Every form gets a clean URL: pluck.one/@you/sprint-retro. Pick your own slug or let us generate one.
Magic link auth
Enter your email, click the link. No password to forget. Password option available if you prefer it.
Check your inbox. Expires in 15 min.
API keys
Generate API keys from settings. Pull responses programmatically, pipe them into Notion, Slack, or your own dashboard.
curl -H "Authorization: Bearer pk_live_a1b2c3"\
https://pluck.one/api/forms/sprint-retro/responses
→ [{ "went_well": "...", "submitted_at": "..." }]Public or private
Forms are public by default. Mark them inactive to stop accepting responses without deleting anything.