[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)

# Approve Quinyx absence requests with AI

> Review Quinyx absence requests against your rules, decide every shift they cover and send unclear ones back to you. Runs daily from Claude Code.

Source: https://cotlet.dev/integrations/quinyx-api-mcp-server/approve-absence-requests

Employees send absence requests from the Quinyx mobile app or the staff portal, and each one waits in your Needs Approval list until you decide what happens to every shift it covers.

Cotlet does it in your own Quinyx account with list\_approval\_requests, get\_approval\_request, list\_shifts, approve\_request and deny\_request, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can Quinyx do this on its own?

Quinyx has no API operation to approve or deny an absence request (checked 22 Oct 2026). The v2 API creates and deletes absences for an employee at a unit, and the User API lets an employee submit a leave application and list the managers it can go to. Neither lets a manager decide a request.

## How you do it in Quinyx today

1. An employee sends an absence request from the mobile app or the staff portal. Quinyx notifies the managers who have write access on the absence permission and a direct manager role one level above the employee.
2. In the web app, the manager opens Schedule, clicks the bell icon in the upper-left corner and opens Absence requests under Needs Approval.
3. The request shows the period and the shifts scheduled in it. In the mobile Manager menu, the Time trackers icon shows how many holiday days the employee has left, if the organization uses Time Trackers.
4. For each shift in the period the manager picks Unassign, Delete, Reassign or Keep, writes a comment and selects Approve or Deny.
5. Every request is read and decided by hand, so one that arrives while the manager is away waits.

## How to approve Quinyx absence requests with AI

Prompt

```
Go through the absence requests waiting for me in Quinyx. Approve those where at least 3 colleagues are still scheduled each day and the shifts can stay open, deny the ones that overlap the stocktake week, and list the rest for me.
```

1. 01  
### Read the inbox  
Your agent calls list\_approval\_requests with category absence\_request. It sees only the requests Quinyx sends to your account, which depend on your role and permissions, so a manager with a narrower role sees a shorter list.
2. 02  
### Open each request  
get\_approval\_request returns the period, the employee's comment, every shift scheduled inside the period and the holiday days left when the organization uses Time Trackers. A request with no balance data is not denied for that reason; it goes on your list.
3. 03  
### Check who else is working  
For each day in the period the agent calls list\_shifts for the same unit and counts colleagues already scheduled. The count is judged against the number in your prompt, for example 3.
4. 04  
### Choose an action per shift  
Shifts in an approved period are set to keep or unassign by default; an unassigned shift becomes open and can be offered to colleagues later. Delete and reassign are never picked on their own: a request that needs either goes on your list.
5. 05  
### Decide and comment  
approve\_request runs for the matches and deny\_request for the ones your rule rejects, each with a comment that names the rule. Both ask for your OK per call until you switch confirmation off. Right before deciding, the agent reads the request again and skips one that another manager handled in the meantime.

### What you get back

Example data

```
Absence requests waiting: 6
Approved 3, e.g. Elena Ruiz, 4 to 5 Nov (4 colleagues scheduled each day), 2 shifts unassigned
Denied 1 (Sam Okafor, overlaps stocktake week)
Left for you 2:
- Priya Nair: only 2 colleagues scheduled on 12 Nov
- Jake Ortiz: request covers a shift that needs a reassign
```

### Other ways to ask

- Every morning, deny absence requests that overlap the stocktake week and say so in the comment.
- Approve requests for a single day when at least 4 colleagues are scheduled, and list longer ones for me.
- Show the pending absence requests with each employee's remaining holiday days, but decide nothing.

## What Quinyx allows, and what to know first

- Quinyx sends an absence request only to managers with write access on the absence permission for the group and a direct manager role at least one level above the employee's highest role, so the account behind this job decides which requests it can see.
- If an employee has a manager under Reports to (People > People details > Advanced details), that manager receives all of that employee's absence requests.
- When the unit setting Select manager on absence request is true, the employee chooses which qualifying manager gets the request, so some of them never reach your account.
- In the mobile Manager menu, Quinyx lets the manager choose Unassign, Delete, Reassign or Keep for each shift in the period, or change all shifts at once, and a handled request disappears from the list.

approve\_request and deny\_request ask for your OK by default. To run it daily without you, switch confirmation off for those tools in your dashboard.

Sources: [Quinyx Help: Absence request notification logic](https://help.quinyx.com/help-centre/docs/absence-request-notification-logic) · [Quinyx Help: Mobile, approve an absence request](https://help.quinyx.com/help-centre/docs/mobile-approve-an-absence-request) · [Quinyx Help: Notifications panel](https://help.quinyx.com/help-centre/docs/notifications) · [Quinyx Developer Portal: v2 absences](https://developer.quinyx.com/api/v2/absences)

## Call approve\_request from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/quinyx/requests/77310/approve \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"comment":"Approved: 4 colleagues are scheduled each day. Both shifts are now open.","shift_actions":[{"shift_id":"90412","action":"unassign"},{"shift_id":"90437","action":"unassign"}]}'
```

Example response

```
{
"request_id": "77310",
"category": "absence_request",
"status": "approved",
"employee": "Elena Ruiz",
"shift_actions": [
{
"shift_id": "90412",
"action": "unassign"
},
{
"shift_id": "90437",
"action": "unassign"
}
],
"comment": "Approved: 4 colleagues are scheduled each day. Both shifts are now open."
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is quinyx\_write → approve\_request. Example data.

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

## Quinyx tools this automation uses

__Cotlet Quinyx tools used to approve Quinyx absence requests with AI__
| Tool | Parameters |
| ------------------------ | --------------------------------------------------- |
| list\_approval\_requests | category, group\_id |
| get\_approval\_request | request\_id |
| list\_shifts | group\_id, from, to, employee\_id, unassigned\_only |
| approve\_request | request\_id, comment, shift\_actions |
| deny\_request | request\_id, comment |

[All 13 Quinyx tools with descriptions](https://cotlet.dev/integrations/quinyx-api-mcp-server.md#tools)

## Frequently asked questions

### Can the agent check my holiday balance rules?

It reads the Time Trackers balance that get\_approval\_request returns when your organization uses Time Trackers. The balance rules themselves stay in Quinyx.

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

Yes. You sign in to Quinyx yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Quinyx 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 Quinyx automations

- [Offer open Quinyx shifts to the right employees](https://cotlet.dev/integrations/quinyx-api-mcp-server/offer-open-shifts.md)
- [Attest Quinyx worked hours before payroll](https://cotlet.dev/integrations/quinyx-api-mcp-server/attest-worked-hours-before-payroll.md)
- [Quinyx API and MCP server: every tool](https://cotlet.dev/integrations/quinyx-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Quinyx.

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

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

---

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.
