A visitor registration form for the front desk

Updated 2026-10-30

A paper visitor log sits on the front desk. Names are unreadable, hosts are never told, and nobody can say who was in the building yesterday. A form on a tablet or a phone fixes the handwriting and gives me a list I can search.

How it works

  1. The visitor gives their name and company.
  2. They name the person they are visiting and the reason.
  3. They add the date and their arrival time.
  4. They tick that they read the safety notice.

A sample chat

A visitor's AI might ask: "Who are you here to see?" Then "What is the reason for your visit?" Then "What time do you arrive?" It shows all the answers and sends them only after a yes. That helps when guests register from home. Read more about agent-fillable forms.

Good to know

Think of it as a visitor sign in form, not a security system. It records arrival. It does not record leaving, print a badge or tell the host. If you need a roll call for a fire drill, add a paper check-out as a backup.

Open the link on a tablet at the desk, and send it ahead to expected guests. Contractors and sellers who visit often can fill in a supplier application once. A repair visit starts with a work order request. More ideas are in IT and operations forms.

Questions

Does it record when visitors leave?

No. Each entry is an arrival. If you need to track leaving, ask visitors to send a second entry, or keep a paper check-out beside the screen.

Can visitors register before they arrive?

Yes. Put the link in your meeting invite. The visitor, or their own AI, fills it in at home, and the entry is in your CSV before they reach the door.

Why does it not ask for identity documents?

This template leaves them out on purpose. Check identity at the desk if your site needs it, and do not store it in a form.

Try the form

Live demo ยท nothing is saved

Welcome, please sign in

Tell us who you are and who you are here to see. It helps your host find you.

Reason for your visit (required)
How long will you stay?
I parked on site
I have read the site safety notice (required)

Or paste the JSON

Give this to your AI. It needs the AI Form API MCP server or an API key. It makes the form and sends you the link.

text
Create this form with the AI Form API create_form tool (or POST https://aiformapi.com/v1/forms with my API key). Then reply with the public_url.

{
  "title": "Welcome, please sign in",
  "description": "Tell us who you are and who you are here to see. It helps your host find you.",
  "fields": [
    {
      "id": "visitor_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "visitor_company",
      "label": "Company or organisation",
      "type": "short_text",
      "max_length": 150
    },
    {
      "id": "visitor_phone",
      "label": "Phone",
      "type": "phone"
    },
    {
      "id": "visitor_email",
      "label": "Email",
      "type": "email"
    },
    {
      "id": "host_name",
      "label": "Who are you visiting?",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "visit_purpose",
      "label": "Reason for your visit",
      "type": "single_choice",
      "required": true,
      "options": [
        "Meeting",
        "Interview",
        "Delivery or collection",
        "Contractor or repair work",
        "Tour",
        "Other"
      ]
    },
    {
      "id": "visit_date",
      "label": "Date of your visit",
      "type": "date",
      "required": true
    },
    {
      "id": "arrival_time",
      "label": "Arrival time",
      "type": "short_text",
      "max_length": 50
    },
    {
      "id": "expected_stay",
      "label": "How long will you stay?",
      "type": "single_choice",
      "options": [
        "Under an hour",
        "Half a day",
        "A full day",
        "More than a day"
      ]
    },
    {
      "id": "parked_on_site",
      "label": "I parked on site",
      "type": "checkbox"
    },
    {
      "id": "access_needs",
      "label": "Anything we should know to help you get around",
      "type": "long_text",
      "max_length": 500
    },
    {
      "id": "safety_notice_read",
      "label": "I have read the site safety notice",
      "type": "checkbox",
      "required": true
    }
  ]
}

Or call the API

bash
curl -X POST https://aiformapi.com/v1/forms \
  -H "Authorization: Bearer $AIFORMAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Welcome, please sign in","description":"Tell us who you are and who you are here to see. It helps your host find you.","fields":[{"id":"visitor_name","label":"Your name","type":"short_text","required":true,"max_length":150},{"id":"visitor_company","label":"Company or organisation","type":"short_text","max_length":150},{"id":"visitor_phone","label":"Phone","type":"phone"},{"id":"visitor_email","label":"Email","type":"email"},{"id":"host_name","label":"Who are you visiting?","type":"short_text","required":true,"max_length":150},{"id":"visit_purpose","label":"Reason for your visit","type":"single_choice","required":true,"options":["Meeting","Interview","Delivery or collection","Contractor or repair work","Tour","Other"]},{"id":"visit_date","label":"Date of your visit","type":"date","required":true},{"id":"arrival_time","label":"Arrival time","type":"short_text","max_length":50},{"id":"expected_stay","label":"How long will you stay?","type":"single_choice","options":["Under an hour","Half a day","A full day","More than a day"]},{"id":"parked_on_site","label":"I parked on site","type":"checkbox"},{"id":"access_needs","label":"Anything we should know to help you get around","type":"long_text","max_length":500},{"id":"safety_notice_read","label":"I have read the site safety notice","type":"checkbox","required":true}]}'

JSON definition

json
{
  "title": "Welcome, please sign in",
  "description": "Tell us who you are and who you are here to see. It helps your host find you.",
  "fields": [
    {
      "id": "visitor_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "visitor_company",
      "label": "Company or organisation",
      "type": "short_text",
      "max_length": 150
    },
    {
      "id": "visitor_phone",
      "label": "Phone",
      "type": "phone"
    },
    {
      "id": "visitor_email",
      "label": "Email",
      "type": "email"
    },
    {
      "id": "host_name",
      "label": "Who are you visiting?",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "visit_purpose",
      "label": "Reason for your visit",
      "type": "single_choice",
      "required": true,
      "options": [
        "Meeting",
        "Interview",
        "Delivery or collection",
        "Contractor or repair work",
        "Tour",
        "Other"
      ]
    },
    {
      "id": "visit_date",
      "label": "Date of your visit",
      "type": "date",
      "required": true
    },
    {
      "id": "arrival_time",
      "label": "Arrival time",
      "type": "short_text",
      "max_length": 50
    },
    {
      "id": "expected_stay",
      "label": "How long will you stay?",
      "type": "single_choice",
      "options": [
        "Under an hour",
        "Half a day",
        "A full day",
        "More than a day"
      ]
    },
    {
      "id": "parked_on_site",
      "label": "I parked on site",
      "type": "checkbox"
    },
    {
      "id": "access_needs",
      "label": "Anything we should know to help you get around",
      "type": "long_text",
      "max_length": 500
    },
    {
      "id": "safety_notice_read",
      "label": "I have read the site safety notice",
      "type": "checkbox",
      "required": true
    }
  ]
}