features

How we make responses better.

AI helps respondents give answers worth reading. You get a form that’s fast to create and works for humans and agents alike.

Respondents review instead of recall.

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."

AI drafting from context

What went well?

“Shipped the auth migration Tuesday. Zero rollbacks. Reused 4 components from the new library.”

from: github PRs, linear tickets

What slowed us down?

“Waited 3 days for the payments API spec. Staging was down Tuesday afternoon.”

from: slack threads

Know where responses come from.

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.

Browser42%
Claude28%
ChatGPT18%
API12%

Go from zero to live in 60 seconds.

Templates

Sprint retros, NPS, standups, intake, 360 reviews, postmortems — pick one, edit any field, publish. Or start blank.

Sprint RetroNPSAsync Standup360 ReviewBug ReportProject Intake+ Blank

See what respondents see as you build.

Live editor

Add, reorder, and edit fields with instant preview. No save-and-check loop. Text, number, scale, select, multi-select.

Sprint Retroediting
1
What went well?
text
2
What slowed us down?
text
3
Sprint rating (1-5)
text
+ Add field

Clean, fast, mobile-friendly.

Browser-first forms

Respondents in a browser see a polished web form. No account needed to fill. Loads fast, works on any device.

pluck.one/@you/sprint-retro

What went well?

What slowed us down?

Submit

Any AI fills your form — no plugin needed.

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.

GET /@you/sprint-retro.json
{
  "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"
}

Agents can safely retry without duplicates.

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)

Read all submissions in one place.

Response dashboard

Every response, when it came in, browser or agent. Filter, search, export.

Responses12 total
2m agoclaude"Shipped auth migration, zero rollbacks…"
1h agobrowser"The standup format works well for our…"
3h agochatgpt"Waited 3 days for the API spec. Staging…"

URLs people actually remember.

Custom slugs

Every form gets a clean URL: pluck.one/@you/sprint-retro. Pick your own slug or let us generate one.

https://pluck.one/@you/sprint-retro

Sign in without a password. Or use one.

Magic link auth

Enter your email, click the link. No password to forget. Password option available if you prefer it.

you@work.com
Send me a sign-in link

Check your inbox. Expires in 15 min.

Integrate responses into your own tools.

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": "..." }]

Control who can fill your form.

Public or private

Forms are public by default. Mark them inactive to stop accepting responses without deleting anything.

Form status:Activeaccepting responses

Ready to try it?

Free to start. Your first form takes about a minute.

Make your first form →