
Step 1: Connect your stack
27 native integrations. 3,200+ tools via managed connectors. Most are one-click OAuth, some use API keys - Viktor handles auth and starts working. No webhooks, no Zapier zaps.
Viktor is an AI employee that connects to Lever and helps you manage job postings and track candidates through hiring, running 16 Lever actions for you like Add Note, List Users, and List Stages. Ask in plain English from your workspace; Viktor does the work in Lever and reports back. Viktor connects in one click via OAuth.
A Lever AI agent is an AI that connects to your Lever account and completes work in it - it doesn't just answer questions about Lever, it takes the actions. Viktor is an AI employee that works in Lever on your behalf and delivers the finished result to your workspace.
Unlike workflow builders such as Zapier or Make, there is nothing to configure - no triggers to map, no workflows to maintain. You describe the outcome in plain English, and Viktor picks the right Lever actions, chains them with the other 3,200+ tools it connects to, and asks for approval before anything sensitive runs.
About Lever
Flexible Recruiting Software for Today's Hiring Teams
You ask in your workspace
Describe what you need in plain English
Viktor picks the actions
Selects from 16 Lever actions, chains them together
Runs in Lever
Helps you manage job postings and track candidates through hiring - your real data.
Reports back
Delivers the finished result to your workspace
Messages you'd actually send. Paste one into your workspace, swap in your specifics, and Viktor takes it from there.
“Screen the new applicants in Lever against this job description and shortlist the top five.”
— you, to @Viktor
“Summarize this week's candidate pipeline from Lever for the hiring team.”
— you, to @Viktor
“Draft outreach to the candidates in Lever who passed the phone screen.”
— you, to @Viktor
“Keep Lever up to date after each interview - notes, stage, and next steps.”
— you, to @Viktor

