Job Posting
Write it, score it before anyone sees it, publish it free to every Expertini country site and Google for Jobs — screening questions, pipeline stages and match criteria all set on the same page.
Posting a job is the one thing every hiring team does, and it is where most of the outcome is already decided. A vague title, a missing salary and a wall of unstructured requirements will cost you applicants no amount of screening can win back. Expertini ATS puts the whole posting on one page — the description, the salary, the screening questions, the pipeline it will feed and the match criteria it will be scored against — so those decisions are made deliberately rather than discovered three weeks later.
Publishing is included on every plan, with no per-posting fee and no cap on how many roles you run at once. The job reaches the matching Expertini country site and is submitted to Google for Jobs; paid channels are there when you want them, and never as the price of being visible at all.
On this page
- What the page actually does
- Decide how candidates will be scored, before the first one arrives
- Free distribution, and paid only when you want it
- It is the same record all the way through
- Posting more than one at a time
- Before you publish
- Architecture: where it sits in the platform
- Data model and dependency map
- Operational considerations
- Interaction contract
- Interface blueprint & interaction flow
- Frequently asked questions
01What the page actually does
One form covers the whole posting: title, location, employment type, salary range, the full description, and the optional About Us / benefits / EEO blocks that get composed into the published text rather than bolted on at render time — so job boards reading your listing see the same thing candidates do.
You can draft with AI from a few notes on seniority, key skills and benefits. It writes in must / preferred / a-plus language deliberately, because that phrasing is what the scoring engine later reads as evidence — a description written this way makes every CV that follows easier to score fairly.
02Decide how candidates will be scored, before the first one arrives
By default the AI derives the match dimensions from your description at scoring time and you need set nothing at all. If you would rather fix them yourself, you can: name the dimensions, weight each 1–100, and mark the ones that are genuinely must-have. The AI then only reads each CV against YOUR criteria, and a published deterministic formula does the arithmetic.
That choice is worth making at posting time rather than later. Criteria set before you have seen a single applicant are criteria you set on the merits of the role — which is a materially different thing from criteria adjusted once you have someone in mind.
03Free distribution, and paid only when you want it
Publishing sends the job to the matching Expertini country site and submits it to Google for Jobs at no extra cost on any plan, including the free trial. From there you can add Google Ads, Microsoft Ads or programmatic job advertising — those are real pay-per-click purchases billed separately, never bundled into a subscription limit, and never required for a job to be seen.
04It is the same record all the way through
A published job is not a document that then gets copied somewhere. Applications land in its pipeline, scoring runs against the criteria you set here, and Job Analytics reports on the same record. Editing the posting updates the live listing rather than creating a second version of it.
If you already advertise on an Expertini country job site, your existing listings come across and are ADOPTED rather than duplicated — one record, one apply flow, and the search visibility the page has already earned is kept. See Expertini Job Site Import.
05Posting more than one at a time
For volume there is Bulk Job Posting — up to 100 roles from one CSV, validated row by row, with the same distribution and the same pipeline as anything posted by hand. Bulk multiplies whatever quality you feed it, so it is worth getting one posting right on this page first and using it as the template.
06Before you publish
Job Score grades a draft on salary transparency, clarity and structure, realistic requirements, bias-free language, benefits signal and candidate appeal — with the specific sentences that cost you marks. It is quicker to fix a posting than to explain a month later why nobody applied.
Platform architecture & operations
A1Architecture: where it sits in the platform
Job Posting is a first-class module of the Sourcing & Job Ads suite inside the authenticated Expertini ATS workspace. The platform is deliberately server-rendered: every view is prepared by the application server and shipped as complete HTML, with no client-side framework, no third-party CDN scripts, and no build pipeline between the data and the page. What renders is what the server computed — the property that makes the interface auditable.
All persistence runs on a single search-native document store; every query carries the organisation's identifier as a mandatory filter at the lowest query layer. Tenant isolation is therefore structural — a property of how every request is composed — rather than a policy that relies on application code remembering to check.
Availability is governed by the platform's tool registry: this tool is registered from the Trial plan, and access is enforced server-side by the registry gate on every request — never by hiding a button. Plans also carry a monthly distinct-tool quota (3 / 5 / 15 / 30 / 45 across Trial→Business, unlimited on Enterprise), counted at the same chokepoint. The pricing page states both honestly: what is available, and how much of it the month includes.
A2Data model and dependency map
In production the tool reads and writes job requisitions (ats_jobs). Documents are plain, explicitly-mapped fields — mappings are provisioned ahead of first write, so term filters and aggregations behave deterministically instead of depending on inferred types.
Every distinct open is journalled to the tool-activity store — and that journal, not a parallel analytics system, is what the Reports section aggregates. The usage numbers you see are the numbers the platform actually recorded.
Anything that leaves the request path — notification fan-out, webhook delivery, activity journalling, mail — runs in fire-and-forget background threads. A slow external endpoint can never make the interface hang, and a failed side effect is logged rather than silently retried into inconsistency.
A3Operational considerations
Organisation-level settings, destructive actions, and connections are gated to owner and admin roles; recruiters operate the tool on the records they can see. Role changes apply on the next request — enforcement is at the route, not in the menu.
Failures are surfaced, not swallowed: server-side validation returns the exact field and reason, vendor errors are quoted verbatim where integrations are involved, and every write either confirms or reports. Exports regenerate on request rather than being cached — a report you download reflects the store at the moment you asked, not last night's snapshot.
Everything written is yours to take: CSV exports and the Data Export app cover the same stores the product itself reads. The exit is as open as the entrance — by design, not concession.
A4Interaction contract
The interface follows the platform's search-and-select convention: any field that names a real record — a candidate, client, or job — is a type-to-search picker over live data, never a free-typed string, which is what keeps activity trails and deduplication trustworthy. Static choices are filter-as-you-type combos rather than native dropdowns, and state transitions give explicit feedback: server confirmations surface as toasts, validation errors name the exact field, and nothing is shown as done that the server has not confirmed.
The wireframe and flow below document the structural contract of the surface — what panels exist, what order the states occur in, and what happens at every edge — rather than pixels. The layout is composed with native CSS grid and flexbox and adapts from wide desktop to a single column without separate mobile views.
Dependency map
Interface blueprint
Interaction flow — states, validations, feedback
Neighbouring tools — Sourcing & Job Ads
Frequently asked questions
Does it cost anything to post a job?⌄
Where does the job appear?⌄
Do I have to write the description myself?⌄
Can I decide how candidates are scored?⌄
I already post on an Expertini country job site — do I have to repost?⌄
Can I post many jobs at once?⌄
At a glance
- Free to publish on every plan — no per-posting or listing fee
- Reaches the Expertini country network and Google for Jobs
- AI drafting from a few notes, in language the scorer can read as evidence
- Set match criteria and weights before the first applicant arrives
- Screening questions and custom pipeline stages on the same page
- Existing country-site listings are adopted, never duplicated
- Score the draft before publishing, and fix what costs you applicants
See job posting on your own hiring.
Bring a real job description to a 30-minute demo — free trial included.
Book a demo