MuxForms job application forms power careers pages with role select, LinkedIn and resume links, and cover letter fields—hosted inbox and email for recruiting until you plug in Greenhouse or Ashby via export or webhook.
Use case
Your careers page should not send resumes to a black-hole Gmail filter or a WordPress plugin that breaks after the next PHP upgrade.
| Field | Purpose |
|---|---|
| role | Select open positions |
| resume_link | URL to PDF or portfolio |
| Profile screening | |
| cover_letter | Required narrative |
Early hiring teams need a careers form before they can justify ATS seats: collect identity, role interest, links, and a short narrative—then search the inbox when a referrer says “I sent my CV last week.”
MuxForms validates required fields server-side so blank applications never reach recruiting@. Honeypot and rate limits cut bot spam on public /careers URLs.
Use a select for open role or department; add `url` fields for LinkedIn and resume (Google Drive or PDF link) until file-upload fields match your plan. Hidden `role_id` can be set per job detail page in JavaScript.
Embed one form on the main careers page or duplicate forms per role in the dashboard—unlimited forms on one subscription.
When volume grows, export CSV from the inbox or send webhooks to Greenhouse, Lever, or Ashby. MuxForms stays the intake layer; the ATS becomes system of record later.
Internal hiring portals can POST JSON with the ingest secret from a logged-in tools site—same schema as the public embed.
Create a form named Hiring — Job application with these fields, then paste the embed on your page. Notify recruiting@; set select options to your open roles; require resume_link or LinkedIn for screening.
| Field | Type | Required |
|---|---|---|
| Full namename | text | Yes |
| Emailemail | Yes | |
| Rolerole | select | Yes |
| LinkedIn profilelinkedin | url | No |
| Resume or portfolio linkresume_link | url | Yes |
| Why do you want to join us?cover_letter | textarea | Yes |
| Role idrole_idhidden | text | No |
| Leave blank_hphidden | text | No |
Illustrative preview—wire your form id after signup.
{
"name": "Hiring — Job application",
"fields": [
{
"name": "name",
"label": "Full name",
"type": "text",
"required": true
},
{
"name": "email",
"label": "Email",
"type": "email",
"required": true
},
{
"name": "role",
"label": "Role",
"type": "select",
"required": true,
"options": [
"Software engineer",
"Product designer",
"Customer success",
"Other"
]
},
{
"name": "linkedin",
"label": "LinkedIn profile",
"type": "url",
"required": false,
"placeholder": "https://linkedin.com/in/…"
},
{
"name": "resume_link",
"label": "Resume or portfolio link",
"type": "url",
"required": true,
"placeholder": "Link to PDF or portfolio"
},
{
"name": "cover_letter",
"label": "Why do you want to join us?",
"type": "textarea",
"required": true
}
]
}<div data-form-id="FORM_UUID"></div> <script src="https://www.muxforms.com/embed.js" defer></script>
Then clone the pattern for the next site or app.
Upgrade to Pro