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

# Offer open Quinyx shifts to the right employees

> Find unassigned Quinyx shifts and offer each one to employees who are free that day, with a comment. Quinyx gives it to the first who accepts.

Source: https://cotlet.dev/integrations/quinyx-api-mcp-server/offer-open-shifts

A colleague calls in sick, the shift goes back to unassigned, and the manager opens it, picks people one by one and sends the offer while the shift start comes closer.

Cotlet does it in your own Quinyx account with list\_shifts, list\_employees and offer\_shift, 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 lets a manager offer an unassigned shift by hand, and its API has no operation to offer or assign shifts (checked 22 Oct 2026). The v3 Shift resource is read-only, with the scope schedule:shifts:read.

## How you do it in Quinyx today

1. A superuser turns the feature on under Account settings > Compliance settings. After that, managers see it in the Schedule view and employees in the mobile app, about an hour later.
2. The manager opens an unassigned shift in the Schedule view and clicks Offer shift. The shift must be in the published period.
3. In the panel the manager selects one or more employees, writes a comment on why they were picked and clicks Send offer.
4. Each employee gets a Qmail and approves or denies the shift in a dedicated place in the mobile app. The manager gets a Qmail for either answer.
5. The same steps repeat for every open shift, and the other route, employees booking an available shift themselves, still ends in a manager approving under Shift bookings.

## How to offer open Quinyx shifts to the right employees

Prompt

```
List the unassigned shifts in the next 7 days at Harbor Cafe. For each one, offer it to the 3 employees who have no shift that day, with a short comment, and skip shifts that already have a pending offer.
```

1. 01  
### Find the open shifts  
list\_shifts runs with unassigned\_only for the next 7 days in your unit. Shifts in a period that is not published yet cannot be offered, so the agent leaves them out and says how many it skipped.
2. 02  
### Skip shifts already on offer  
A shift with a pending offer comes back with offer\_pending set to true. The agent leaves it alone, because Quinyx keeps the shift and its offer locked while the offer is active.
3. 03  
### Pick who gets the offer  
list\_employees returns the active people of the unit; passive employees cannot be assigned a shift and are dropped. The agent then reads list\_shifts for them on the same days and keeps those without a shift that day. Rest and hour rules stay with Quinyx.
4. 04  
### Send the offers  
offer\_shift goes out once per shift, to 2 or 3 employees at a time, with a comment such as why the shift is open and when it starts. The offer reaches people, so it waits for your OK by default.
5. 05  
### Report what is left  
Next run, shifts whose offers were denied, or whose offers lapsed when the shift started, show up again as unassigned and are offered to different people. The agent lists shifts that stay open after two rounds for you.

### What you get back

Example data

```
Unassigned shifts, next 7 days: 5
Offered 4, e.g. Fri 30 Oct 06:00-14:00 to Tom Becker, Maria Silva, Ana Lopez
Already on offer: 1
Not offered 0 (all in the published period)
Still open after two rounds: 0
```

### Other ways to ask

- Every Monday, offer next week's open evening shifts to employees who worked fewer than 30 hours this week.
- Offer today's open shifts to one employee at a time, in the order of my favorites, and wait for a decision before the next.
- Show the unassigned shifts for the next 2 weeks and who is free for each, but send no offers.

## What Quinyx allows, and what to know first

- The offer is available only on unassigned shifts in the published period, including shifts on the current date. A section whose publish date is later than its unit's must be opened at section level before a shift can be offered.
- When an offer goes to several employees, the first to accept is assigned the shift, and Quinyx tells the others that the offer is no longer available.
- If nobody accepts before the shift starts, Quinyx denies the offer automatically and the shift stays unassigned.
- While an offer is active, neither the shift nor the offer can be edited, and the shift no longer shows as unassigned in the mobile app.
- Unassigned shifts appear under Schedule Overview in the Notifications panel only when the schedule that holds them has been published.

offer\_shift asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: [Quinyx Help: Offer additional shifts to employees](https://help.quinyx.com/help-centre/docs/offer-additional-shifts-to-employees) · [Quinyx Help: Notifications panel](https://help.quinyx.com/help-centre/docs/notifications) · [Quinyx Help: Shifts](https://help.quinyx.com/help-centre/docs/shifts) · [Quinyx Developer Portal: API reference](https://developer.quinyx.com/api)

## Call offer\_shift from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/quinyx/shifts/90518/offer \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"employee_ids":["3011","3027","3044"],"comment":"Open Friday opening shift after a sick call. First to accept gets it."}'
```

Example response

```
{
"offer_id": "5521",
"shift_id": "90518",
"status": "pending",
"offered_to": [
"Tom Becker",
"Maria Silva",
"Ana Lopez"
],
"comment": "Open Friday opening shift after a sick call. First to accept gets it."
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is quinyx\_write → offer\_shift. 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 offer open Quinyx shifts to the right employees__
| Tool | Parameters |
| --------------- | --------------------------------------------------- |
| list\_shifts | group\_id, from, to, employee\_id, unassigned\_only |
| list\_employees | group\_id, query, include\_passive |
| offer\_shift | shift\_id, employee\_ids, comment |

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

## Frequently asked questions

### 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

- [Approve Quinyx absence requests with AI](https://cotlet.dev/integrations/quinyx-api-mcp-server/approve-absence-requests.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.
