# 7shifts MCP connector

Connecting 7shifts to Elaichi lets Claude, ChatGPT, Cursor and any MCP client look up and update your 7shifts locations, departments, roles and team members, with every person signed in as themselves and every change logged.

Source: https://elaichi.ai/connectors/7shifts/

## Facts

| | |
| --- | --- |
| Application | 7shifts |
| Category | HRIS |
| AI tools | 146 |
| Authentication | App credentials |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 146 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once 7shifts is connected

- Show open shifts at the downtown location this week.
- List departments with the most schedule conflicts today.
- Which locations have inactive employees pending review.

## Connect 7shifts in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick 7shifts.
2. Optionally set Share with, then press Connect.
3. Paste your 7shifts app credentials. 7shifts authenticates the app rather than a person. One person supplies the credentials once, and everyone else works through Share with.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which 7shifts tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect 7shifts to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect 7shifts to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect 7shifts to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect 7shifts to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a 7shifts tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with 7shifts through Elaichi

### Open a new location in minutes

Operations. When a new restaurant comes online, describe it once and have the location created in 7shifts with its departments and roles set up to match your other sites.

### Add new hires to 7shifts as they start

HR. Paste in a new hire's details after the offer is signed and have their 7shifts account created and placed in the right location, department and role.

### Check who works where before scheduling

General managers. Ask which team members are assigned to the front of house at a given location, or which roles a site still has open, and get the answer from the live 7shifts roster.

### Keep roles consistent across every site

Multi-unit leaders. Compare the departments and roles set up at each 7shifts location and fix the ones that drifted, so a server means the same thing in every store.

### Review labor settings before the pay run

Payroll. Pull up the labor settings and inactive reasons configured for the company in 7shifts and confirm they match your policy before approving payroll.

### Audit company details across the brand

Franchise support. List every company and location connected to your 7shifts account, spot missing addresses or outdated details, and update them without opening each one by hand.

## Frequently asked questions

### How do I connect 7shifts to Claude?

Connect 7shifts in Elaichi first: 7shifts uses app credentials, so you sign in by entering the access credentials from your 7shifts account, and there is no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste in the endpoint https://api.elaichi.ai/mcp. Sign in when Claude asks, and your 7shifts locations, roles and team members are available in the conversation.

### Does 7shifts work with ChatGPT and Cursor as well as Claude?

Yes. Once 7shifts is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect 7shifts once and every client you use picks it up.

### What can an AI agent actually do with my 7shifts data?

With 7shifts connected, an agent can list your companies, locations, departments, roles and team members, look up any one of them, and create or update locations, departments, roles and users when you ask. It can also read your company's labor settings and inactive reasons. Because 7shifts exposes a lot of actions, short and specific asks like "add a new server at the Main Street location" work better than long paragraphs.

### Does connecting 7shifts give the AI access to every location and employee?

No. The AI only sees what the person who signed in to 7shifts can already see, so a manager limited to one location stays limited to that location. Elaichi can narrow that access further, for example to read-only, but it can never widen it beyond what 7shifts itself allows that person.

### Can my team share one 7shifts connection?

Yes. One administrator connects 7shifts in Elaichi and shares the connection with a team, and nobody else ever handles the 7shifts credentials. Each person still signs in to Elaichi as themselves, so the audit log names the individual who created a location or updated a team member, not the person who set up the connection.

### Can I stop an agent from deleting or changing things in 7shifts?

Yes. Restrictions in Elaichi apply per action, so you can allow looking up 7shifts locations and team members while blocking the ability to delete a location, department or role, or to update anything at all. A blocked action is never shown to Claude, ChatGPT or any other client, so no prompt, however worded, can reach it.

### What happens to a 7shifts connection when someone leaves?

When you offboard a person in Elaichi, their access to 7shifts through every AI client ends at once. If they had shared a 7shifts connection with a team, it keeps working for everyone else. If you want to remove 7shifts entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 146 7shifts tools

