An employee referral form that keeps the paper trail

Updated 2026-10-30

Referrals reach HR as a forwarded CV and one loose sentence. Nobody records who made the introduction, so the argument about credit starts months later. I use a short form to fix that. It is quick to fill and leaves a clean record.

How it works

  1. The employee gives their own name and work email, so the referral is credited to the right person.
  2. They add the candidate's name, contact details and the role.
  3. They say how they know the person, and for how long.
  4. They write why the person fits, and tick that the candidate agreed to be contacted.

A sample chat

The employee's AI might ask: "Who are you referring?" Then "How do you know them?" Then "Why would they be good in this role?" It shows all the answers and sends them only after a yes. Read about agent-fillable forms.

Good to know

People call this a referral bonus form, but it only records the referral. HR decides about any bonus, and the form pays or promises nothing. Contact the candidate only when the consent box is ticked, and use the job post link to show them what they would be applying for.

Say thank you yourself. An employee recognition form is a good way to log it. New people who join through a referral can start with an employee onboarding form. More tools are in HR and recruiting forms.

Questions

How do I credit the right referrer?

Each row holds the referrer's name and work email. When the candidate is hired, match their name in your hiring records to the row and credit that person.

What if two employees refer the same person?

Sort the CSV by `referred_name` to see duplicates side by side. Which one counts is a rule you write before you open the form. The form only keeps the record.

Why is there a consent box?

It makes the employee confirm the candidate knows their details are shared. You contact only people who agreed, which keeps the referral friendly.

Try the form

Live demo ยท nothing is saved

Refer someone you know

Thank you for thinking of someone. Tell us a little about them and why they would fit.

How do you know them? (required)
For how long?
This person knows I am sharing their details and is happy to be contacted (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": "Refer someone you know",
  "description": "Thank you for thinking of someone. Tell us a little about them and why they would fit.",
  "fields": [
    {
      "id": "referrer_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "referrer_email",
      "label": "Your work email",
      "type": "email",
      "required": true
    },
    {
      "id": "referred_name",
      "label": "Name of the person you are referring",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "referred_email",
      "label": "Their email",
      "type": "email"
    },
    {
      "id": "referred_phone",
      "label": "Their phone",
      "type": "phone"
    },
    {
      "id": "role_in_mind",
      "label": "Role you have in mind",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "job_post_link",
      "label": "Link to the job post",
      "type": "url"
    },
    {
      "id": "how_you_know",
      "label": "How do you know them?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Former colleague",
        "Friend",
        "Family member",
        "Classmate",
        "Met at an event",
        "Other"
      ]
    },
    {
      "id": "known_for",
      "label": "For how long?",
      "type": "single_choice",
      "options": [
        "Under a year",
        "One to three years",
        "More than three years"
      ]
    },
    {
      "id": "why_good_fit",
      "label": "Why would they be a good fit?",
      "type": "long_text",
      "required": true,
      "max_length": 1000
    },
    {
      "id": "referred_profile",
      "label": "Link to their LinkedIn page or portfolio",
      "type": "url"
    },
    {
      "id": "referred_agrees",
      "label": "This person knows I am sharing their details and is happy to be contacted",
      "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":"Refer someone you know","description":"Thank you for thinking of someone. Tell us a little about them and why they would fit.","fields":[{"id":"referrer_name","label":"Your name","type":"short_text","required":true,"max_length":150},{"id":"referrer_email","label":"Your work email","type":"email","required":true},{"id":"referred_name","label":"Name of the person you are referring","type":"short_text","required":true,"max_length":150},{"id":"referred_email","label":"Their email","type":"email"},{"id":"referred_phone","label":"Their phone","type":"phone"},{"id":"role_in_mind","label":"Role you have in mind","type":"short_text","required":true,"max_length":150},{"id":"job_post_link","label":"Link to the job post","type":"url"},{"id":"how_you_know","label":"How do you know them?","type":"single_choice","required":true,"options":["Former colleague","Friend","Family member","Classmate","Met at an event","Other"]},{"id":"known_for","label":"For how long?","type":"single_choice","options":["Under a year","One to three years","More than three years"]},{"id":"why_good_fit","label":"Why would they be a good fit?","type":"long_text","required":true,"max_length":1000},{"id":"referred_profile","label":"Link to their LinkedIn page or portfolio","type":"url"},{"id":"referred_agrees","label":"This person knows I am sharing their details and is happy to be contacted","type":"checkbox","required":true}]}'

JSON definition

json
{
  "title": "Refer someone you know",
  "description": "Thank you for thinking of someone. Tell us a little about them and why they would fit.",
  "fields": [
    {
      "id": "referrer_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "referrer_email",
      "label": "Your work email",
      "type": "email",
      "required": true
    },
    {
      "id": "referred_name",
      "label": "Name of the person you are referring",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "referred_email",
      "label": "Their email",
      "type": "email"
    },
    {
      "id": "referred_phone",
      "label": "Their phone",
      "type": "phone"
    },
    {
      "id": "role_in_mind",
      "label": "Role you have in mind",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "job_post_link",
      "label": "Link to the job post",
      "type": "url"
    },
    {
      "id": "how_you_know",
      "label": "How do you know them?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Former colleague",
        "Friend",
        "Family member",
        "Classmate",
        "Met at an event",
        "Other"
      ]
    },
    {
      "id": "known_for",
      "label": "For how long?",
      "type": "single_choice",
      "options": [
        "Under a year",
        "One to three years",
        "More than three years"
      ]
    },
    {
      "id": "why_good_fit",
      "label": "Why would they be a good fit?",
      "type": "long_text",
      "required": true,
      "max_length": 1000
    },
    {
      "id": "referred_profile",
      "label": "Link to their LinkedIn page or portfolio",
      "type": "url"
    },
    {
      "id": "referred_agrees",
      "label": "This person knows I am sharing their details and is happy to be contacted",
      "type": "checkbox",
      "required": true
    }
  ]
}