Claude and ChatGPT can work with your schedule right in the chat: who works tomorrow, who is free, add a shift, pull a timesheet. For them InShift is an MCP server at api.inshift.app/mcp, and the assistant signs in with an API key you create in the panel. The key's scopes are the assistant's rights: without a write scope it only answers questions.
Only the organisation owner and co-owners can connect, because only they create API keys.
Where to find it
The key: “Settings” → the “Integrations” tab → the “API keys and webhooks” card → “Create key”. Keys, scopes and revocation in detail: API keys and webhooks.
The connector: in the settings of Claude or ChatGPT, in the connectors section (in Claude it is “Settings” → “Connectors”, in ChatGPT “Settings” → “Connectors”). Exact names depend on the client version.
Step by step
- In the panel press “Create key” and type “Claude” or “ChatGPT” into “Name”: the history of edits will then show who made them.
- Tick the “Permissions”. For questions, read scopes are enough: “Organization data: name, time zone, enabled modules”, “Locations”, “Job positions”, “People: names, positions, locations, hire and dismissal dates”, “Scheduled shifts”, “Vacation, sick leave, days off”. For the assistant to add shifts, add “Create, edit and remove shifts (drafts)”, and for the team to see them at once, also “Publish shifts so the team sees them”. Pay and timesheets are opened by separate scopes.
- Press “Create” and “Copy”. The key is shown once.
- In Claude or ChatGPT add a custom connector with the address https://api.inshift.app/mcp. The client opens the InShift connection page. That page is in Ukrainian for now: its heading reads «Підключити Claude» or «Підключити ChatGPT» (connect Claude / connect ChatGPT).
- On the connection page check the line «Перевірений клієнт. Код повернеться на claude.ai» (verified client, the code returns to claude.ai; or chatgpt.com), paste the key into «Ключ API» (API key) and press «Підключити» (connect). The assistant gets its own token; the key is not stored with it.
- Ask in the chat: "Who works tomorrow?", "Who at Head Office is free on Saturday?", "Put Olena on Saturday 10 to 18 and publish". The assistant picks the actions itself and shows the result.
Claude Code, Codex, Cursor
Developer clients take the address and the key from their settings, without the connection page. Claude Code: the command claude mcp add --transport http inshift https://api.inshift.app/mcp --header "Authorization: Bearer insh_live_...". Codex: in ~/.codex/config.toml a block [mcp_servers.inshift] with url = "https://api.inshift.app/mcp" and bearer_token_env_var = "INSHIFT_API_KEY". Other clients: a remote MCP server with the address and an Authorization header. Examples at inshift.app/api.
Why the action is missing
No “API keys and webhooks” card: only the owner and co-owners see the “Integrations” tab.
The connection page says «Такого ключа немає або його відкликано» (no such key, or it was revoked): the key was not copied fully or was revoked. Create a new one and paste it again.
The page says «Ключ справний, але доступ організації зараз призупинено» (the key is fine, but the organization's access is paused right now): the key works, it is the organization's access that is closed. No need to change the key: once access is restored, the connection works with the same key.
The page warns «Цього клієнта немає в нашому списку перевірених» (this client is not on our verified list): the code will not return to claude.ai or chatgpt.com. Paste the key only if you started the connection in that client yourself. If you got here through someone else's link, close the page.
The assistant says it has no permission: the key lacks that scope. Scopes are shown on the key page; changing them means a new key.
The assistant added a shift and the team does not see it: the key can write but lacks “Publish shifts so the team sees them”. The shift is a draft; publish it in the planner.
Questions and answers
What does the assistant see?
Exactly what the key allows: the ticked scopes and, if the key is limited to locations, only those locations. Personal data and pay are opened by separate scopes.
What does InShift see from the conversation?
Only data requests, like from any integration: "shifts for 21 September", "create a shift". The text of the conversation never reaches InShift.
How do I disconnect the assistant?
“Revoke” on the key page. The assistant's token stops working the same moment. Removing the connector in Claude or ChatGPT can be done afterwards; for access it no longer matters.
Does the history show that the assistant added a shift?
Yes: the edit is signed with the key and client name, for example “Claude · Claude”.
Is a separate subscription needed?
On the InShift side all you need is an API key. A Claude or ChatGPT subscription, if you need one, is paid to its maker.