# Lazer Forms > Forms that a person fills on a phone and an agent fills over an API. > A form collects text, choices, dates, photos, and a signature. Every > submission is stored, rendered to a PDF, emailed to the workspace > recipients, and pushed to any webhook the workspace has set. This is the product site. A customer workspace lives at its own host, `.lazerforms.com`, and each workspace publishes its own contract at `https://.lazerforms.com/llms.txt`. ## The agent contract, in short 1. A workspace owner creates an API key. It looks like `ifk_submit_...`. 2. Send it as `Authorization: Bearer ` on every request. 3. Read the form contract at `/v1/forms/` on that workspace host. It lists every field, its type, whether it is required, and an example. 4. POST values to the submit URL in that contract, keyed by field id. 5. Include an `idempotency_key` so a retry cannot store a second copy, and name yourself in `agent.name` so the workspace can see who filed it. A field id is stable. A label is not. Never key a value by a label. ## Templates - [Field inspection](https://lazerforms.com/use-cases/field-inspection): Record the state of a machine, a vehicle, or a structure on site, with photos and a signature. Template JSON at https://lazerforms.com/templates/field-inspection.json. - [Incident report](https://lazerforms.com/use-cases/incident-report): Capture what happened, who was hurt, and what was done, in the minutes after an event. Template JSON at https://lazerforms.com/templates/incident-report.json. - [Client intake](https://lazerforms.com/use-cases/client-intake): Collect the facts, documents, and consent you need before the first billable hour. Template JSON at https://lazerforms.com/templates/client-intake.json. - [Employee onboarding](https://lazerforms.com/use-cases/employee-onboarding): Gather a new hire's details, banking, and signed policies before their first morning. Template JSON at https://lazerforms.com/templates/employee-onboarding.json. - [Site induction](https://lazerforms.com/use-cases/site-induction): Sign a visitor or a subcontractor onto a site, with their tickets and their acknowledgement. Template JSON at https://lazerforms.com/templates/site-induction.json. - [Lead capture](https://lazerforms.com/use-cases/lead-capture): Turn an enquiry into a routed, timestamped record instead of an unread inbox message. Template JSON at https://lazerforms.com/templates/lead-capture.json. - [Job application](https://lazerforms.com/use-cases/job-application): Take an application with a resume attached, in a shape you can compare across candidates. Template JSON at https://lazerforms.com/templates/job-application.json. - [Event registration](https://lazerforms.com/use-cases/event-registration): Register attendees with their sessions, their dietary needs, and their consent to be photographed. Template JSON at https://lazerforms.com/templates/event-registration.json. - [Customer survey](https://lazerforms.com/use-cases/customer-survey): Ask a handful of scored questions and get answers you can chart the same week. Template JSON at https://lazerforms.com/templates/customer-survey.json. - [Compliance checklist](https://lazerforms.com/use-cases/compliance-checklist): Work through a fixed list of controls and produce a dated, signed record that you did. Template JSON at https://lazerforms.com/templates/compliance-checklist.json. - [Maintenance request](https://lazerforms.com/use-cases/maintenance-request): Let anyone raise a repair with a photo, a location, and enough detail to dispatch on. Template JSON at https://lazerforms.com/templates/maintenance-request.json. - [Support request](https://lazerforms.com/use-cases/support-request): Take a support ticket with the version, the environment, and a screenshot already attached. Template JSON at https://lazerforms.com/templates/support-request.json. ## Field types - `text`, `textarea`, `email`: strings. - `datepicker`: `YYYY-MM-DD`. - `select`: one of the option values, matched exactly. - `checkbox-simple`: `yes`, `no`, or `na`. - `fileupload`: `{"base64","filename","content_type"}` or `{"url"}`, 3 MB each. - `signature-pad`: a PNG data URL, or the stored file id on a round trip. ## Pages - [Use cases](https://lazerforms.com/use-cases): the twelve templates. - [Create a workspace](https://lazerforms.com/signup) - [Sitemap](https://lazerforms.com/sitemap.xml) ## MCP Every workspace serves MCP at `https://.lazerforms.com/mcp` with the same tools and the same keys as the JSON API.