Every tool below is callable through https://api.elaichi.ai/mcp once 7shifts is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all 7shifts whoami** (List). Retrieve the authenticated 7shifts user's identity and associated user accounts across companies. Returns: identity_id, users.
- **7shifts partner company create trial account** (Create). Create a trial 7shifts company with The Works plan, a single location, and one administrator who receives an invitation email to complete setup. Returns: company_id, location_id, user_id, company_grant_guid. Required: email, firstname, lastname, company_name, country, utm_source. The country field accepts only CA or US; set create_company_grant to true to obtain a company grant GUID in the…
- **List all 7shifts companies** (List). List 7shifts companies, optionally filtered by modification date. Returns: id, name, country, photo, plan_id, created, modified, expires, days_to_expire, converted, pos, status, start_week_on, meta, uuid. Optional: modified_since (YYYY-MM-DD).
- **Get single 7shifts company by ID** (Get). Get a single 7shifts company by id. Returns: id, name, uuid, country, photo, plan_id, created, modified, expires, days_to_expire, converted, pos, status, start_week_on, meta. Required: id.
- **Update a 7shifts company by ID** (Update). Update a 7shifts company by id with optional name, country, photo, or pos changes. Returns the full company object including id, name, country, status, plan_id, created, modified, and meta. Required: id.
- **List all 7shifts company labor settings** (List). Retrieve labor settings for a 7shifts company, including overtime thresholds, auto-break configuration, and jurisdiction details. Returns: company_id, consecutive_days_threshold, consecutive_days_multiplier, regular_rate_of_pay_enabled, exception_cost_enabled, overtime_by_location_enabled, auto_break_enabled, auto_break_hours, auto_break_minutes, auto_break_hours_2, auto_break_minutes_2,…
- **List all 7shifts company inactive reasons** (List). List inactive reason enum values for a 7shifts company. Returns: an array of string enum values such as rude_to_customers, no_show_late, quit, theft, substance_abuse, and voluntary_resignation. Required: company_id.
- **List all 7shifts locations** (List). List 7shifts locations for a company. Returns: id, company_id, name, country, state, city, formatted_address, lat, lng, place_id, timezone, timezone_updated, hash, mapping_id, department_based_budget, holiday_pay, auto_send_log_book_time, mon_hours_close, tue_hours_close, wed_hours_close, thu_hours_close, fri_hours_close, sat_hours_close, sun_hours_close, mon_hours_open, tue_hours_open,…
- **Create a 7shifts location** (Create). Create a new 7shifts location in a company. Returns the created location object including id, name, country, timezone, formatted_address, and daily operating hours. Required: company_id, name, country.
- **Get single 7shifts location by ID** (Get). Get a single 7shifts location by id. Returns: id, company_id, name, country, state, city, formatted_address, lat, lng, place_id, timezone, timezone_updated, hash, mapping_id, department_based_budget, holiday_pay, auto_send_log_book_time, mon_hours_close, tue_hours_close, wed_hours_close, thu_hours_close, fri_hours_close, sat_hours_close, sun_hours_close, mon_hours_open, tue_hours_open,…
- **Update a 7shifts location by ID** (Update). Update an existing 7shifts location by id. Returns the updated location object including id, name, country, timezone, formatted_address, and daily operating hours. Required: company_id, id.
- **Delete a 7shifts location by ID** (Delete). Delete a 7shifts location by id. Returns an empty 204 response on success. Required: company_id, id.
- **List all 7shifts departments** (List). List 7shifts departments for a company, optionally filtered by location or modification date. Returns: id, company_id, location_id, name, deleted, created, modified. Required: company_id.
- **Create a 7shifts department** (Create). Create a new 7shifts department in a company. Returns: id, company_id, location_id, name, deleted, created, modified. Required: company_id, location_id, name, default.
- **Get single 7shifts department by ID** (Get). Get a single 7shifts department by id. Returns: id, company_id, location_id, name, deleted, created, modified. Required: company_id, id.
- **Update a 7shifts department by ID** (Update). Update a 7shifts department by id. Returns: id, company_id, location_id, name, deleted, created, modified. Required: company_id, id, name, default.
- **Delete a 7shifts department by ID** (Delete). Delete a 7shifts department by id. Optionally transfer roles and shifts to another department via transfer_to. Returns an empty 204 response on success. Required: company_id, id.
- **List all 7shifts roles** (List). List 7shifts roles for a company, optionally filtered by location, department, or role IDs. Returns: id, company_id, location_id, department_id, color, num_stations, name, job_code, sort, stations, created, modified. Required: company_id.
- **Create a 7shifts role** (Create). Create a new 7shifts role in a company. Returns the created role including id, name, color, company_id, location_id, department_id, stations, and created. Required: company_id, name, color, location_id, department_id.
- **Get single 7shifts role by ID** (Get). Get a single 7shifts role by id. Returns: id, company_id, location_id, department_id, color, num_stations, name, job_code, sort, stations, created, modified. Required: company_id, id.
- **Update a 7shifts role by ID** (Update). Update a 7shifts role by id, modifying attributes such as name, color, stations, and sort order. Returns: id, company_id, location_id, department_id, color, num_stations, name, job_code, sort, stations, created, modified. Required: company_id, id.
- **Delete a 7shifts role by ID** (Delete). Delete a 7shifts role by id. Returns an empty 204 response on success. Required: company_id, id.
- **List all 7shifts users** (List). List users in a 7shifts company. Returns each user record with id, first_name, last_name, email, type, active, invite_status, last_login, hire_date, timezone, skill_level, wage_type, and notification preferences. Required: company_id.
- **Create a 7shifts user** (Create). Create a new user in a 7shifts company. Returns the created user object including id, first_name, last_name, email, type, and active. Required: company_id, first_name, last_name, location_ids, department_ids, type.
- **Get single 7shifts user by ID** (Get). Get a single 7shifts user by id. Returns the full user object including id, first_name, last_name, email, type, active, invite_status, last_login, hire_date, timezone, skill_level, wage_type, and notification preferences. Required: company_id, id.
- **Update a 7shifts user by ID** (Update). Update a 7shifts user's profile, contact details, employment settings, and notification preferences. Returns the updated user object including id, first_name, last_name, email, type, and active status. Required: company_id, id.
- **7shifts users deactivate** (Deactivate). Deactivate a 7shifts user by marking them inactive, with optional reason and rehire-eligibility details. Returns an empty 204 response on success. Required: company_id, user_id.
- **7shifts users bulk create** (Create). Bulk create up to 250 users for a 7shifts company in a single request. Returns an array of created user objects with id, first_name, last_name, email, type, and active. Required: company_id and a body array where each item requires first_name, last_name, location_ids, department_ids, and type. Maximum 250 users per request.
- **List all 7shifts user authorized locations** (List). List authorized locations for a 7shifts user within a company. Returns: id, company_id, name, country, state, city, formatted_address, lat, lng, place_id, timezone, timezone_updated, hash, mapping_id, department_based_budget, holiday_pay, auto_send_log_book_time, sun_hours_close, mon_hours_close, tue_hours_close, wed_hours_close, thu_hours_close, fri_hours_close, sat_hours_close, sun_hours_open,…
- **List all 7shifts contacts** (List). List user contacts for a 7shifts company. Returns: id, company_id, first_name, last_name, pronouns, photo, mobile_phone, home_phone, email, type. Required: company_id. Max 100 per page.
- **Get single 7shifts contact by ID** (Get). Get a single user contact from a 7shifts company by id. The id accepts a 7shifts user id or a 7punches id prefixed with punch:. Returns: id, company_id, first_name, last_name, pronouns, photo, mobile_phone, home_phone, email, type. Required: company_id, id.
- **List all 7shifts user wages** (List). List current and upcoming wages for a 7shifts user. Returns: wage_type, current_wages, upcoming_wages. Required: company_id, user_id.
- **Create a 7shifts user wage** (Create). Create a new wage for a 7shifts user. Returns: id, effective_date, role_id, wage_type, wage_cents, enabled_days, allocations, created, modified. Required: company_id, user_id, effective_date, wage_type, wage_cents.
- **List all 7shifts assignments** (List). List a 7shifts user's assignments across locations, departments, and roles within a company. Returns: locations, departments, roles. Required: company_id, user_id. Minimum plan: Entrée.
- **List all 7shifts location assignments** (List). List location assignments for a specific 7shifts user within a company. Returns: location_id, name. Required: company_id, user_id.
- **Create a 7shifts location assignment** (Create). Create a location assignment for a 7shifts user by assigning a location to them. Returns: location_id, name. Required: company_id, user_id, location_id.
- **Delete a 7shifts location assignment by ID** (Delete). Delete a location assignment from a 7shifts user by id. Returns an empty 204 response on success. Required: company_id, user_id, id.
- **List all 7shifts department assignments** (List). List department assignments for a specific 7shifts user within a company. Returns: department_id, name, location_id, appear_on_schedule. Required: company_id, user_id.
- **Create a 7shifts department assignment** (Create). Create a department assignment for a 7shifts user, assigning them to a department within a company. Returns: department_id, name, location_id, appear_on_schedule. Required: company_id, user_id, department_id.
- **Delete a 7shifts department assignment by ID** (Delete). Delete a department assignment for a 7shifts user by id. Returns an empty 204 response on success. Required: company_id, user_id, id.
- **List all 7shifts role assignments** (List). List role assignments for a 7shifts user within a company. Returns: role_id, company_id, location_id, department_id, name, is_primary, skill_level, sort, locations, departments, roles. Required: company_id, user_id.
- **Create a 7shifts role assignment** (Create). Create a role assignment for a 7shifts user, assigning a role and optionally marking it as primary. Returns: role_id, location_id, department_id, name, is_primary, skill_level, sort, company_id. Required: company_id, user_id, role_id.
- **Delete a 7shifts role assignment by ID** (Delete). Delete a role assignment for a 7shifts user by id. Returns an empty 204 response on success. Required: company_id, user_id, id.
- **Update a 7shifts role assignment by ID** (Update). Update a role assignment for a 7shifts user, modifying skill level, sort order, or primary status. Returns: role_id, company_id, location_id, department_id, name, is_primary, skill_level, sort. Required: company_id, user_id, id.
- **7shifts role assignments bulk create** (Create). Create multiple role assignments in 7shifts in a single batch request. Returns an object with user_roles (created assignments including role_id, name, is_primary, skill_level, sort) and exceptions (failed assignments with user_id and reason). Required: company_id, and each body item must include role_id and user_id.
- **List all 7shifts employment records** (List). List employment records for users in a 7shifts company, optionally filtered by a single user, multiple users, or business entity. Returns: uuid, company_id, user_id, hire_date, termination_date, classification, locked, business_entity_uuid. Required: company_id.
- **Create a 7shifts employment record** (Create). Create a new employment record for a user in 7shifts. Returns: uuid, company_id, user_id, hire_date, termination_date, classification, locked, business_entity_uuid. Required: company_id, user_id.
- **Update a 7shifts employment record by ID** (Update). Update a 7shifts employment record by id. Returns: uuid, company_id, user_id, hire_date, termination_date, classification, locked, business_entity_uuid. Required: company_id, id.
- **Delete a 7shifts employment record by ID** (Delete). Delete a 7shifts employment record by id. Returns an empty 204 response on success. Required: company_id, id.
- **7shifts employment records bulk upsert** (Upsert). Bulk create and update employment records in 7shifts in a single request. Returns an array of employment records with uuid, company_id, user_id, hire_date, termination_date, classification, locked, business_entity_uuid. Required: company_id, records.
- **List all 7shifts shifts** (List). List shifts for a 7shifts company, filterable by location, department, role, user, and date range. Returns: id, user_id, department_id, location_id, company_id, role_id, station, station_name, station_id, start, end, close, business_decline, hourly_wage, notes, draft, notified, open, unassigned, unassigned_skill_level, open_offer_type, publish_status, attendance_status, custom_flag, late_minutes,…
- **Create a 7shifts shift** (Create). Create a new shift in 7shifts with location, start/end times, and optional breaks, open-shift, and job-network settings. Returns: id, user_id, department_id, location_id, company_id, role_id, station, station_name, station_id, start, end, close, business_decline, hourly_wage, notes, draft, notified, open, unassigned, unassigned_skill_level, open_offer_type, publish_status, attendance_status,…
- **Get single 7shifts shift by ID** (Get). Retrieve a specific 7shifts shift by id. Returns: id, user_id, department_id, location_id, company_id, role_id, station, station_name, station_id, start, end, close, business_decline, hourly_wage, notes, draft, notified, open, unassigned, unassigned_skill_level, open_offer_type, publish_status, attendance_status, custom_flag, late_minutes, created, modified, soft_deleted, deleted, breaks.…
- **Update a 7shifts shift by ID** (Update). Update a 7shifts shift by id with location, user, role, start/end times, breaks, and status. Returns: id, user_id, department_id, location_id, company_id, role_id, station, station_name, station_id, start, end, close, business_decline, hourly_wage, notes, draft, notified, open, unassigned, unassigned_skill_level, open_offer_type, publish_status, attendance_status, custom_flag, late_minutes,…
- **Delete a 7shifts shift by ID** (Delete). Delete a 7shifts shift by id. Returns an empty 204 response on success. Required: company_id, id.
- **List all 7shifts scheduled shifts** (List). List scheduled shifts for a user in 7shifts to verify schedule enforcement. The shift_id accepts a user_id or a punch_id: prefix. Returns: id, location_id, user_id, department_id, role_id, station_id, station_name, start, end, close, business_decline, notes, publish_status, open, attendance_status, company_id. Required: company_id, shift_id, location_id.
- **List all 7shifts time punches** (List). List 7shifts time punches for a company, with optional filters by location, department, role, user, approval status, date ranges, and flags. Returns: id, company_id, shift_id, user_id, editable_punch, role_id, location_id, department_id, hourly_wage, approved, clocked_in, clocked_out, notes, auto_clocked_out, clocked_in_offline, clocked_out_offline, tips, pos_type, breaks, created, modified,…
- **Create a 7shifts time punch** (Create). Create a 7shifts time punch for a specific company, recording a user's clock-in and clock-out times along with optional breaks and tips. Returns: id, company_id, shift_id, user_id, editable_punch, role_id, location_id, department_id, hourly_wage, approved, clocked_in, clocked_out, notes, auto_clocked_out, clocked_in_offline, clocked_out_offline, tips, pos_type, breaks, created, modified, deleted.…
- **Get single 7shifts time punch by ID** (Get). Get a single 7shifts time punch by id. Returns: id, company_id, shift_id, user_id, editable_punch, role_id, location_id, department_id, hourly_wage, approved, clocked_in, clocked_out, notes, auto_clocked_out, clocked_in_offline, clocked_out_offline, tips, pos_type, breaks, created, modified, deleted. Required: company_id, id.
- **Update a 7shifts time punch by ID** (Update). Update a 7shifts time punch by id. Breaks must always be included in their correct state — omitting an existing break from the payload deletes it. Returns: id, company_id, shift_id, user_id, editable_punch, role_id, location_id, department_id, hourly_wage, approved, clocked_in, clocked_out, notes, auto_clocked_out, clocked_in_offline, clocked_out_offline, tips, pos_type, breaks, created,…
- **Delete a 7shifts time punch by ID** (Delete). Delete a 7shifts time punch by id. Returns an empty 204 response on success. Required: company_id, id.
- **List all 7shifts payroll periods** (List). List payroll periods in 7shifts. Returns each period's id, company_id, start, end, closed, finalized, states with per-location close status, all_punches_approved, employee_punch_approvals, created, and modified. Required: company_id.
- **Get single 7shifts payroll period by ID** (Get). Get a single 7shifts payroll period by id. Returns: id, company_id, closed, start, end, states, current_wages, upcoming_wages. Required: company_id, id.
- **List all 7shifts receipts** (List). List 7shifts sales receipts for a company, filterable by location, date range, status, and external user. Returns: id, company_id, location_id, pos_id, receipt_id, receipt_date, receipt_close_date, net_total, gross_total, tips, total_receipt_discounts, total_item_discounts, external_user_id, revenue_center, receipt_lines, tip_details, status, created_date, modified_date. Required: company_id,…
- **Create a 7shifts receipt** (Create). Create a new sales receipt in 7shifts with line items and tip details. Returns: uuid, id, company_id, location_id, pos_id, receipt_id, receipt_date, net_total, gross_total, tips, total_receipt_discounts, total_item_discounts, receipt_lines, tip_details, status, created_date, modified_date, external_user_id, revenue_center. Required: company_id, receipt_id, location_id, receipt_date, net_total,…
- **Get single 7shifts receipt by ID** (Get). Get a single 7shifts sales receipt by id. Returns: id, company_id, location_id, pos_id, receipt_id, receipt_date, receipt_close_date, net_total, gross_total, tips, total_receipt_discounts, total_item_discounts, external_user_id, revenue_center, receipt_lines, tip_details, status, created_date, modified_date. Required: company_id, id.
- **Update a 7shifts receipt by ID** (Update). Update an existing 7shifts sales receipt by id. Returns: uuid, receipt_id, id, company_id, location_id, pos_id, receipt_date, net_total, gross_total, tips, total_receipt_discounts, total_item_discounts, receipt_lines, tip_details, status, created_date, modified_date, external_user_id, revenue_center. Required: company_id, id, net_total.
- **7shifts receipts get summary** (Get). Retrieve a daily summary of 7shifts receipts grouped by date and status. Returns: date, closed. Required: company_id, location_id. Date range limited to 31 days; modified_since limited to 30 days and overrides date range filters.
- **List all 7shifts external user mappings** (List). List external user mappings for a 7shifts company, with optional filters by location, user, external user, or modification date. Returns: id, created, modified, current_wages, upcoming_wages. Required: company_id. Max 100 per page.
- **Create a 7shifts external user mapping** (Create). Create a new external user mapping in 7shifts by linking a 7shifts user to an external system user. Returns: id, user_id, external_user_id, company_id, location_id, application_name, created, modified, user_active. Required: company_id, user_id, external_user_id.
- **Get single 7shifts external user mapping by ID** (Get). Get a single external user mapping in 7shifts by id. The id accepts a 7shifts user id or an external user id prefixed with ext:. Returns: id, user_id, external_user_id, company_id, location_id, application_name, created, modified, user_active, identity_id, first_name, last_name, preferred_first_name, preferred_last_name, email, mobile_number, home_number, address, postal_zip, city, prov_state,…
- **Update a 7shifts external user mapping by ID** (Update). Update an external user mapping in 7shifts by id. The id accepts a 7shifts user id or an external user id prefixed with ext:. Returns: id, user_id, external_user_id, company_id, location_id, application_name, created, modified, user_active. Required: company_id, id.
- **Delete a 7shifts external user mapping by ID** (Delete). Delete an external user mapping in 7shifts by id. The id accepts a 7shifts user id, an external user id prefixed with ext:, or an email address prefixed with email:. Returns an empty 204 response on success. Required: company_id, id.
- **7shifts external user mappings bulk create** (Create). Bulk create external user mappings in 7shifts for a company by submitting an array of up to 100 records, each keyed by an external_user_id. Returns: mapped (successfully paired external_user_id and user_id), exceptions (unmapped entries with external_user_id and reason). Required: company_id, data. Max 100 items per request.
- **List all 7shifts events** (List). List 7shifts schedule events for a company within a date range. Returns: id, location_ids, color, start_date, start_time, end_time, end_date, title, description, is_multi_day, event_type, recurrence. Required: company_id, start_date, end_date.
- **Create a 7shifts event** (Create). Create a new schedule event in 7shifts for a company. Returns the created event object including id, title, start_date, end_date, event_type, and location_ids. Required: company_id, location_ids, start_date, start_time, end_time, end_date, title, is_multi_day.
- **Get single 7shifts event by ID** (Get). Get a single 7shifts schedule event by id. Returns: id, location_ids, color, start_date, start_time, end_time, end_date, title, description, is_multi_day, event_type, recurrence. Required: company_id, id.
- **Update a 7shifts event by ID** (Update). Update an existing 7shifts schedule event by id. Returns the updated event object including id, title, start_date, end_date, event_type, and location_ids. Required: company_id, id, location_ids, start_date, start_time, end_time, end_date, title, is_multi_day.
- **Delete a 7shifts event by ID** (Delete). Delete a 7shifts schedule event by id, with optional recurrence targeting to delete only the current or future occurrences. Returns: id, location_ids, color, start_date, start_time, end_time, end_date, title, description, is_multi_day, event_type, recurrence. Required: company_id, id.
- **List all 7shifts log book categories** (List). List log book categories for a 7shifts company. Returns: id, company_id, name, col, sort, field_type, notify, required, created, uuid. Required: company_id.
- **Create a 7shifts log book category** (Create). Create a log book category in 7shifts. Returns the created category including id, name, field_type, notify, required, created, and uuid. Required: company_id, name.
- **Update a 7shifts log book category by ID** (Update). Update a 7shifts log book category by id. Returns the updated category including id, name, field_type, notify, required, created, and uuid. Required: company_id, id. At least one body property must be supplied; field_type is deprecated and cannot be changed after creation.
- **Delete a 7shifts log book category by ID** (Delete). Delete a 7shifts log book category by id. Returns an empty 204 response on success. Required: company_id, id.
- **List all 7shifts log book posts** (List). List 7shifts log book posts for a company, filterable by location, category, user, date range, and message content. Returns: id, uuid, location_id, user_id, log_book_category_id, date, message, attachments, log_book_comment_count, created, company_id. Required: company_id.
- **Create a 7shifts log book post** (Create). Create a new log book post in 7shifts for a company. Returns the created post including id, uuid, location_id, date, message, attachments, log_book_comment_count, and created. Required: company_id, location_id, log_book_category_id, date, message.
- **Get single 7shifts log book post by ID** (Get). Get a single 7shifts log book post by id. Returns: id, company_id, identity_id, users. Required: company_id, id.
- **Delete a 7shifts log book post by ID** (Delete). Delete a 7shifts log book post by id. Returns an empty 204 response on success. Required: company_id, id.
- **List all 7shifts log book comments** (List). List log book comments for a specific log book post in 7shifts. Returns: id, uuid, log_book_id, user_id, message, created, company_id. Required: company_id, log_book_post_id.
- **Create a 7shifts log book comment** (Create). Create a new comment on a log book post in 7shifts. Returns: id. Required: company_id, log_book_post_id, log_book_id, message. Message max length is 100000 characters.
- **Get single 7shifts log book comment by ID** (Get). Get a single log book comment by id in 7shifts. Returns: id, uuid, log_book_id, user_id, message, created, company_id. Required: company_id, log_book_post_id, id.
- **Delete a 7shifts log book comment by ID** (Delete). Delete a log book comment by id in 7shifts. Returns an empty 204 response on success. Required: company_id, log_book_post_id, id.
- **List all 7shifts task management settings** (List). Retrieve task management settings for a 7shifts company. Returns: id, company_id, enabled, prompted_auto_assign_ids, has_created_list, can_use_task_management, employee_login, employee_reminder, overdue_alert. Required: company_id.
- **Create a 7shifts task tag** (Create). Create task tags in 7shifts by assigning users to tasks. Returns an empty 204 response on success. Required: company_id, tags (each tag requires user_id and task_id).
- **Delete a 7shifts task tag by ID** (Delete). Delete a task tag in 7shifts by id. Returns an empty 204 response on success. Required: company_id, id.
- **List all 7shifts task list templates** (List). List 7shifts task list templates for a company, optionally filtered by location, department, or role. Returns: id, company_id, uuid, title, description, status, due, created, activated_at, task_templates, assignments, recurrence, time_frame. Required: company_id.
- **Create a 7shifts task list template** (Create). Create a new 7shifts task list template with tasks, assignments, and recurrence rules. Returns: id, company_id, uuid, title, description, status, due, created, activated_at, task_templates, assignments, recurrence, time_frame. Required: company_id, title, recurrence, assignments.
- **Get single 7shifts task list template by ID** (Get). Get a single 7shifts task list template by id. Returns: id, company_id, uuid, title, description, status, due, created, activated_at, task_templates, assignments, recurrence, time_frame. Required: company_id, id.
- **Delete a 7shifts task list template by ID** (Delete). Delete a 7shifts task list template by id. Returns an empty 204 response on success. Required: company_id, id.
- **Update a 7shifts task list template by ID** (Update). Update a 7shifts task list template's title, description, status, tasks, assignments, recurrence, due date, or time frame. Returns: id, company_id, uuid, title, description, status, due, created, activated_at, task_templates, assignments, recurrence, time_frame. Required: company_id, id.
- **List all 7shifts task lists** (List). List task lists for a company in 7shifts, optionally filtered by user, location, template UUID, or active date. Returns: id, task_list_template_uuid, title, description, start, due, due_date, tasks, recurrence, assignments, time_frame, name, uuid, country, photo, plan_id, created, modified, expires, days_to_expire, pos, status, start_week_on, meta. Required: company_id.
- **Get single 7shifts task list by ID** (Get). Get a single task list by id in 7shifts. Returns: id, task_list_template_uuid, title, description, start, due, due_date, tasks, recurrence, assignments, time_frame. Required: company_id, id.
- **7shifts task lists get daily summary** (Get). Get a daily summary of task list completion for a specific location and date in 7shifts. Returns: total_completed_percentage, total_in_progress_percentage, total_incomplete_percentage, report_time, date, has_recent_task_completed, task_lists, id, name, uuid, country, photo, plan_id, created, modified, expires, days_to_expire, pos, status, start_week_on, meta. Required: company_id, location_id,…
- **7shifts tasks clear** (Clear). Clear the completion state of a 7shifts task, resetting it to incomplete. Returns: id, task_template_uuid, title, description, user_id, completed_at, tags, task_completion, task_completion_event. Required: company_id, task_id, user_id.
- **7shifts tasks complete** (Complete). Complete a 7shifts task, optionally recording a completion value. Returns: id, task_template_uuid, title, description, user_id, completed_at, tags, task_completion, task_completion_event. Required: company_id, task_id, user_id.
- **7shifts analytics get hours and wages** (Get). Retrieve worked hours and wages report for a 7shifts company. Returns: users, show_exception_costs, tip_tracking_enabled, show_tips, total, start, end, company_id, consecutive_days_threshold, consecutive_days_multiplier, regular_rate_of_pay_enabled, exception_cost_enabled, overtime_by_location_enabled, auto_break_enabled, auto_break_hours, auto_break_minutes, auto_break_hours_2,…
- **7shifts analytics get daily sales and labor** (Get). Retrieve daily sales and labor report for a 7shifts company location. Returns: id, location_id, department_id, actual_items, projected_items, projected_items_override, labor_target, projected_labor_minutes, actual_labor_minutes, actual_ot_minutes, date, actual_sales, projected_sales, projected_sales_override, actual_labor_cost, projected_labor_cost, sales_per_labor_hour,…
- **7shifts analytics get daily stats** (Get). Retrieve daily stats for a 7shifts company location including sales, labor, and SPMH summaries with interval breakdowns. Returns: summary, intervals. Required: company_id, location_id, date.
- **Create a 7shifts forecast override** (Create). Create a daily projected forecast override for a 7shifts company and location. Returns: location_id, department_id, date, value, report_type. Required: company_id, location_id, date, value, report_type.
- **7shifts forecast overrides sync interval** (Sync). Delete and sync an overridden projected sales interval (15-minute or 1-hour) for a 7shifts company and location, restoring the original projection. Returns an empty 204 response on success. Required: company_id, location_id, start, end.
- **7shifts forecast overrides create interval** (Create). Create a sales forecast override interval (15-minute or 1-hour) for a 7shifts company and location. Returns an empty 204 response on success. Required: company_id, location_id, start, end, value.
- **7shifts forecast overrides bulk create** (Create). Create multiple sales forecast override intervals (15-minute or 1-hour) in bulk for a 7shifts company and location. Returns an empty 204 response on success. Required: company_id, location_id. Max 100 items per request.
- **7shifts forecast overrides bulk create daily** (Create). Create bulk daily projected forecast overrides for a 7shifts location. Returns: forecast_overrides, exceptions. Required: company_id, location_id, data (array of overrides each with date, value, report_type). Minimum plan: The Works.
- **7shifts forecast overrides bulk delete** (Delete). Delete (sync) daily projected forecast overrides by date range for a 7shifts company and location, restoring the original projection. Returns an empty 204 response on success. Required: company_id, location_id, start_date, report_type.
- **List all 7shifts tip pool settings** (List). List tip pool settings for a 7shifts company. Returns each setting's uuid, company_id, location_id, name, contribution_type, distribution_type, enabled, sales_tip_percentage, tip_pool_stakeholders, tip_pool_contributions, tip_pool_cadence_settings, created, and modified. Required: company_id.
- **Get single 7shifts tip pool manual entry by ID** (Get). Retrieve 7shifts tip pool manual entries for a date range. Returns an array of manual entry records including uuid, tip_pool_settings_uuid, day_part_uuid, entry_date, tip_amount, created, and modified. Required: company_id, id, start_date, end_date.
- **7shifts tip pool manual entries bulk update** (Update). Update 7shifts tip pool manual entries by submitting an array of manual entry records. Returns the updated array of manual entries including uuid, tip_pool_settings_uuid, entry_date, tip_amount, created, and modified. Required: company_id, tip_pool_settings_uuid, data.
- **7shifts tip pool reports get summary** (Get). Retrieve a 7shifts tip pool summary report for a location over a date range. Returns an array of tip pool entries, each with tip_pool_uuid, tip_pool_name, unassigned_tips, assigned_tips, and total. Required: company_id, location_id, start_date, end_date.
- **7shifts tip pool reports get detailed** (Get). Retrieve a 7shifts tip pool detailed report for a location over a date range with per-date and per-employee tip breakdowns. Returns: location_id, location_name, report_rows, id, user_id, department_id, company_id, role_id, station, station_name, station_id, start, end, close, business_decline, hourly_wage, notes, draft, notified, open, unassigned, unassigned_skill_level, open_offer_type,…
- **List all 7shifts day part settings** (List). List day part settings for a 7shifts company. Returns each day part's uuid, location_id, name, segments (with day_of_week, start_time, end_time), created, and modified. Required: company_id. Provide location_id to filter to a single location; omit it to fetch all day parts for the company.
- **List all 7shifts availabilities** (List). List 7shifts availabilities for a company, filterable by location, user, status, week, and repeating settings. Returns: id, user_id, company_id, week, week_to, repeat, status, status_action_user_id, status_action_message, mon, mon_from, mon_to, mon_comments, mon_reason, tue, tue_from, tue_to, tue_comments, tue_reason, wed, wed_from, wed_to, wed_comments, wed_reason, thu, thu_from, thu_to,…
- **Create a 7shifts availability** (Create). Create a 7shifts availability with per-day settings for all seven days of the week. Returns: id, user_id, company_id, week, week_to, repeat, status, status_action_user_id, status_action_message, mon, mon_from, mon_to, mon_comments, mon_reason, tue, tue_from, tue_to, tue_comments, tue_reason, wed, wed_from, wed_to, wed_comments, wed_reason, thu, thu_from, thu_to, thu_comments, thu_reason, fri,…
- **Get single 7shifts availability by ID** (Get). Get a single 7shifts availability by id. Returns: id, company_id, identity_id, users. Required: company_id, id.
- **Update a 7shifts availability by ID** (Update). Update a 7shifts availability by id, modifying per-day availability settings, week dates, and repeat flag. Returns: id, user_id, company_id, week, week_to, repeat, status, status_action_user_id, status_action_message, mon, mon_from, mon_to, mon_comments, mon_reason, tue, tue_from, tue_to, tue_comments, tue_reason, wed, wed_from, wed_to, wed_comments, wed_reason, thu, thu_from, thu_to,…
- **Delete a 7shifts availability by ID** (Delete). Delete a 7shifts availability by id. Returns an empty 204 response on success. Required: company_id, id.
- **7shifts availabilities bulk update** (Update). Update the status of a 7shifts availability to approved or declined. Returns an empty 204 response on success. Required: company_id, availability_id, status.
- **List all 7shifts availability reasons** (List). List availability reasons for a 7shifts company. Returns: id, company_id, reason, comments_required, sort, created, modified. Required: company_id.
- **Create a 7shifts availability reason** (Create). Create a new availability reason for a 7shifts company. Returns: id, company_id, reason, comments_required, sort, created, modified. Required: company_id, reason.
- **Update a 7shifts availability reason by ID** (Update). Update an existing availability reason in 7shifts. Returns: id, company_id, reason, comments_required, sort, created, modified. Required: company_id, id, reason.
- **Delete a 7shifts availability reason by ID** (Delete). Delete a 7shifts availability reason by id. Returns an empty 204 response on success. Required: company_id, id.
- **List all 7shifts time off** (List). List time off requests in 7shifts filtered by company, location, user, status, or category. Returns: id, user_id, company_id, from_date, to_date, partial, partial_from, partial_to, comments, status, status_action_user_id, status_action_message, category, created, amount_of_hours, hours, shift_id, editable_punch, role_id, location_id, department_id, hourly_wage, approved, clocked_in, clocked_out,…
- **Create a 7shifts time off** (Create). Create a new time off request in 7shifts. Returns: id, user_id, company_id, from_date, to_date, partial, partial_from, partial_to, comments, status, status_action_user_id, status_action_message, category, created, amount_of_hours, hours. Required: user_id, company_id, from_date, to_date, partial, status, category.
- **Get single 7shifts time off by ID** (Get). Get a single time off request in 7shifts by id. Returns: id, user_id, company_id, from_date, to_date, partial, partial_from, partial_to, comments, status, status_action_user_id, status_action_message, category, created, amount_of_hours, hours, shift_id, editable_punch, role_id, location_id, department_id, hourly_wage, approved, clocked_in, clocked_out, notes, auto_clocked_out, clocked_in_offline,…
- **Delete a 7shifts time off by ID** (Delete). Delete a time off request in 7shifts by id. Returns an empty 204 response on success. Required: id.
- **Update a 7shifts time off by ID** (Update). Update a time off request in 7shifts by id. Returns: id, user_id, company_id, from_date, to_date, partial, partial_from, partial_to, comments, status, status_action_user_id, status_action_message, category, created, amount_of_hours, hours. Required: id.
- **7shifts time off approve** (Approve). Approve a time off request in 7shifts. Returns the full time off object including id, user_id, company_id, from_date, to_date, status, category, amount_of_hours, and a per-date hours breakdown. Required: time_off_id.
- **7shifts time off decline** (Decline). Decline a time off request in 7shifts. Returns the full time off object including id, user_id, company_id, from_date, to_date, status, category, amount_of_hours, and a per-date hours breakdown. Required: time_off_id.
- **7shifts time off get total hours** (Get). Retrieve total time off hours by employee in 7shifts within a date range. Returns an array of objects each with user_id, category, and hours. Required: company_id, employee_id, date_start, date_end.
- **Get single 7shifts time off setting by ID** (Get). Get time off settings for a 7shifts company by id. Returns: company_id, time_off_request_comment, time_off_request_notice, categories, consecutive_days_threshold, consecutive_days_multiplier, regular_rate_of_pay_enabled, exception_cost_enabled, overtime_by_location_enabled, auto_break_enabled, auto_break_hours, auto_break_minutes, auto_break_hours_2, auto_break_minutes_2, overtime_enabled,…
- **Create a 7shifts time off setting** (Create). Create time off settings for a 7shifts company. Returns: company_id, time_off_request_comment, time_off_request_notice, categories. Required: company_id.
- **List all 7shifts shift feedback** (List). List shift feedback entries for a 7shifts company within a specified date range. Returns: id, location_id, department_id, role_id, start, end, shift_id, user_id, notified, rating, comments, dismissed, station_name, company_id, station, station_id, close, business_decline, hourly_wage, notes, draft, open, unassigned, unassigned_skill_level, open_offer_type, publish_status, attendance_status,…
- **Get single 7shifts engage overview by ID** (Get). Get an engagement overview for a 7shifts location by date. Returns: location_stats, employee_stats, engagement_scores, shift_feedback, tenure, id, location_ids, color, start_date, start_time, end_time, end_date, title, is_multi_day, event_type, recurrence. Required: company_id, id, date. Only one of permission_template_id or user_type may be used at a time.
- **List all 7shifts webhooks** (List). List webhooks for a 7shifts company, optionally filtered by modification date. Returns: id, company_id, url, method, event, created, modified. Required: company_id.
- **Create a 7shifts webhook** (Create). Create a webhook in 7shifts for a company to receive event notifications. Returns: id, url. Required: company_id, url, method, event.
- **Update a 7shifts webhook by ID** (Update). Update a 7shifts webhook's URL. Returns: id, company_id, url, method, event, created, modified. Required: company_id, id, url.
- **Delete a 7shifts webhook by ID** (Delete). Delete a 7shifts webhook by id. Returns an empty 204 response on success. Required: company_id, id.
- **7shifts webhooks test** (Test). Send a test webhook notification for a 7shifts company to verify webhook delivery. Returns an opaque JSON object containing a sample payload for the specified topic. Required: company_id, topic.
