Use cases/Lanes Forms/Feedback and survey forms

Feedback and survey forms

Collect feedback and survey responses into one place, with export, without building a backend.

Feedback and surveys are about getting answers into one place you can actually read. Lanes Forms handles capture, storage, and export so you can focus on the questions.

A survey here is a schema: one POST /v1/forms with the list of questions as fields returns a live endpoint. Responses can arrive as JSON, form-urlencoded posts, or multipart data, from a page you own or a script you run. See provisioning for the create call and submitting for the endpoint contract.

How Lanes Forms does it

  • Any fields. Text, long text, numbers, and checkboxes, whatever the survey needs. Schema types are text, email, textarea, number, checkbox, and hidden, each with an optional required flag. A response that skips a required question is refused with a 422 that lists exactly which fields were missing.
  • Stored and exportable. Submissions are held in Lanes with CSV export. Responses are listed in the dashboard, and the submissions endpoint exports them as CSV with ?format=csv, so the analysis happens in whatever tool you already use. See the API reference.
  • Route it too. Send responses to email, a webhook, or Supabase as they arrive. Email forwarding and Lanes-hosted storage are live today; webhook and Supabase delivery are on the roadmap and return 422 action_not_available until they ship. See integrating.
  • Protected. Rate limits and honeypots keep bots from skewing your results. A bot that fills the hidden _gotcha field is marked as spam silently, with success still returned, and each IP is limited to 10 submissions per minute. Every stored response carries a spam score, so junk stays separable from signal.

Why it matters

You get clean responses in one place, ready to read or export, without standing up and maintaining a survey backend.

Surveys also change mid-flight. Values you post that are not in the schema are stored under extra rather than rejected, so adding a question to your markup does not break collection, and the schema itself can be updated later with a PATCH on the form.

Both audiences are served by the same endpoint. A respondent submitting from a browser lands on a hosted thank-you page, while a script or API caller gets a JSON receipt with a submission id, so panel tools and embedded pages can feed the same survey.

Set it up

  1. Provision the survey. One request with the questions as fields:
Bash
curl -X POST https://api.lanes.sh/v1/forms \
  -H "Content-Type: application/json" \
  -d '{
    "recipients": ["you@company.com"],
    "allowed_origins": ["example.com"],
    "schema": [
      {"name": "rating", "type": "number", "required": true},
      {"name": "comments", "type": "textarea"}
    ]
  }'
  1. Collect responses. Point a page at the endpoint_url, or submit directly from any client:
Bash
curl -X POST https://api.lanes.sh/v1/f/YOUR_FORM_ID \
  -H "Content-Type: application/json" \
  -d '{"rating": 4, "comments": "Loved the onboarding"}'
  1. Read and export. Claim the form, watch responses arrive in the dashboard, and pull the CSV when you are ready to analyze.
A dedicated survey tool earns its keep on branching logic and question banks. When the survey is five questions on a page you already own, it is overhead: another login, another embed script, and answers that live inside someone else's UI instead of next to your work.

Further reading

See Lanes Forms.