FormThunder isn't open yet. This site describes the service as it will run at launch. Find out more

FormThunder
Menu

Copy a job application form template that sends CVs to your inbox

This job application form collects a name, email, role, LinkedIn URL, cover note and a CV upload of up to 5 MB. FormThunder stores each application and emails it to the hiring inbox with the CV attached. The file upload needs the Pro plan with attachments turned on for the form, and everything else works on Free.

Updated

Preview

This preview is switched off, so nothing here sends.

Copy the code

Replace YOUR_ACCESS_KEY with your own key. The classes use Tailwind's stock colours, so they work in any Tailwind project.

job-application-form.html
<form action="https://formthunder.com/submit" method="POST" enctype="multipart/form-data" class="mx-auto max-w-lg space-y-4">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
  <input type="hidden" name="subject" value="New job application">
  <input type="checkbox" name="botcheck" class="hidden" tabindex="-1" autocomplete="off">

  <div>
    <label for="name" class="block text-sm font-medium text-slate-900">Name</label>
    <input id="name" name="name" required autocomplete="name" class="mt-1 w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-950 focus:border-slate-950 focus:outline-none">
  </div>

  <div>
    <label for="email" class="block text-sm font-medium text-slate-900">Email</label>
    <input id="email" name="email" type="email" required autocomplete="email" class="mt-1 w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-950 focus:border-slate-950 focus:outline-none">
  </div>

  <div>
    <label for="role" class="block text-sm font-medium text-slate-900">Role</label>
    <select id="role" name="role" required class="mt-1 w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-950 focus:border-slate-950 focus:outline-none">
      <option value="">Choose a role</option>
      <option>Frontend developer</option>
      <option>Backend developer</option>
      <option>Designer</option>
    </select>
  </div>

  <div>
    <label for="linkedin" class="block text-sm font-medium text-slate-900">LinkedIn or portfolio URL</label>
    <input id="linkedin" name="linkedin" type="url" placeholder="https://" class="mt-1 w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-950 focus:border-slate-950 focus:outline-none">
  </div>

  <div>
    <label for="attachment" class="block text-sm font-medium text-slate-900">CV (PDF, 5 MB maximum)</label>
    <input id="attachment" name="attachment" type="file" accept=".pdf" required class="mt-1 block w-full text-sm text-slate-700">
  </div>

  <div>
    <label for="cover_note" class="block text-sm font-medium text-slate-900">Why this role?</label>
    <textarea id="cover_note" name="cover_note" rows="4" class="mt-1 w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-950 focus:border-slate-950 focus:outline-none"></textarea>
  </div>

  <button type="submit" class="w-full rounded-lg bg-slate-950 px-4 py-2.5 text-sm font-medium text-white hover:bg-slate-700">Send application</button>
</form>

The fields that matter

role

An empty first option plus required makes people choose. You can filter your inbox on it.

attachment

The reserved file field. The CV arrives attached to the email and linked from the dashboard.

Adapting it

  • CVs are personal data, so state how long you keep them and delete what you don't need. Submission history is 1 year on Pro.
  • Up to 5 verified recipients on Pro means a hiring manager and a recruiter can both get each application.

Questions

Can I have a different form per job?

Yes. Forms are unlimited, so one per role works, or keep the single form and use the role field.

Can applicants get a confirmation email?

Yes. The autoresponder is on Pro, and it needs allowed_domains set on the form.

Get a key and make this form send

File uploads need the Pro plan at $12 a month. Everything else works on Free.