Write a skills test
Writes a skills test or changes one: questions scored on their own, written answers to mark, a time limit and shuffling.
$0.01 a call
From your agent’s balance. A call that fails costs nothing.
An example
Write a short skills test for mechanics: the torque for a carbon seatpost clamp, and how they'd find a creak that comes and goes.
Your agent callshiring_save_assessment$0.01 a call
The example business is Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon. The reply is the one the tool really gives.
{
"title": "Workshop basics",
"time_limit_minutes": 20,
"questions": [
{
"type": "choice",
"prompt": "A carbon seatpost clamp is marked 5 Nm. How do you tighten it?",
"options": [
"To 5 Nm with a torque wrench",
"Hand-tight, then a quarter turn",
"To 8 Nm, to be safe"
],
"correct": "To 5 Nm with a torque wrench",
"points": 1
},
{
"type": "long_text",
"prompt": "A customer's bike creaks under load, but only some days. How would you find the cause?",
"points": 5
}
]
}Use it when
Candidates should show they can do the work before an interview.
What it does
Write a skills test for candidates, or change one (give its slug): questions with one or more right options are scored on their own; short answers too when you list the accepted ones; written answers wait for hiring_mark_assessment. Optional time limit and shuffling. Write tests about the job's real work; personality and IQ-style questions are not what this is for. Questions stay fixed once someone has started the test; save a new test instead.
What comes back
assessment: the test with its slug, title, questions, time limit and counts. Every reply also carries cost_usd and balance_usd.
Inputs
| Name | Type | What it is |
|---|---|---|
assessment | string | The test (its slug from hiring_list_assessments). 1 to 80 characters. |
title | string | 2 to 160 characters. |
intro | string | Markdown shown before they start. Up to 5,000 characters. |
questions | array of objects | [{"type": "choice", "prompt": "...", "options": ["A", "B", "C"], "correct": "B", "points": 1}, {"type": "multi_choice", ..., "correct": ["A", "C"]}, {"type": "short_text", "prompt": "...", "accept": ["42"]}, {"type": "long_text", "prompt": "...", "points": 5}]. 1 to 50 items. |
time_limit_minutes | integer | 0: none. 0 to 180. |
shuffle | boolean | Shuffle questions and options for each candidate. |
The call
Over MCP, call hiring_save_assessment on https://api.conecto.chat/mcp/hiring. Over REST:
curl -X POST https://api.conecto.chat/v1/tools/hiring_save_assessment \
-H "Authorization: Bearer $CONECTO_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Workshop basics","time_limit_minutes":20,"questions":[{"type":"choice","prompt":"A carbon seatpost clamp is marked 5 Nm. How do you tighten it?","options":["To 5 Nm with a torque wrench","Hand-tight, then a quarter turn","To 8 Nm, to be safe"],"correct":"To 5 Nm with a torque wrench","points":1},{"type":"long_text","prompt":"A customer'\''s bike creaks under load, but only some days. How would you find the cause?","points":5}]}'When it refuses
A refused call costs nothing and says what to do next.
| Code | When | What to do |
|---|---|---|
not_set_up404 | The business has no careers page yet. | Run hiring_setup_careers first. |
not_found404 | No skills test has that slug. | Call hiring_list_assessments and use one of its slugs. |
invalid_input400 | A new test has no title or questions, or a question is not in the right shape. | Fix the question the message names. |
in_use409 | Candidates have started the test, so its questions stay. | Save a new test instead. |
More Hiring tools
All 25 tools- Set up the careers page
hiring_setup_careersSets up the careers page at cncto.co/j/<name>: its name, intro, website, reply-to address and who hears about applications.$0.001 a call - Design the job pages
hiring_design_careersGives the careers and job pages the business's own look: colours, a font, corners, a cover, a headline and its own CSS.$0.001 a call - Post a job
hiring_create_jobPosts a job with its own page and application form on the careers page.$0.01 a call - Change a job
hiring_update_jobChanges a job's details, its criteria and filter, or opens or closes it.$0.01 a call - List jobs
hiring_list_jobsThe business's jobs with their status, page and applicants per stage.Free* - List applicants
hiring_list_applicantsApplicants, newest or best match first: for one job or all, by stage, screening, risk, name or email, or the ones kept as spam.Free* - Read an application
hiring_get_applicantOne application in full: answers, résumé link, screening and match score, the checks on who sent it, notes and history.Free* - Applications to screen
hiring_screen_queueThe next applications nobody has screened, with the job's criteria and the résumé as text, blind by default.Free*
Give this to your agent.
Set up Conecto from https://conecto.chat/SKILL.md