Agent Templates
PTO & Leave Request Agent

PTO request agent template that checks the real Deel balance before booking

Open-source Python template. Resolves the employee in Deel, validates against their real entitlement, submits the request for approval, blocks the calendar.

PTO & Leave Request Agent
Sample Agent for Acme
May 22 · 10:00 AM ·
47s
I need Sep 14-15 off for a family trip
P
Checking the real Deel balance
Balance validated
deelmcp_timeoff_entitlement_list
Request submitted
deelmcp_timeoff_request_create
Manager notified
slackmcp_slack_send_message
Sep 14-15 requested - pending manager approval
Vacation policy resolved for this worker
9.5 days remaining after this request, checked against Deel
Calendar blocked as outOfOffice on the employee's own token
Guardrails
Short balance or overlapping dates rejected before any write
Submitted as REQUESTED, approval stays a human action
Message Claude...
Trusted by teams shipping agents to production
PTO & Leave Request Agent
Sample Agent for Acme
May 22 · 10:00 AM ·
47s
I need Sep 14-15 off for a family trip
P
Checking the real Deel balance
Balance validated
deelmcp_timeoff_entitlement_list
Request submitted
deelmcp_timeoff_request_create
Manager notified
slackmcp_slack_send_message
Sep 14-15 requested - pending manager approval
Vacation policy resolved for this worker
9.5 days remaining after this request, checked against Deel
Calendar blocked as outOfOffice on the employee's own token
Guardrails
Short balance or overlapping dates rejected before any write
Submitted as REQUESTED, approval stays a human action
Message Claude...

How the agent turns one leave request into a Deel submission, a blocked calendar, and a manager DM in seven steps

A real working agent you can deploy

The balance check runs against the employee's real Deel entitlement before anything is written. Insufficient balance, invalid dates, or an overlapping request end the run with the reason logged and the manager notified, and nothing is submitted.

01
Resolve the employee to a real Deel worker
connectors.py
Deel has no find-worker-by-email endpoint, so the agent bulk-lists contracts and reads each candidate's real email to match. Set EMPLOYEE_DEEL_PROFILE_ID to skip this entirely on a larger org.
connectors.py
contracts = execute_tool("deelmcp_contract_list", identifier=deel_user)
for c in contracts:
    profile_id = (c.get("worker") or {}).get("id")
    if not profile_id:
        continue                      # onboarding incomplete
    person = execute_tool("deelmcp_org_hris_person_get", identifier=deel_user,
                          tool_input={"hris_profile_id": profile_id})
    if employee_email in emails_of(person):
        return profile_id
02
Resolve their assigned time-off policy
connectors.py
03
Check for an overlapping request already in Deel
aggregator.py
04
Validate against the real remaining balance
aggregator.py
05
Submit the request, always as REQUESTED
run_flow.py
06
Block the employee's own calendar
connectors.py
07
DM the manager with dates and remaining balance
connectors.py

Agents that file real HR requests, without the auth plumbing

Three things you'd otherwise build: Deel OAuth, per-employee calendar access, Slack scopes. Handled.

1
Install
claude plugin marketplace add scalekit-inc/claude-code-authstack && claude plugin install agent-auth@scalekit-auth-stack
terminal
curl -fsSL https://raw.githubusercontent.com/scalekit-inc/codex-authstack/main/install.sh | bash
terminal
copilot plugin marketplace add scalekit-inc/github-copilot-authstack
copilot plugin install agent-auth@scalekit-auth-stack
terminal
curl -fsSL https://raw.githubusercontent.com/scalekit-inc/cursor-authstack/main/install.sh | bash
terminal
npx skills add scalekit-inc/skills --skill integrating-agent-auth
2
Clone github.com/scalekit-developers/workflow-agents-demos/tree/main/pto-leave-request-agent and adapt it for my people ops stack.

I am building for: my HR team (or: an HR tech product)   <- edit this line
Connectors my users need: Deel, Google Calendar, Slack   <- edit this line
Trigger: one run per leave request. Deliver: a real Deel time-off request pending approval, a blocked calendar, and a manager DM.

Steps:
1. Create Scalekit AgentKit connections for deel (the DEELMCP connector), googlecalendar for the employee's own identity, and an MCP-variant slack (SLACKMCP, not the plain REST SLACK connector -- the send-message parameter names differ). Copy the exact connection names into DEEL_CONNECTOR / GOOGLE_CALENDAR_CONNECTOR / SLACK_CONNECTOR.
2. Set EMPLOYEE_EMAIL to an email that matches Deel's org chart, plus MANAGER_EMAIL or MANAGER_SLACK_ID, PTO_START_DATE, PTO_END_DATE, and PTO_TYPE.
3. Confirm the worker has a time-off policy assigned for that PTO_TYPE before the first run -- deelmcp_timeoff_request_create needs a policy_id and Step 2 fails without one.
4. Keep the validation order in run_flow.py: resolve worker, resolve policy, check overlaps, check balance, and only then submit. Rejections must notify the manager and write nothing.
5. Keep status REQUESTED on submission. If I want approvals automated, add deelmcp_timeoff_request_review as a separate explicit step and tell me the risk.
6. Set EMPLOYEE_DEEL_PROFILE_ID to skip the contract-list lookup, then run python run_flow.py and describe how to trigger it from my HR portal.
Why choose Scalekit

Delegated identity. Not service accounts.

Credentials never touch agent code or LLM context. The agent acts as the user, not as a shared bot.
Delegated OAuth - Agent reads your calendar, your inbox — scoped to the authorizing identity, not org-wide.
Credentials outside agent runtime  -  Tokens never touch agent code or LLM context. Both failure modes covered.
Token lifecycle automatic  -  Refresh, expiry, rotation across all connectors. One SDK call. Zero management code.
200+ prebuilt connectors  -  Google, Slack, HubSpot, GitHub, Jira, Notion, Salesforce — same auth pattern everywhere.
Try other Agent Templates

Prebuilt agents you can ship today

Each one runs on delegated identity, scoped per user.

PEOPLE OPS
Offer letter routing agent
Draft the offer in PandaDoc, gate it on hiring manager approval in Slack, then email the candidate their signature link.
PEOPLE OPS
Performance review collector agent
Collect review feedback from Airtable and Google Forms per manager, summarise each report in Notion, and DM the digest in Slack.
OPS
Email-to-calendar scheduling agent
Read scheduling intent out of Gmail threads, resolve mutual free time, and create the Google Calendar event.
OPS
Meeting prep agent
Assemble the agenda, HubSpot attendee history, and open action items from Gmail before every meeting on the calendar.
ENGINEERING
Slack triage agent
Classify new Slack messages as bugs or support requests, file the GitHub issue or Zendesk ticket, and reply in the thread.
SUPPORT
Support triage agent
Classify new Zendesk tickets, search the Notion knowledge base for an answer, and route what it cannot resolve to Slack.

Build your own
multi-connector agent

Add connectors. Change the LLM. Same delegated auth pattern.