Agent skill
deel
Deel API for global payroll and contractors. Use when user mentions "Deel", "contractors", "global payroll", or "EOR".
Install this agent skill to your Project
npx add-skill https://github.com/vm0-ai/vm0-skills/tree/main/deel
SKILL.md
Deel API
Manage contracts, people, time off, and organization data with the Deel REST API.
Official docs:
https://developer.deel.com/docs
When to Use
- List and manage contracts (EOR, contractor, etc.)
- View employee and contractor profiles
- Manage time off requests
- Access organization and team information
- View invoice adjustments and payslips
Core APIs
List Contracts
curl -s "https://api.deel.com/rest/v2/contracts?limit=10" --header "Authorization: Bearer $(printenv DEEL_TOKEN)" | jq '.data[] | {id, title, type, status, worker: .worker.name}'
Docs: https://developer.deel.com/reference/list-contracts
Get Contract Details
Replace <contract-id> with the actual contract ID:
curl -s "https://api.deel.com/rest/v2/contracts/<contract-id>" --header "Authorization: Bearer $(printenv DEEL_TOKEN)" | jq '.data | {id, title, type, status, worker, start_date, client}'
List People
curl -s "https://api.deel.com/rest/v2/people?limit=10" --header "Authorization: Bearer $(printenv DEEL_TOKEN)" | jq '.data[] | {id, full_name, email, hiring_status, hiring_type}'
Docs: https://developer.deel.com/reference/list-people
Get Person Details
Replace <person-id> with the actual person ID:
curl -s "https://api.deel.com/rest/v2/people/<person-id>" --header "Authorization: Bearer $(printenv DEEL_TOKEN)" | jq '.data | {id, full_name, email, hiring_status, hiring_type, country, department}'
List Time Off Requests
Replace <hris-profile-id> with the worker's HRIS profile ID:
curl -s "https://api.deel.com/rest/v2/time_offs/profile/<hris-profile-id>?limit=10" --header "Authorization: Bearer $(printenv DEEL_TOKEN)" | jq '.data[] | {id, type, status, start_date, end_date}'
Create Time Off Request
Write to /tmp/deel_request.json:
{
"contract_id": "<contract-id>",
"type": "vacation",
"start_date": "2026-04-01",
"end_date": "2026-04-05",
"reason": "Family vacation"
}
curl -s -X POST "https://api.deel.com/rest/v2/time_offs" --header "Authorization: Bearer $(printenv DEEL_TOKEN)" --header "Content-Type: application/json" -d @/tmp/deel_request.json | jq '.data | {id, type, status, start_date, end_date}'
List Invoice Adjustments
curl -s "https://api.deel.com/rest/v2/invoice-adjustments?limit=10" --header "Authorization: Bearer $(printenv DEEL_TOKEN)" | jq '.data[] | {id, type, amount, currency, status, contract_id}'
Create Invoice Adjustment
Write to /tmp/deel_request.json:
{
"contract_id": "<contract-id>",
"amount": 500,
"currency": "USD",
"type": "bonus",
"description": "Performance bonus Q1 2026"
}
curl -s -X POST "https://api.deel.com/rest/v2/invoice-adjustments" --header "Authorization: Bearer $(printenv DEEL_TOKEN)" --header "Content-Type: application/json" -d @/tmp/deel_request.json | jq '.data | {id, type, amount, currency, status}'
Get Organization Info
curl -s "https://api.deel.com/rest/v2/organizations" --header "Authorization: Bearer $(printenv DEEL_TOKEN)" | jq '.data | {id, name, country, currency}'
List Teams
curl -s "https://api.deel.com/rest/v2/teams?limit=10" --header "Authorization: Bearer $(printenv DEEL_TOKEN)" | jq '.data[] | {id, name, members_count}'
List Countries
Get supported countries for hiring:
curl -s "https://api.deel.com/rest/v2/countries" --header "Authorization: Bearer $(printenv DEEL_TOKEN)" | jq '.data[:5] | .[] | {code, name}'
Guidelines
- API versioning: Use
/rest/v2/endpoints for the latest API version - Contract types: Common types include
pay_as_you_go(contractor),ongoing(employee/EOR),milestone(project-based) - Time off types: vacation, sick_leave, personal, parental, etc.
- Pagination: Use
limitandoffsetquery parameters; default limit is 20 - Rate limits: Standard API rate limits apply; back off on 429 responses
- Sandbox: Deel offers a sandbox environment at
https://api-sandbox.demo.deel.comfor testing - Invoice adjustments: Only available for contractor contracts, not EOR
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
brave-search
Brave Search API for web search. Use when user says "search web", "Brave search", or asks to "find on web" without specifying Google.
supadata
Supadata API for YouTube/web data. Use when user mentions "Supadata", "YouTube data", "channel stats", or web scraping data.
roadmap-planning
Build and prioritize product roadmaps using scoring models like RICE, ICE, and value-effort matrices. Activate when creating a product roadmap, prioritizing features, sequencing initiatives, mapping dependencies, balancing team capacity, choosing between Now/Next/Later or quarterly planning, or communicating roadmap tradeoffs to executives and stakeholders.
qdrant
Qdrant API for vector search. Use when user mentions "Qdrant", "vector database", "semantic search", or embeddings storage.
calendly
Calendly scheduling API. Use when user mentions "Calendly", "calendly.com", "schedule a meeting", "booking link", "event types", or asks about interview scheduling.
stripe
Stripe API for payments. Use when user mentions "Stripe", "payment", "subscription", "billing", "invoice", or asks about payment processing.
Didn't find tool you were looking for?