How small teams can collect job applications on their website
Publish open roles on a careers page, collect applications with a CV upload, and review them in one inbox.
You’re hiring. The site already has an About page. What it doesn’t have is a place for people to apply.
A “we’re hiring” line that points at a personal inbox leaves you with unlabeled PDFs. You lose the role they applied for, and last week’s application sits next to today’s with no stage attached.
Sitebase’s careers feature gives a small team a public role list and one application form per open role. Applications and CVs land in the dashboard, where you can move each one through a stage.
Sitebase is in private beta. Public signup isn’t open. These steps are for accounts with access.
Decide what you’re hiring for
Start with one role you can describe in a few paragraphs. Write the title, what the work is, and what you’re looking for.
Tell applicants what happens after they submit. “We’ll read every application and reply if there’s a fit” is clearer than a vague thanks.
Put the careers block on its own page if you have more than one role. About is fine if that’s already where people look.
Create the careers feature
Add your website in Sitebase and select Careers on the features step. If the site already exists, use + Add more.
A Sitebase website has one careers feature. You add several roles inside that feature. You don’t create a second careers embed for a second job.
Open Config first. Set the title, description, button label, success message, and the consent note above the button. The default title is “Join our team”. The default button is “Apply now”. Change those if they don’t match how you talk about hiring.
Add an opening
Go to Openings and use Add opening.
Title and description are required. Then add the details you want visitors to see: department, location, work mode, employment type, an optional salary range, and optional requirements.
Work mode is on-site, hybrid, or remote. Employment type is full-time, part-time, contract, internship, or temporary.
Set Status to Open if the role should appear on the public page. Draft and Closed stay in the dashboard. Only Open roles render in the embed. With none published, visitors see “No open roles right now.”
Save. Sitebase republishes the same embed. You don’t copy a new snippet when you add or close a role.
Reorder openings with Up and Down. Close a role when you stop accepting applications. If a role already has applications, close it instead of deleting it.
Put it on your careers page
Open Setup and copy the script snippet. The public key identifies this careers feature. It is not a private API credential.
On a regular HTML page, paste the snippet where the role list should appear:
<section aria-labelledby="careers-heading">
<h2 id="careers-heading">Open roles</h2>
<script
async
crossorigin="anonymous"
src="https://sitebase.dev/embed.js"
data-sitebase-widget="YOUR_CAREERS_KEY"
></script>
</section>
Replace YOUR_CAREERS_KEY with the key from your dashboard, or paste the complete snippet Sitebase gives you. In an Astro page, add is:inline so the script stays intact.
Each Open role expands to its own application form. The default fields are name, email, a required CV or resume, an optional LinkedIn or portfolio URL, and an optional cover note.
If the editor only accepts a URL, use the hosted embed from Setup:
<iframe
src="https://sitebase.dev/embed/YOUR_CAREERS_KEY"
title="Open roles"
style="width:100%;height:720px;border:0"
></iframe>
Give the iframe enough height for the role list, an expanded role, the form, and the success message, including on a phone. This is the path on Notion, Wix, or Squarespace, which strip script tags.
Protect the application form
The form accepts open text and a file. Turn on Cloudflare Turnstile in the site’s Config before you share the page.
Test keys help during setup. Replace them with real keys for your public domain before you send applicants there. Hosted embeds run on Sitebase’s domain and use Sitebase’s own Turnstile keys. Your domain’s keys apply when you embed with the script snippet.
Sitebase also uses a honeypot and rate limiting. Keep the supplied markup intact so those can work.
Submit a test application
Publish the careers page. Open the public URL in a fresh browser window.
Confirm your Open role is listed and a Draft role is not. Expand the role. Submit an application with an email you control and a small CV file.
Check the browser first. Did the success message appear? Could you submit on a phone-sized screen? Does an empty required field show a useful error?
Then open Applications in Sitebase. That tab appears once the first application arrives. Confirm the name, email, role title, cover note, and CV are there. Download the CV. Only signed-in dashboard members who can access the website can open those files.
Reply opens your email client with the applicant’s address and a subject for that role.
If you use notifications, check the member and website preferences, then verify with another test application. A missing notification does not mean the application was lost.
Use the applications inbox
Filter Applications by role or stage. Move an application through New, Reviewing, Interview, Rejected, and Hired.
Export a CSV when you want a copy outside the dashboard. The export includes the role title and the current stage.
When you fill the role, set the opening to Closed. The embed snippet stays the same. Visitors stop seeing that form.
If Events is enabled on the site, each application also shows up as a job_application event. See the events documentation for that report.
For install detail, see embedding Sitebase features and the careers documentation. If the same site also needs a general inquiry form, follow the contact form guide.