complete_job
ChatGPTSets isCompleted and completedAt on a job. Workspace admin for jobs in the tenant, or job owner—same as the portal (notifications are portal-only).
complete_job
ChatGPTSets isCompleted and completedAt on a job. Workspace admin for jobs in the tenant, or job owner—same as the portal (notifications are portal-only).
create_job
ChatGPTUse this to create a new job in Intevie when the user wants to post a role. After creation, the product asynchronously generates 10 AI interview questions from the job (and company) text—same pipeline as the portal; use get_job_questions, update_job_questions, or regenerate_job_interview_questions to read or change them. Before calling, ask follow-up questions to collect ALL fields you can: title, identifier, description, workType, location, categories, salary, applicationCloseDate, companyName, companyDescription, autoInvite mode, optional autoInviteMinScore (minimum resume score 0–100 for auto-invite when auto-invite is on; omit for default), and optional screening questions. The job description MUST be formatted as clean HTML content suitable for a WYSIWYG editor: use paragraphs (<p>...</p>) with blank lines between sections, and only simple tags such as <p>, <strong>, <em>, <ul>, <ol>, <li>, <br>, <a>. Do NOT return markdown (no ###, bold, or bullet prefixes like "- "); instead, structure lists with <ul>/<ol> and <li> items. Always explicitly ask the user to confirm or provide a job identifier; if they do not care, generate a short, sensible identifier based on the title and include it. Also ask the user whether auto-invite mode should be ON (candidates automatically invited after screening) or OFF, and set the autoInvite boolean accordingly. If auto-invite is ON, ask what minimum resume score (0–100) they want or omit autoInviteMinScore to use the product default. If the user wants employer screening questions, collect or propose a small set and include a screeningDefinition object describing them.
create_job
ChatGPTUse this to create a new job in Intevie when the user wants to post a role. After creation, the product asynchronously generates 10 AI interview questions from the job (and company) text—same pipeline as the portal; use get_job_questions, update_job_questions, or regenerate_job_interview_questions to read or change them. Before calling, ask follow-up questions to collect ALL fields you can: title, identifier, description, workType, location, categories, salary, applicationCloseDate, companyName, companyDescription, autoInvite mode, optional autoInviteMinScore (minimum resume score 0–100 for auto-invite when auto-invite is on; omit for default), and optional screening questions. The job description MUST be formatted as clean HTML content suitable for a WYSIWYG editor: use paragraphs (<p>...</p>) with blank lines between sections, and only simple tags such as <p>, <strong>, <em>, <ul>, <ol>, <li>, <br>, <a>. Do NOT return markdown (no ###, bold, or bullet prefixes like "- "); instead, structure lists with <ul>/<ol> and <li> items. Always explicitly ask the user to confirm or provide a job identifier; if they do not care, generate a short, sensible identifier based on the title and include it. Also ask the user whether auto-invite mode should be ON (candidates automatically invited after screening) or OFF, and set the autoInvite boolean accordingly. If auto-invite is ON, ask what minimum resume score (0–100) they want or omit autoInviteMinScore to use the product default. If the user wants employer screening questions, collect or propose a small set and include a screeningDefinition object describing them.
delete_job
ChatGPTDeletes a completed job and related recruiter-owned records, following portal constraints: admin-in-tenant or job owner, and completed for at least 30 days.
delete_job
ChatGPTDeletes a completed job and related recruiter-owned records, following portal constraints: admin-in-tenant or job owner, and completed for at least 30 days.
delete_stage_approval_default
ChatGPTRemoves default approvers for a stage. Workspace admin only.
delete_stage_approval_default
ChatGPTRemoves default approvers for a stage. Workspace admin only.
edit_job
ChatGPTUse this to update an existing job. First resolve the correct job using search_jobs_by_title when the user gives only a title, then call this with jobId and ONLY the fields that should change. If the user wants to change the identifier, explicitly ask for the new identifier value and include it; otherwise, do not touch the identifier.
edit_job
ChatGPTUse this to update an existing job. First resolve the correct job using search_jobs_by_title when the user gives only a title, then call this with jobId and ONLY the fields that should change. If the user wants to change the identifier, explicitly ask for the new identifier value and include it; otherwise, do not touch the identifier.
get_candidate
ChatGPTUse this when the user asks about a specific candidate by ID.
get_candidate
ChatGPTUse this when the user asks about a specific candidate by ID.
get_candidate_documents
ChatGPTReturns metadata and download links for a candidate’s resume and cover letter (when available). Does not return raw document bytes.
get_candidate_documents
ChatGPTReturns metadata and download links for a candidate’s resume and cover letter (when available). Does not return raw document bytes.
get_candidate_interview_insights
ChatGPTReturns structured interview insights for a candidate: post-interview strengths, red flags, and summary lines derived from stored analysis.
get_candidate_interview_insights
ChatGPTReturns structured interview insights for a candidate: post-interview strengths, red flags, and summary lines derived from stored analysis.
get_candidate_stage_status
ChatGPTReturns the current hiring stage for a candidate, the next stage in the configured workflow (if any), and whether the next stage has an approval configuration. If the user provides a candidate name instead of a candidateId, first resolve the job, call list_candidates_for_job, and match the candidate name before using this tool. Does not move stages or make approval decisions.
get_candidate_stage_status
ChatGPTReturns the current hiring stage for a candidate, the next stage in the configured workflow (if any), and whether the next stage has an approval configuration. If the user provides a candidate name instead of a candidateId, first resolve the job, call list_candidates_for_job, and match the candidate name before using this tool. Does not move stages or make approval decisions.
get_candidate_timeline
ChatGPTReturns a detailed hiring timeline for a candidate: stage changes, recruiter notes, and approval-related events. This is read-only and mirrors the portal workflow timeline.
get_candidate_timeline
ChatGPTReturns a detailed hiring timeline for a candidate: stage changes, recruiter notes, and approval-related events. This is read-only and mirrors the portal workflow timeline.
get_job
ChatGPTUse this when the user asks about a specific job by ID.
get_job
ChatGPTUse this when the user asks about a specific job by ID.
get_job_decision_alignment
ChatGPTReturns decision alignment (criteria, owners, competencies, mappings, calibration) for a job if configured. Same visibility rules as the portal.
get_job_decision_alignment
ChatGPTReturns decision alignment (criteria, owners, competencies, mappings, calibration) for a job if configured. Same visibility rules as the portal.
get_job_questions
ChatGPTReturns the 10 AI-generated interview questions stored for a job (JSON array of strings), or null if none exist yet. Same data as the portal job questions editor. Read access follows job visibility (workspace member).
get_job_questions
ChatGPTReturns the 10 AI-generated interview questions stored for a job (JSON array of strings), or null if none exist yet. Same data as the portal job questions editor. Read access follows job visibility (workspace member).
get_resolved_hiring_stages
ChatGPTReturns the hiring workflow stages for the signed-in user's workspace (from the OAuth token), or for a specific job when jobId is provided. If the user asks for stages for a named job, first resolve the job ID using search_jobs_by_title or list_jobs, then pass jobId. No tenant id argument is required—omit it. Use before moving candidates or asking about stage names.
get_resolved_hiring_stages
ChatGPTReturns the hiring workflow stages for the signed-in user's workspace (from the OAuth token), or for a specific job when jobId is provided. If the user asks for stages for a named job, first resolve the job ID using search_jobs_by_title or list_jobs, then pass jobId. No tenant id argument is required—omit it. Use before moving candidates or asking about stage names.
get_stage_candidate_counts
ChatGPTReturns counts of candidates in hiring workflow stages for a specific job. Use this to answer questions like “how many candidates are in the interview stage for this job?”.
get_stage_candidate_counts
ChatGPTReturns counts of candidates in hiring workflow stages for a specific job. Use this to answer questions like “how many candidates are in the interview stage for this job?”.
get_team_invite_link
ChatGPTReturns the portal team settings URL and guidance. Invite URLs contain secrets and are returned only from invite_team_member or resend_team_invite.
get_team_invite_link
ChatGPTReturns the portal team settings URL and guidance. Invite URLs contain secrets and are returned only from invite_team_member or resend_team_invite.
get_workspace_profile
ChatGPTReturns the current workspace organization or agency profile for the signed-in tenant.
get_workspace_profile
ChatGPTReturns the current workspace organization or agency profile for the signed-in tenant.
invite_team_member
ChatGPTCreates a pending team invite for the given email (workspace admin only), queues an invite email when notification email delivery is configured, and returns inviteUrl.
invite_team_member
ChatGPTCreates a pending team invite for the given email (workspace admin only), queues an invite email when notification email delivery is configured, and returns inviteUrl.
list_candidates_for_job
ChatGPTUse this when the user wants to see candidates for a specific job, optionally sorted by score.
list_candidates_for_job
ChatGPTUse this when the user wants to see candidates for a specific job, optionally sorted by score.
list_jobs
ChatGPTUse this when the user wants to see their jobs, active jobs, or completed jobs. Workspace admins see every job in their organization or agency; other members only see jobs they own.
list_jobs
ChatGPTUse this when the user wants to see their jobs, active jobs, or completed jobs. Workspace admins see every job in their organization or agency; other members only see jobs they own.
list_stage_approval_defaults
ChatGPTLists workspace-wide default approvers per hiring stage (same data as portal team settings).
list_stage_approval_defaults
ChatGPTLists workspace-wide default approvers per hiring stage (same data as portal team settings).
list_team_invites
ChatGPTLists team invitations for the current tenant (metadata only; secret links are created on invite/resend).
list_team_invites
ChatGPTLists team invitations for the current tenant (metadata only; secret links are created on invite/resend).
list_team_members
ChatGPTLists members of the current organization or agency workspace.
list_team_members
ChatGPTLists members of the current organization or agency workspace.
mark_candidate_as_employee
ChatGPTCreates an employee profile from the candidate (or links an existing one) and sets hired lifecycle status. Workspace admin for jobs in the tenant, or job owner only—same as the portal.
mark_candidate_as_employee
ChatGPTCreates an employee profile from the candidate (or links an existing one) and sets hired lifecycle status. Workspace admin for jobs in the tenant, or job owner only—same as the portal.
move_candidate_stage
ChatGPTMoves a candidate to a workflow stage by stageId. If the stage requires approvals (configured in the portal), returns an error—use the portal for that transition. Hire/placement final stages must be completed in the portal.
move_candidate_stage
ChatGPTMoves a candidate to a workflow stage by stageId. If the stage requires approvals (configured in the portal), returns an error—use the portal for that transition. Hire/placement final stages must be completed in the portal.
reassign_job_owner
ChatGPTTransfers job ownership to another workspace member and updates related recruiter-owned rows. Workspace admin only; newOwnerUserId must belong to the tenant.
reassign_job_owner
ChatGPTTransfers job ownership to another workspace member and updates related recruiter-owned rows. Workspace admin only; newOwnerUserId must belong to the tenant.
regenerate_job_interview_questions
ChatGPTQueues asynchronous AI regeneration of the 10 interview questions from the current job description and company profile (same SQS pipeline as the portal “Regenerate”). Returns immediately when queued; questions update in the background.
regenerate_job_interview_questions
ChatGPTQueues asynchronous AI regeneration of the 10 interview questions from the current job description and company profile (same SQS pipeline as the portal “Regenerate”). Returns immediately when queued; questions update in the background.
reject_candidate
ChatGPTMoves the candidate to the Rejected stage and archives them when appropriate (portal parity). Optional notes. Rejection email is not sent from MCP; use the portal if you need email.
reject_candidate
ChatGPTMoves the candidate to the Rejected stage and archives them when appropriate (portal parity). Optional notes. Rejection email is not sent from MCP; use the portal if you need email.
resend_team_invite
ChatGPTReplaces a pending invite for an email with a new pending invite and returns a fresh inviteUrl (workspace admin only).
resend_team_invite
ChatGPTReplaces a pending invite for an email with a new pending invite and returns a fresh inviteUrl (workspace admin only).
reset_job_hiring_stages
ChatGPTJob owner only: deletes the job-level override so the job inherits tenant defaults (portal DELETE /api/hiring/stages/job/:jobId).
reset_job_hiring_stages
ChatGPTJob owner only: deletes the job-level override so the job inherits tenant defaults (portal DELETE /api/hiring/stages/job/:jobId).
reset_tenant_hiring_stages
ChatGPTWorkspace admin only: removes custom tenant default hiring stages so the workspace falls back to built-in defaults (portal DELETE /api/hiring/stages/tenant).
reset_tenant_hiring_stages
ChatGPTWorkspace admin only: removes custom tenant default hiring stages so the workspace falls back to built-in defaults (portal DELETE /api/hiring/stages/tenant).
search_jobs_by_title
ChatGPTUse this to find one or more jobs when the user provides a job title, partial title, or job identifier. If the user mentions both a title and an identifier, search with the title or phrase and choose the result whose identifier matches. Always call this before editing a job to resolve the correct job ID. Workspace admins search across all jobs in their tenant; other members only across jobs they own.
search_jobs_by_title
ChatGPTUse this to find one or more jobs when the user provides a job title, partial title, or job identifier. If the user mentions both a title and an identifier, search with the title or phrase and choose the result whose identifier matches. Always call this before editing a job to resolve the correct job ID. Workspace admins search across all jobs in their tenant; other members only across jobs they own.
send_interview_invite
ChatGPTUse this to send (or re-send) an interview invitation link for a specific candidate on a specific job. Before calling, confirm the job and candidate the user is talking about, and whether the invitation type should be "initial" or "technical". If an invitation of the same type has already been sent and the user has not explicitly asked to resend, do NOT create a new one; instead, explain that an invite already exists and ask whether they want to force a new invite.
send_interview_invite
ChatGPTUse this to send (or re-send) an interview invitation link for a specific candidate on a specific job. Before calling, confirm the job and candidate the user is talking about, and whether the invitation type should be "initial" or "technical". If an invitation of the same type has already been sent and the user has not explicitly asked to resend, do NOT create a new one; instead, explain that an invite already exists and ask whether they want to force a new invite.
set_job_decision_alignment
ChatGPTUpserts decision alignment for a job with the same validation as the portal (including confirm rules when interview questions exist).
set_job_decision_alignment
ChatGPTUpserts decision alignment for a job with the same validation as the portal (including confirm rules when interview questions exist).
set_job_hiring_stages
ChatGPTJob owner only: saves a hiring workflow override for a single job (portal PUT /api/hiring/stages/job/:jobId). Workspace admins cannot use this tool for another user's job—only the job owner.
set_job_hiring_stages
ChatGPTJob owner only: saves a hiring workflow override for a single job (portal PUT /api/hiring/stages/job/:jobId). Workspace admins cannot use this tool for another user's job—only the job owner.
set_stage_approval_default
ChatGPTCreates or updates default approver emails for a configurable hiring stage. Workspace admin only; Applied and Screening stages are not configurable.
set_stage_approval_default
ChatGPTCreates or updates default approver emails for a configurable hiring stage. Workspace admin only; Applied and Screening stages are not configurable.
set_tenant_hiring_stages
ChatGPTWorkspace admin only: replaces the organization/agency default hiring workflow (same rules as portal Settings → Hiring stages). Stages must include fixed Applied and Screening entries; exactly one final stage last.
set_tenant_hiring_stages
ChatGPTWorkspace admin only: replaces the organization/agency default hiring workflow (same rules as portal Settings → Hiring stages). Stages must include fixed Applied and Screening entries; exactly one final stage last.
show_candidate_interview
ChatGPTInterview recording (video/audio when available), interview transcript, invitation metadata, and structured scores/red flags. If the user provides a candidate name instead of a candidateId, first resolve the job, call list_candidates_for_job, and match the candidate name before using this tool. The MCP host uses a private key environment variable to load live call data from the interview provider.
show_candidate_interview
ChatGPTInterview recording (video/audio when available), interview transcript, invitation metadata, and structured scores/red flags. If the user provides a candidate name instead of a candidateId, first resolve the job, call list_candidates_for_job, and match the candidate name before using this tool. The MCP host uses a private key environment variable to load live call data from the interview provider.
show_candidate_summary
ChatGPTFull-width candidate summary: resume score, AI summaries, candidate note, recruiter stage notes, timeline notes, and candidate interview feedback. Includes UI and LLM hints to open interview details (show_candidate_interview). If the user provides a candidate name instead of a candidateId, first resolve the job, call list_candidates_for_job, and match the candidate name before using this tool.
show_candidate_summary
ChatGPTFull-width candidate summary: resume score, AI summaries, candidate note, recruiter stage notes, timeline notes, and candidate interview feedback. Includes UI and LLM hints to open interview details (show_candidate_interview). If the user provides a candidate name instead of a candidateId, first resolve the job, call list_candidates_for_job, and match the candidate name before using this tool.
update_job_questions
ChatGPTReplaces the job’s 10 interview questions with a new list (exactly 10 non-empty strings), matching the portal API. Job owner or workspace admin for that tenant only.
update_job_questions
ChatGPTReplaces the job’s 10 interview questions with a new list (exactly 10 non-empty strings), matching the portal API. Job owner or workspace admin for that tenant only.