Skip to main content
Glama

Create interview from questions

create_interview_from_questions
Destructive

[Interviews] Create a new interview from an explicit array of questions.

Creates a new interview definition set from a caller-provided array of questions, builds its default and generated steps, optionally activates it, and optionally creates an embed key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeNoOptional external code/reference.
nameYesInterview/position name.
tagsNoFree-form tags stored on the interview. Tags are also the coaching-catalogue mapping key: a catalogue directory (see the catalogue-tag-create / catalogue-tag-update endpoints) lists a coaching or persona session when the session's tags contain EVERY tag in that directory's `tags_interview_set_filter`. Only `active` sessions with visibility `public` or `merchant_public` are listed.
typeYesProduct type of the interview. Options — `interview`: Standard candidate interview for a role — answers are AI-scored and produce a hiring recommendation. | `coaching`: Practice/coaching session — candidate-facing feedback to help them improve; not a hiring evaluation. Only available on the coaching portal, NOT the interview portal. | `assessment`: Skills/knowledge assessment — evaluates competencies and is scored like an interview..
statusYesLifecycle status of the interview. Options — `draft`: Created but not published — not visible to candidates and cannot be run yet. Use to stage an interview before going live. | `active`: Published and live — candidates can run it..
locationYesInterview location.
questionsYesOrdered list of interview questions to create as steps.
recordingNoCheating/proctoring detection mode for candidate answers — this is NOT a full session recording. Video options also record the candidate. Omit/null to disable. Options — `audio_first_5_answers`: Audio-only cheating detection, first 5 answers only. | `audio_all`: Audio-only cheating detection on every answer. | `video_all`: Audio + video cheating detection on every answer (candidate is recorded for all answers). | `video_first_5_answers`: Audio + video cheating detection, first 5 answers only..
visibilityYesWho can discover and access the interview. Options — `merchant_public`: Listed on the merchant's public interview list — anyone with the merchant link can find and start it. | `merchant_invite`: Invite-only — only candidates explicitly invited (by email/link) can access it; not listed anywhere. | `merchant_unlisted`: Reachable only via a direct link — not listed anywhere; share the link manually..
descriptionYesShort interview description.
is_embeddedNoSet true when the interview will be embedded as an iframe on an external page. Creates an embed key and returns embed_id/embed_signing_key, used to authenticate/sign the iframe embed.
merchant_idNoTarget merchant id (admins / sub-merchant only).
result_viewNoResult screen shown to the candidate after finishing. With any value other than `none`, the candidate sees a results screen where they can provide feedback, record an intro video and edit the transcript, and must then submit the result; the value sets how much score/result detail is shown. Options — `none`: No results screen at all — the interview is submitted immediately when the candidate finishes (no feedback, intro video, transcript edit or manual submit step). | `minimal`: Minimal results layout, no score shown. | `minimal_with_score`: Minimal results layout including the overall score. | `advanced`: Advanced results layout with more detail. | `full`: Full results layout with all sections. | `full_expand_scores`: Full results with every score breakdown expanded..
max_followupsNoMaximum number of AI follow-up questions. 0 disables follow-ups; presets are 0-3 (none/low/normal/high) and custom values start at 4; null uses the template default (Normal).
custom_scoringNoCustom scoring overrides merged with defaults.
interview_toneNoTone — configures the AI avatar's speaking style and the follow-up questions it generates; the base `questions` you supply are not affected. Omit to default to relaxed. Suggested values — `relaxed`: Friendly and conversational tone that helps candidates feel at ease. | `simple`: Plain language at CEFR A2 level — short sentences and simple words. | `professional`: Formal and business-like approach suitable for senior roles. | `persuasive`: Engaging style that encourages candidates to elaborate.. Case-insensitive; other strings are accepted but unknown tones fall back to the default.
interview_typeNoInterview style — configures the AI avatar and the follow-up questions it generates during the interview. The base `questions` you supply are used as-is and are NOT affected by this setting. Options — `pre-screening`: Pre-screening — quick qualification check focusing on basic requirements and availability. | `pre-screening-with-test-questions`: Pre-screening with test questions — pre-screening plus practical questions to test relevant skills. | `second-interview`: Second round interview — deeper dive for candidates who passed initial screening. | `remote-freelancer-verification`: Remote worker verification — verify remote work capabilities and communication skills. | `strength-based-interview`: Strength-based interview — focus on what candidates enjoy and excel at to predict job satisfaction. | `potential-based-interview`: Potential-based interview — assess learning ability and growth potential rather than past experience. | `process-verification-from-knowledge-base`: Knowledge Base interview — generate questions from your knowledge base documents..
cover_image_urlNoCover image URL.
seniority_levelNoTarget seniority level for the role; auto-detected from the job description when omitted. Options — `entry-level`: Early-career or graduate roles. | `intermediate`: Some experience required. | `senior`: Experienced professional. | `managerial`: Team or department lead. | `director`: Director-level responsibility. | `executive`: C-suite or executive role..
welcome_messageNoCustom welcome message.
description_longNoLong-form interview description. Rendered as Markdown on the candidate-facing position page, including chips, callouts, cards, columns and buttons — formatting guide: https://developer.jobmojito.com/cookbooks/format-content-with-markdown
interview_salaryNoSalary range shown for the position.
thank_you_messageNoCustom thank-you message.
additional_contextNoExtra context forwarded to expectation generation.
hiring_for_companyNoWho the position is really for. Omit/null (or an object with name null/blank) when hiring for yourself; { name: 'undisclosed' } for an unnamed external client; or { name: '<company>' } plus optional description/location/sector/company_size for a named client. Stored in creation_parameters.hiring_for_company.
interview_attemptsNoAllowed attempts, 1-20.
instructional_videoNoEnable an instructional video before approval.
interview_departmentNoDepartment the position belongs to.
mojito_language_codeYesPlatform language code (one of the platform-languages.json codes); must also resolve to a supported language with an Azure speech mapping.
recruiter_profile_idNoProfile id of the recruiter owning this interview. Must be a merchant/merchant_owner/admin profile of the same merchant.
disable_deduplicationNoWhen true, skip step deduplication on insert.
interview_template_idYesId of the interview template to use. Must reference an existing interview_templates row.
candidate_expectationsNoFree-text candidate expectations.
pdf_export_auto_configNoAuto-generate a candidate PDF report with these options once the interview completes. null disables auto-export.
recording_full_sessionNoFull interview-session recording (includes the avatar and voice) produced as a single file. Independent of `recording`. Omit/null to disable. Options — `audio_all`: Record the whole session audio (avatar + candidate voice) into a single file. Adds +0.2 credits. | `video_all`: Record the whole session video + audio (avatar + candidate) into a single file. Adds +0.4 credits..
required_pronunciationNoRequire pronunciation assessment (restricts to pronunciation-capable languages). Defaults to false.
knowledge_base_store_idNoOptional knowledge base store id; validated for existence.
questions_random_subsetNoFraction of questions to randomly ask, between 0.01 and 0.9.
interview_available_tillNoISO date/time after which the interview is no longer available to candidates. null keeps it always available.
candidate_expectations_jsonNoPre-generated candidate expectations, bucketed by requirement level (weak/moderate/strong); auto-generated when omitted for type=interview. Extra keys are preserved.
candidate_video_introductionNoWhether a candidate video introduction is optional or required.
interview_conversation_speedNoConversation pace of the AI avatar. Omit/null keeps the template default pace. Options — `slower`: The avatar speaks more slowly — easier to follow for non-native speakers. | `normal`: Default speaking pace. | `faster`: The avatar speaks more quickly for a snappier conversation..
result_enable_edit_transcriptNoAllow editing the transcript on the result view. Defaults to true.
instructional_video_custom_textNoCustom text for the instructional video.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
embed_idNoEmbed id, present only when is_embedded=true.
embed_signing_keyNoEmbed signing key, present only when is_embedded=true.
interview_def_set_idYesId of the newly created interview definition set.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as non-read-only and potentially destructive. The description adds meaningful behavioral context beyond that: it builds default and generated steps, optionally activates the interview, and optionally creates an embed key. It does not contradict the annotations, and it gives useful side-effect awareness without repeating structured annotation data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, but the first and second sentences are largely redundant: both essentially say 'create a new interview from an explicit array of questions.' The second sentence adds genuine value with the side-effect details, but the redundancy prevents a higher score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's high complexity — 44 parameters, nested question definitions, and an output schema — the description provides an adequate high-level overview. It covers the core creation flow and key optional side effects, and the extensive schema and existing output schema compensate for any additional detail an agent might want.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across 44 parameters, so the schema carries the semantic burden. The description adds only high-level context about questions and generated steps, which maps to the questions parameter but does not meaningfully improve parameter-level understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: creating a new interview definition from a caller-provided array of questions. It also differentiates from the sibling create_interview by emphasizing the explicit 'array of questions' mechanism rather than generic interview creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: use this tool when you already have an explicit list of questions and want an interview created from them. However, it does not explicitly name alternatives like create_interview, nor does it state when-not-to-use it, so the guidance is implied rather than direct.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation4/5

Most tools target distinct resources and actions, with clear category prefixes like [Interviews], [Results], and [Admin]. A few pairs could be confused—create_interview vs. create_interview_from_questions and update_interview vs. set_interview_state—but the descriptions do enough to separate them.

Naming Consistency4/5

The overwhelming majority follow a consistent verb_noun pattern: create_*, get_*, list_*, update_*, generate_*. The main deviation is jobmojito_configuration, which is a noun phrase rather than an action verb, and a few longer names like request_another_interview_attempt break the clean pattern slightly.

Tool Count2/5

With 29 tools, this server is above the 25+ threshold and places a significant navigation burden on an agent. The tools are organized into coherent domains, but several admin/merchant and results tools could likely be consolidated.

Completeness3/5

The core interview lifecycle is well covered: create, read, update, list, state changes, result retrieval, and report generation. However, there are notable gaps such as no delete operations for interviews or catalogue directories, no candidate management beyond listing/registration, and no explicit result-decision tool.