Jobs and workflows
A Job, its workflow of steps, and how drafts, publishing and templates work.
A Job is a role you're hiring for. Every Job has a workflow: the steps a candidate moves through, from application to decision.
A Job's life
| Status | Meaning |
|---|---|
draft | Being written. Candidates can't see it. |
open | Published and taking applications. |
paused | Live but not taking new applications for now. |
closed | Finished hiring. |
archived | Permanent. It can't be reopened, so pause or close instead when you might come back. |
You start a draft with jobs.createDraft, keep editing it with jobs.saveDraft, and publish it with jobs.publish.
A published Job is edited with jobs.update. A Job can belong to a Client when you hire for another company
(see Clients, shares and delivery).
Workflows
A workflow is a graph of steps. The common ones:
- Intake: checks at the start of an application, such as a Pre-screening Interview or Identity Verification.
- Interviews and assessments: AI interview steps (Expert interviews, each with its own rubric) and the AI Fluency assessment.
- Decision step: routes candidates down named paths by rule, for example by UMatch score or an interview result.
- Human Review step: your team picks the path for each candidate.
Candidates do their steps in their Pitch Room, one per application. When a step needs data that isn't ready yet, or waits for your team, the candidate simply sees nothing new until it's ready.
Templates, copies and drafts
- Start a Job's workflow from a template (
workflows.createFromTemplate) or copy another Job's (workflows.copyFromJob). Settings that belong to the source Job are left behind. - A live Job's workflow changes through a workflow draft: edit it (
workflows.saveJobDraft), check it (workflows.checkDesign), preview what publishing would do to candidates already in progress (workflows.previewPublish), then publish (workflows.publishToJob). - Every published change is kept in the Job's workflow history (
workflows.history).
Operations in this area
| Operation | What it does | Effect |
|---|---|---|
jobs.listMCP jobs_list | List Jobs List the Jobs you can see, most recently updated first, with their status (draft, open, paused, closed or archived), Client and applicationCount (its applications at every stage, rejected and withdrawn included), a page at a time (`next`). Archived Jobs are included unless you filter by status; `status: archived` lists only them. | Read |
jobs.getMCP jobs_get | View a Job See one Job: its description, requirements, criteria and skills, company, salary band, AI Persona, Client and publication state, applicationCount (every stage), and, where you have access, its Sourcing setup, its workflow steps (each one a candidate can be placed at is marked) and how many candidates are in each Review Board column. | Read |
jobs.getDraftMCP jobs_getDraft | View a Job draft See a Job that is still being written: everything it says so far, its revision for `jobs.saveDraft`, the step of Job creation its author reached, and the workflow being prepared for it. | Read |
workflows.listTemplatesMCP workflows_listTemplates | List workflow templates List the workflow templates a Job's workflow can start from: Invyte's and your organization's, most recently updated first. | Read |
workflows.getTemplateMCP workflows_getTemplate | View a workflow template See one workflow template's steps, their settings, and how candidates move between them. | Read |
workflows.forJobMCP workflows_forJob | View a Job's workflow See the workflow a Job's candidates go through: its steps, their settings, how candidates move between them, and, where you can see the pipeline, how many candidates each step's Waiting Gates are holding. | Read |
jobs.createDraftMCP jobs_createDraft | Start a Job draft Start a new unpublished Job with whatever is known so far. Nobody outside the team sees it until it is published. | Write |
jobs.saveDraftMCP jobs_saveDraft | Save a Job draft Change an unpublished Job's details or its Sourcing setup, or only where the Job creation flow reopens. Returns the draft's new revision. | Write |
jobs.updateMCP jobs_update | Edit a published Job Change a published Job's details or its Sourcing setup. The Job must stay complete; its workflow and candidates are unchanged. | Write |
jobs.archiveMCP jobs_archive | Archive a Job Archive a published Job for good: it can never be reopened or published again. It stops taking applications, its sourcing stops and candidates' scheduled reminders are cancelled; its candidates and history stay readable (jobs.list with status archived). To stop a Job for now, pause it with jobs.setStatus (status paused) and reopen it later with jobs.publish. | Can't be undone |
jobs.setClientMCP jobs_setClient | Set a Job's Client Put a Job under one of the organization's Clients, or take it out. People with a role on that Client then reach the Job. | Write |
workflows.createFromTemplateMCP workflows_createFromTemplate | Start a Job's workflow from a template Start the Job's workflow draft from one of the organization's or Invyte's templates, optionally with step changes made to it in the same call (changes). The draft does nothing until it is assigned. Replacing an existing draft (replaceDraft) loses it for good, so that shows what is lost and waits for your go-ahead. | Write |
workflows.assignMCP workflows_assign | Assign a Job's workflow Check the unpublished Job's workflow draft and make it the workflow candidates will go through once the Job is published. | Write |
workflows.duplicateMCP workflows_duplicate | Duplicate a workflow Copy a workflow you can see into the organization's workflow library. | Write |
locations.listMCP locations_list | List locations Where the open Jobs you can see are, and where the applicants of Jobs whose pipeline you see are, grouped by country, then state, then city. | Read |
jobs.publishMCP jobs_publish | Publish a Job Open a draft Job, or reopen a paused or closed one, on your public job board where anyone can apply; optionally list it on Google for Jobs. Opening a draft for the first time also starts its external sourcing when that is switched on: one paid partner search, checked against the daily sourcing budget like sourcing.start, and skipped (the Job still opens) when that budget is spent. | Reaches people |
workflows.listMCP workflows_list | List workflows List the organization's workflows: the library, and Jobs' workflows where you can see them, most recently updated first. Templates are workflows.listTemplates. | Read |
workflows.getMCP workflows_get | View a workflow See one workflow from the library or a Job: its steps, their settings, and how candidates move between them. | Read |
workflows.createMCP workflows_create | Create a workflow Create a workflow in the organization's library, blank (Application Received only) or from a template. Then edit its steps with workflows.update. | Write |
workflows.updateMCP workflows_update | Edit a library workflow Rename a library workflow or change its steps: add, remove, move or configure a step, or connect and disconnect steps. A Decision's rules read fields listed by workflows.decisionFields. A Job's workflow changes through workflows.saveJobDraft. | Write |
workflows.deleteMCP workflows_delete | Delete a library workflow Delete a workflow from the organization's library, for good. Workflows a Job uses, and the history of Jobs' workflows, can't be deleted. | Can't be undone |
workflows.createTemplateMCP workflows_createTemplate | Create a workflow template Add a template to your organization's template library, blank or saved from a workflow's steps. Settings that belong to one Job (custom agents, scenario pools) are left for each Job to set up. | Write |
workflows.updateTemplateMCP workflows_updateTemplate | Edit a workflow template Rename or recategorise one of your organization's templates, or change its steps like workflows.update. Jobs already started from it keep their own steps. | Write |
workflows.deleteTemplateMCP workflows_deleteTemplate | Delete a workflow template Remove one of your organization's templates from its template library. Workflows and Jobs started from it keep their steps; Invyte's templates can't be deleted. | Can't be undone |
workflows.getJobDraftMCP workflows_getJobDraft | View a Job's workflow draft See the workflow draft being prepared for a Job (its steps, revision and what still needs fixing) and the workflow assigned now. Edit it with workflows.saveJobDraft. | Read |
workflows.checkDesignMCP workflows_checkDesign | Check a workflow design for a Job See what a Job's workflow would be if it started from a template, the Job's own draft or live workflow, or blank, with these step changes, and every problem that would stop it being assigned or published. Nothing is saved. | Read |
workflows.decisionFieldsMCP workflows_decisionFields | List the fields a Decision rule can check Before writing a Decision step's rules, read which fields they may compare: UMatch and other Application signals (overall score, red flags, must-haves, experience, verification) and earlier steps' results, each with its type, scale, allowed values and operators. Name a Job (its workflow draft), a workflow or a template, and the Decision step or the step a new Decision will follow. Rules go in the Decision's settings as `paths: [{ name, logic: "and", conditions: [{ sourceType, signalKey or sourceNodeId, field, operator, value }] }]` with `elsePath`, the path everyone else takes; each path name and the elsePath is an exit to connect. Never guess a field; a rule that reads one not listed here is refused. | Read |
workflows.saveJobDraftMCP workflows_saveJobDraft | Edit a Job's workflow draft Change the steps of a Job's workflow draft: add, remove, move or configure a step, or connect and disconnect steps; rename it. A Decision's rules read fields listed by workflows.decisionFields. Candidates are unaffected until it is assigned (workflows.assign) or, on a live Job, published (workflows.publishToJob). | Write |
workflows.copyFromJobMCP workflows_copyFromJob | Copy another Job's workflow Start a Job's workflow draft as a copy of another Job's current workflow. Settings that belong to the other Job are left to set up again. Replacing an existing draft (replaceDraft) loses it for good, so that shows what is lost and waits for your go-ahead. | Write |
workflows.unassignMCP workflows_unassign | Remove a Job's assigned workflow Take the assigned workflow off an unpublished Job. Its draft stays, to edit and assign again. | Write |
workflows.previewPublishMCP workflows_previewPublish | Preview publishing a Job's workflow draft Before publishing a live Job's workflow draft: each step change against the current workflow and against each older version candidates are still on, and which current candidates could move onto it and why the others can't. | Read |
workflows.publishToJobMCP workflows_publishToJob | Publish a live Job's workflow draft Make a live Job's workflow draft the workflow its candidates follow: new applicants from now on, and the current candidates you choose (they may be emailed that new steps were added). Send the draft revision you previewed; a draft that changed since is refused. | Reaches people |
workflows.historyMCP workflows_history | A Job's workflow history Each time a live Job's workflow was published, newest first, a page at a time: when, why, by whom, and how moving each chosen candidate went, with why anyone was skipped and whether their new-steps email went. | Read |
workflows.scenariosMCP workflows_scenarios | List AI Fluency scenarios The published AI Fluency scenarios an AI Fluency step's scenario pool can include (`scenarioRevisionIds` in its settings). | Read |
workflows.generateAgentPromptMCP workflows_generateAgentPrompt | Write a custom agent's interview prompt Draft the instructions for a Custom Agent interview step from its main goal and skills. Nothing is saved: put the prompt in the step's settings. Paid: one AI model call, so it waits for your go-ahead first. | WritePaid |
jobs.setStatusMCP jobs_setStatus | Pause or close a Job Pause a published Job (it stops taking applications and leaves your job board until reopened with jobs.publish), or close it (the same, and candidates' scheduled reminder emails are cancelled). Pausing needs Publish Jobs; closing needs Archive Jobs. | Reaches people |
jobs.deleteMCP jobs_delete | Delete a Job Delete a Job for good. A draft that was never published is removed; a published Job disappears from every list with its candidates, its sourcing stops and candidates' scheduled reminders are cancelled. To keep its history, use jobs.archive instead. | Can't be undone |