Lever Automation
Scannednpx machina-cli add skill ComposioHQ/awesome-claude-skills/lever-automation --openclawLever Automation
Automate your recruiting operations in Lever ATS directly from Claude Code. Manage job postings, track candidate pipelines, update requisitions, and query opportunities without leaving your terminal.
Toolkit docs: composio.dev/toolkits/lever
Setup
- Add the Composio MCP server to your configuration:
https://rube.app/mcp - Connect your Lever account when prompted by running any Lever command. The agent will provide an OAuth link to authenticate.
- Ensure your Lever API key has sufficient scopes for the operations you need (read/write access to postings, opportunities, requisitions).
Core Workflows
1. List and Filter Job Postings
Retrieve all job postings with optional filtering by state, team, department, location, or commitment type.
Tool: LEVER_LIST_POSTINGS
Key parameters:
state-- filter bypublished,internal,closed,draft,pending,rejectedteam,department,location,commitment-- narrow results by organizational attributeslimit(1-100) andoffset-- paginate through large posting setstag-- filter by posting tag
Example prompt: "List all published engineering job postings in Lever"
2. Browse Candidate Opportunities
List all opportunities in the hiring pipeline with rich filtering for pipeline analysis and candidate tracking.
Tool: LEVER_LIST_OPPORTUNITIES
Key parameters:
posting_id,stage_id,tag-- filter by posting, pipeline stage, or tagemail,contact_id-- find opportunities for a specific candidatearchived-- filter by archived status (true/false)created_at_start,created_at_end-- date range filtering (ISO 8601)expand-- expandapplications,contact,owner,stage,stageChanges,sources,sourcedByinto full objects
Example prompt: "Show me all active opportunities for the Senior Engineer posting, expanded with contact details"
3. Get Opportunity Details
Fetch comprehensive details about a single candidate opportunity including contact info, stage progression, sources, and applications.
Tool: LEVER_GET_OPPORTUNITY
Key parameters:
opportunity(required) -- the unique opportunity UIDexpand-- comma-separated fields to expand:contact,stage,owner
Example prompt: "Get full details for opportunity 31c9716c-d4e3-47e8-a6a1-54078a1151d6 with contact and stage expanded"
4. Manage Requisitions
Create, list, update, and delete requisitions to track headcount and hiring needs.
Tools: LEVER_LIST_REQUISITIONS, LEVER_GET_REQUISITION, LEVER_UPDATE_REQUISITION, LEVER_DELETE_REQUISITION
Update requires these fields:
requisition(required) -- UUID of the requisitionrequisitionCode(required) -- unique code likeREQ-001name(required) -- requisition titleheadcountTotal(required) -- number of positions (minimum 1)status--openorclosed- Optional:
hiringManager,owner,department,team,location,compensationBand
Example prompt: "Update requisition REQ-001 to increase headcount to 3 and change status to open"
5. View Pipeline Stages
Retrieve all hiring pipeline stages configured in your Lever account.
Tool: LEVER_LIST_STAGES
Key parameters:
limit(1-100) -- max items per pageoffset-- pagination token from previous response
Example prompt: "List all pipeline stages in our Lever account"
6. Manage Tags
List all tags used to categorize candidates, opportunities, and postings.
Tool: LEVER_LIST_TAGS
Key parameters:
limit-- max items per pageoffset-- pagination token
Example prompt: "Show all candidate tags in Lever"
Known Pitfalls
- Pagination required for large datasets:
LEVER_LIST_OPPORTUNITIESandLEVER_LIST_POSTINGSdefault to 100 results max per page. Always check for anoffsettoken in the response and iterate to get complete results. - Expand parameter format: The
expandfield onLEVER_LIST_OPPORTUNITIESaccepts an array of strings, while onLEVER_GET_OPPORTUNITYandLEVER_GET_REQUISITIONit accepts a comma-separated string. Follow the exact schema for each tool. - Requisition updates are full replacements:
LEVER_UPDATE_REQUISITIONrequires all mandatory fields (requisitionCode,name,headcountTotal) even if you only want to change one field. Always fetch the current requisition first withLEVER_GET_REQUISITION. - Timestamps: Opportunity date filters use ISO 8601 format, while
LEVER_LIST_POSTINGSuses Unix timestamps in milliseconds forupdated_at_start. - Connection scopes: Write operations (update/delete requisitions) will fail if your API token lacks the necessary permissions, even if reads succeed.
Quick Reference
| Tool Slug | Description |
|---|---|
LEVER_LIST_POSTINGS | List all job postings with filtering by state, team, department |
LEVER_LIST_OPPORTUNITIES | List candidate opportunities with pipeline filtering |
LEVER_GET_OPPORTUNITY | Get detailed info for a single opportunity |
LEVER_GET_REQUISITION | Retrieve a single requisition by ID |
LEVER_LIST_REQUISITIONS | List all requisitions with status/code filtering |
LEVER_UPDATE_REQUISITION | Update an existing requisition (full replacement) |
LEVER_DELETE_REQUISITION | Delete/archive a requisition |
LEVER_LIST_STAGES | List all pipeline stages |
LEVER_LIST_TAGS | List all tags for categorization |
Powered by Composio
Source
git clone https://github.com/ComposioHQ/awesome-claude-skills/blob/master/composio-skills/lever-automation/SKILL.mdView on GitHub Overview
Lever Automation lets you manage job postings, candidate pipelines, requisitions, and opportunities in Lever ATS directly from Claude Code via the Composio Lever integration. It streamlines recruiting workflows by querying data, updating records, and coordinating pipeline stages without leaving your terminal.
How This Skill Works
The skill calls Lever APIs through predefined tools such as LEVER_LIST_POSTINGS, LEVER_LIST_OPPORTUNITIES, LEVER_GET_OPPORTUNITY, LEVER_UPDATE_REQUISITION, LEVER_LIST_STAGES, and LEVER_LIST_TAGS. You first add the MCP server at https://rube.app/mcp and authenticate via OAuth when prompted, after which read and write operations against postings, opportunities, and requisitions are possible based on your API key scopes.
When to Use It
- You need to list or filter Lever job postings by state, team, department, location, or tag
- You want to browse or analyze candidate opportunities along a pipeline with optional expansion of related data
- You must retrieve full details for a specific opportunity, including contact, stage, and sources
- You need to create, update, or delete requisitions to reflect hiring needs
- You want to review available pipeline stages or candidate/posting tags to inform recruiting strategy
Quick Start
- Step 1: Add the Composio MCP server to your configuration: https://rube.app/mcp
- Step 2: Connect your Lever account when prompted by running any Lever command; authorize via the OAuth link
- Step 3: Ensure your Lever API key has read/write scopes for postings, opportunities, and requisitions
Best Practices
- Authenticate via the MCP server and use OAuth; ensure the Lever API key has necessary scopes
- Use filters and pagination (limit/offset) to manage large result sets efficiently
- Expand related objects (applications, contact, owner, stage, sources) when you need full context in a single call
- Validate required fields when updating requisitions (requisition, requisitionCode, name, headcountTotal)
- Secure credentials and regularly rotate tokens to protect sensitive recruiting data
Example Use Cases
- List all published engineering job postings in Lever
- Show me all active opportunities for the Senior Engineer posting, expanded with contact details
- Get full details for opportunity 31c9716c-d4e3-47e8-a6a1-54078a1151d6 with contact and stage expanded
- Update requisition REQ-001 to increase headcount to 3 and change status to open
- List all pipeline stages in our Lever account