27 native integrations. 3,200+ tools via managed connectors. Most are one-click OAuth, some use API keys - Viktor handles auth and starts working. No webhooks, no Zapier zaps.
Message Viktor in Slack like you'd message a teammate. "Reconcile this month's invoices and flag anything weird." "Pause Meta campaigns above $40 CPA and move the budget to winners." Plain English, any tool.
Viktor opens the tools, runs the work, and posts back what changed. Sensitive actions wait for your approval. Everything is logged. You stop doing the work and start reviewing it.
Ask in plain English from your workspace. Viktor picks the right Lever actions, runs the work, and reports back. No workflows to build.
Moves a candidate to a different stage in the hiring pipeline. Use this when asked to advance, move, or update a candidate's stage. Use List Stages to find the target stage ID, and Search Opportunities to find the opportunity ID. Every stage change is logged in Lever's audit trail under the Perform As user. Example: call with opportunityId="<id>", stageId="<stageId>", performAs="<userId>" → moves the candidate to that stage and returns the updated opportunity.
Submits an interview feedback form (scorecard) for an opportunity. Use this after an interview to record the interviewer's assessment. baseTemplateId is required — it identifies which feedback form template to submit against. Use List Feedback Templates to resolve the template id and its field IDs. panel and interview are optional but linked: if you specify one, you must specify the other. Use List Opportunity Items (resource=interviews) to find panel and interview IDs. Use List Opportunity Items (resource=feedback) to check if feedback has already been submitted for this panel. fieldValues is a JSON array of {"id": "<fieldid>", "value": "<answer>"} objects; the field IDs and valid values come from the template returned by List Feedback Templates. Perform As is required — feedback is attributed to this user. Use List Users to find user IDs. Example: call with opportunityId="<id>", performAs="<userId>", baseTemplateId="<templateId>", fieldValues=[{"id": "<fieldId>", "value": "strongyes"}] → submits the scorecard and returns the created feedback record.
Searches and filters opportunities (candidate applications) in Lever. This is the primary tool for finding candidates — use it whenever asked to find, list, or filter candidates or applications. Supports filtering by job posting, pipeline stage, tag, origin, email, and archived status. Use List Postings to find posting IDs, List Stages to find stage IDs. The Lever API has no name or owner filter. To find a candidate by name, pass the name in email: when the value isn't a valid email address this tool lists opportunities and matches them by name/email locally (it does not send an invalid email to the API). The local name match sweeps up to the first several pages of results; if that cap is reached the $summary says so and the response next cursor lets you continue. When the user says 'my candidates', note that the API does not support filtering by owner directly — search by posting or stage and identify relevant records from the results. Set expand to include related objects inline (e.g. stage, owner, contact) and avoid follow-up calls. Returns cursor-paginated results; use the next field in the response to fetch subsequent pages. Example: to find a candidate by email, call with email="jane@example.com" → exact match; to find by name, call with email="Jane Doe" → local name match.
Returns all users (recruiters, hiring managers, admins) in the Lever account. Use this to resolve team member names to user IDs before assigning ownership, filtering opportunities by owner, or setting the Perform As field on write operations. Returns each user's id, name, email, and access role. Returns one page (up to limit); if the response's hasNext is true, pass its next value to offset to fetch the following page. Example: call with no arguments → returns users each with id, name, email, and access role; pass a user's id as Perform As on write actions.
Returns all pipeline stages configured in the Lever account. Use this to resolve stage names to IDs before filtering candidates with Search Opportunities, moving a candidate with Update Opportunity Stage, or creating an opportunity at a specific stage. Returns each stage's id and text (display name). Returns one page (up to limit); if the response's hasNext is true, pass its next value to offset to fetch the following page. Example: call with no arguments → returns stages like { id: "lead-new", text: "New lead" }; pass a stage id to Update Opportunity Stage.
Returns job postings from Lever, optionally filtered by state, team, or location. Use this to discover posting IDs before searching opportunities with Search Opportunities or creating a new candidate with Create Opportunity. Returns each posting's id, name, state, team, department, and location. Returns one page (up to limit); if the response's hasNext is true, pass its next value to offset to fetch the following page. Example: to find published engineering roles, call with team="Engineering", state="published" → returns postings each with id, name, state, team, and location.
Returns sub-records attached to a single opportunity (candidate): notes, feedback, interviews, resumes, files, or offers. Use this when asked about a candidate's notes, interview feedback/scorecards, scheduled interviews, resumes, attached files, or offer. Set resource to choose which: notes (recruiter notes), feedback (interview scorecards — each with panel id, interviewer, and score), interviews (scheduled interviews — each with panel id, date, interviewers), resumes (parsed resumes — each with a resume id), files (other attached documents — each with file id, name, extension), or offers (offer details). Use Search Opportunities to find the opportunity ID first. The panel IDs returned by interviews/feedback are used by Submit Feedback; the resumes resource returns each resume's parsed data inline (status, file info, and extracted fields). For notes, feedback, interviews, and offers this returns one page (up to limit); if the response's hasNext is true, pass its next value to offset to fetch the following page. Gotcha: resumes and files are not paginated — Lever returns the full set in a single payload with no hasNext/next cursor, and limit/offset are ignored, so do not expect cursor metadata for them. Example: to read a candidate's interview feedback, call with opportunityId="<id>", resource="feedback" → returns feedback records each with panel id, interviewer, score, and completed form fields.
Returns the feedback form templates configured in the Lever account, including each template's field definitions. Use this before Submit Feedback to resolve the baseTemplateId and the field IDs required for fieldValues — without it those IDs are unknown. Returns each template's id, text (name), and fields (each with an id, type, and prompt text). Returns one page (up to limit); if the response's hasNext is true, pass its next value to offset to fetch the following page. Example: call with no arguments → returns templates like { id: "<templateId>", text: "Onsite Interview", fields: [{ id: "<fieldId>", type: "score-system", text: "Overall" }] }; pass that template id as baseTemplateId and the field ids inside fieldValues when calling Submit Feedback.
Returns all archive reasons configured in the Lever account. Use this to find a reason ID before archiving a candidate with Archive Opportunity. Filter by type to get only hired reasons or only non-hired (rejection) reasons. Returns each reason's id, text, and type. Returns one page (up to limit); if the response's hasNext is true, pass its next value to offset to fetch the following page. Example: call with type="non-hired" → returns rejection reasons each with id, text, and type; pass an id as the reason for Archive Opportunity.
Ask for outcomes that span tools - Viktor pulls from Lever, cross-references the rest of your stack, and delivers one finished result.
Yes. Lever is one of the 3,200+ tools Viktor connects to, via a managed connector. Once connected, anyone on your team can put Viktor to work in Lever from their workspace - no workflow builder, no code.
One hire. The output of a team.
Viktor works nights, remembers every decision, and connects to 3,200 tools. Start free with $100 in credits, then $50 a month.