[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Adjust CharlieHR leave allowances for a team

> Add or remove leave days in CharlieHR for one person or a whole team, with an expiry date and a note. Hosted, run from Claude Code or a script.

Source: https://cotlet.dev/integrations/charliehr-api-mcp-server/adjust-leave-allowances

Weekend work, a length-of-service bonus or a correction means changing several people's allowance, one adjustment form at a time.

Cotlet does it in your own CharlieHR account with list\_team\_members, get\_time\_off\_allowance and adjust\_time\_off\_allowance, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=charliehr) [All CharlieHR tools](https://cotlet.dev/integrations/charliehr-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can CharlieHR do this on its own?

CharlieHR changes allowances only in its screens (checked 20 Oct 2026). The API reads leave allowances and has no action to adjust one, so a bulk change is one form per person.

## How you do it in CharlieHR today

1. Open the person's profile, go to the Time tab and scroll to the time off allowance section.
2. Click Edit Allowance, then Adjust. To change one time off type only, click Adjust Allowance beside it.
3. Choose increase or decrease, enter the number of days, pick the Type of Adjustment, add an expiry date if it applies and a note, then click Save.
4. For several people, expand Time in the side navigation, click Settings, expand allowances, and use the action icon at the end of each row.
5. Hover the i icon on a saved adjustment to see its expiry date.

## How to adjust CharlieHR leave allowances for a team

Prompt

```
Add 2 extra days to the CharlieHR allowance of everyone in the Support team, expiring 31 December, with a note that it is for the October release weekend.
```

1. 01  
### Find the people  
list\_team\_members with the team filter returns the active members of the team. Archived people are not included, so a leaver gets no adjustment.
2. 02  
### Read each balance first  
get\_time\_off\_allowance shows allowance, adjustments and expiry dates per person. The agent skips anyone who already has the same adjustment, so a second run does not add the days twice.
3. 03  
### Check the expiry  
An expiring adjustment cannot span more than one leave year. The agent stops when your expiry date falls in the next leave year and asks for another date.
4. 04  
### Adjust one person at a time  
adjust\_time\_off\_allowance sends direction, amount, type of adjustment, expiry date and note. It asks for your OK on each call until you switch confirmation off for the tool.
5. 05  
### Report each balance  
The agent lists each person with the new allowance and the adjustment id, so a wrong entry is easy to find and correct.

### What you get back

Example data

```
Support team, 3 people
Added 2 days, expires 31 Dec 2026, note "October release weekend"
- Ana Lopez: 25 to 27 days
- Tom Becker: 25 to 27 days
- Jake Ortiz: skipped, same adjustment already exists
```

### Other ways to ask

- Remove 1 day from Tom Becker's allowance for the unpaid day he took in September.
- Add 1 day to everyone with more than 5 years of service, no expiry, and show me the list first.
- Show me every adjustment that expires this month, but change nothing.

## What CharlieHR allows, and what to know first

- Super Admins, Admins, Line Managers and Team Leads can update allowances.
- For hourly workers the increase or decrease is calculated in hours, so the amount is an hour value, not days.
- Expiry dates apply to increase adjustments. Booked leave counts toward the adjustment with the soonest expiry first.
- An expiring adjustment cannot span more than one leave year, so it does not roll over into the next.
- CharlieHR stores the adjustment with its type, an optional expiry and a note, which the Time tab shows afterwards.

adjust\_time\_off\_allowance asks for your OK by default. To run it on a schedule without you, switch confirmation off for that tool in your dashboard.

Sources: [CharlieHR Help: Change a team member's time off allowance](https://help.charliehr.com/en/articles/839588-change-a-team-member-s-time-off-allowance) · [CharlieHR Help: Expiring time off adjustments](https://help.charliehr.com/en/articles/15501473-expiring-time-off-adjustments) · [CharlieHR Help: How hourly leave is calculated](https://help.charliehr.com/en/articles/7233646-how-hourly-leave-is-calculated)

## Call adjust\_time\_off\_allowance from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/charliehr/members/tm_31c9e4/time-off-allowance/adjust \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"direction":"increase","amount":2,"adjustment_type":"Extra days","expires_on":"2026-12-31","notes":"October release weekend"}'
```

Example response

```
{
"adjustment_id": "adj_3b71",
"member": "Ana Lopez",
"direction": "increase",
"amount": 2,
"adjustment_type": "Extra days",
"expires_on": "2026-12-31",
"notes": "October release weekend",
"allowance_before": 25,
"allowance_after": 27,
"unit": "days"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is charliehr\_write → adjust\_time\_off\_allowance. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/charliehr-api-mcp-server.md#automations)

## CharlieHR tools this automation uses

__Cotlet CharlieHR tools used to adjust CharlieHR leave allowances for a team__
| Tool | Parameters |
| ---------------------------- | ------------------------------------------------------------------------------------ |
| list\_team\_members | status, office, team, query |
| get\_time\_off\_allowance | member\_id, leave\_year |
| adjust\_time\_off\_allowance | member\_id, direction, amount, adjustment\_type, expires\_on, time\_off\_type, notes |

[All 12 CharlieHR tools with descriptions](https://cotlet.dev/integrations/charliehr-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect CharlieHR to Cotlet?

Yes. You sign in to CharlieHR yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get CharlieHR once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More CharlieHR automations

- [Approve CharlieHR time off requests by your own rules](https://cotlet.dev/integrations/charliehr-api-mcp-server/approve-time-off-requests.md)
- [Offboard a leaver in CharlieHR](https://cotlet.dev/integrations/charliehr-api-mcp-server/offboard-a-leaver.md)
- [CharlieHR API and MCP server: every tool](https://cotlet.dev/integrations/charliehr-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to CharlieHR.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with CharlieHR.

[Sign up free](https://cotlet.dev/app/signup?app=charliehr)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
