---
title: 7shifts API Integration on Truto
slug: 7shifts
category: HRIS
canonical: "https://truto.one/integrations/detail/7shifts/"
---

# 7shifts API Integration on Truto



**Category:** HRIS  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 146 tools for 7shifts that AI agents can call directly.

- **list_all_7_shifts_whoami** — Retrieve the authenticated 7shifts user's identity and associated user accounts across companies. Returns: identity_id, users.
- **7_shifts_partner_company_create_trial_account** — 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_7_shifts_companies** — 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_7_shifts_company_by_id** — 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_7_shifts_company_by_id** — 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_7_shifts_company_labor_settings** — 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_7_shifts_company_inactive_reasons** — 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_7_shifts_locations** — 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_7_shifts_location** — 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_7_shifts_location_by_id** — 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_7_shifts_location_by_id** — 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_7_shifts_location_by_id** — Delete a 7shifts location by id. Returns an empty 204 response on success. Required: company_id, id.
- **list_all_7_shifts_departments** — 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_7_shifts_department** — 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_7_shifts_department_by_id** — Get a single 7shifts department by id. Returns: id, company_id, location_id, name, deleted, created, modified. Required: company_id, id.
- **update_a_7_shifts_department_by_id** — Update a 7shifts department by id. Returns: id, company_id, location_id, name, deleted, created, modified. Required: company_id, id, name, default.
- **delete_a_7_shifts_department_by_id** — 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_7_shifts_roles** — 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_7_shifts_role** — 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_7_shifts_role_by_id** — 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_7_shifts_role_by_id** — 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_7_shifts_role_by_id** — Delete a 7shifts role by id. Returns an empty 204 response on success. Required: company_id, id.
- **list_all_7_shifts_users** — 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_7_shifts_user** — 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_7_shifts_user_by_id** — 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_7_shifts_user_by_id** — 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.
- **7_shifts_users_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.
- **7_shifts_users_bulk_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_7_shifts_user_authorized_locations** — 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_7_shifts_contacts** — 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_7_shifts_contact_by_id** — 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_7_shifts_user_wages** — List current and upcoming wages for a 7shifts user. Returns: wage_type, current_wages, upcoming_wages. Required: company_id, user_id.
- **create_a_7_shifts_user_wage** — 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_7_shifts_assignments** — 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_7_shifts_location_assignments** — List location assignments for a specific 7shifts user within a company. Returns: location_id, name. Required: company_id, user_id.
- **create_a_7_shifts_location_assignment** — 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_7_shifts_location_assignment_by_id** — 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_7_shifts_department_assignments** — 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_7_shifts_department_assignment** — 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_7_shifts_department_assignment_by_id** — 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_7_shifts_role_assignments** — 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_7_shifts_role_assignment** — 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_7_shifts_role_assignment_by_id** — 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_7_shifts_role_assignment_by_id** — 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.
- **7_shifts_role_assignments_bulk_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_7_shifts_employment_records** — 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_7_shifts_employment_record** — 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_7_shifts_employment_record_by_id** — 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_7_shifts_employment_record_by_id** — Delete a 7shifts employment record by id. Returns an empty 204 response on success. Required: company_id, id.
- **7_shifts_employment_records_bulk_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_7_shifts_shifts** — 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_7_shifts_shift** — 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_7_shifts_shift_by_id** — 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_7_shifts_shift_by_id** — 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_7_shifts_shift_by_id** — Delete a 7shifts shift by id. Returns an empty 204 response on success. Required: company_id, id.
- **list_all_7_shifts_scheduled_shifts** — 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_7_shifts_time_punches** — 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_7_shifts_time_punch** — 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_7_shifts_time_punch_by_id** — 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_7_shifts_time_punch_by_id** — 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_7_shifts_time_punch_by_id** — Delete a 7shifts time punch by id. Returns an empty 204 response on success. Required: company_id, id.
- **list_all_7_shifts_payroll_periods** — 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_7_shifts_payroll_period_by_id** — 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_7_shifts_receipts** — 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_7_shifts_receipt** — 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_7_shifts_receipt_by_id** — 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_7_shifts_receipt_by_id** — 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.
- **7_shifts_receipts_get_summary** — 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_7_shifts_external_user_mappings** — 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_7_shifts_external_user_mapping** — 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_7_shifts_external_user_mapping_by_id** — 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_7_shifts_external_user_mapping_by_id** — 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_7_shifts_external_user_mapping_by_id** — 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.
- **7_shifts_external_user_mappings_bulk_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_7_shifts_events** — 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_7_shifts_event** — 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_7_shifts_event_by_id** — 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_7_shifts_event_by_id** — 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_7_shifts_event_by_id** — 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_7_shifts_log_book_categories** — 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_7_shifts_log_book_category** — 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_7_shifts_log_book_category_by_id** — 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_7_shifts_log_book_category_by_id** — Delete a 7shifts log book category by id. Returns an empty 204 response on success. Required: company_id, id.
- **list_all_7_shifts_log_book_posts** — 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_7_shifts_log_book_post** — 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_7_shifts_log_book_post_by_id** — Get a single 7shifts log book post by id. Returns: id, company_id, identity_id, users. Required: company_id, id.
- **delete_a_7_shifts_log_book_post_by_id** — Delete a 7shifts log book post by id. Returns an empty 204 response on success. Required: company_id, id.
- **list_all_7_shifts_log_book_comments** — 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_7_shifts_log_book_comment** — 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_7_shifts_log_book_comment_by_id** — 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_7_shifts_log_book_comment_by_id** — 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_7_shifts_task_management_settings** — 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_7_shifts_task_tag** — 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_7_shifts_task_tag_by_id** — Delete a task tag in 7shifts by id. Returns an empty 204 response on success. Required: company_id, id.
- **list_all_7_shifts_task_list_templates** — 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_7_shifts_task_list_template** — 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_7_shifts_task_list_template_by_id** — 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_7_shifts_task_list_template_by_id** — Delete a 7shifts task list template by id. Returns an empty 204 response on success. Required: company_id, id.
- **update_a_7_shifts_task_list_template_by_id** — 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_7_shifts_task_lists** — 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_7_shifts_task_list_by_id** — 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.
- **7_shifts_task_lists_get_daily_summary** — 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,…
- **7_shifts_tasks_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.
- **7_shifts_tasks_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.
- **7_shifts_analytics_get_hours_and_wages** — 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,…
- **7_shifts_analytics_get_daily_sales_and_labor** — 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,…
- **7_shifts_analytics_get_daily_stats** — 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_7_shifts_forecast_override** — 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.
- **7_shifts_forecast_overrides_sync_interval** — 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.
- **7_shifts_forecast_overrides_create_interval** — 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.
- **7_shifts_forecast_overrides_bulk_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.
- **7_shifts_forecast_overrides_bulk_create_daily** — 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.
- **7_shifts_forecast_overrides_bulk_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_7_shifts_tip_pool_settings** — 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_7_shifts_tip_pool_manual_entry_by_id** — 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.
- **7_shifts_tip_pool_manual_entries_bulk_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.
- **7_shifts_tip_pool_reports_get_summary** — 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.
- **7_shifts_tip_pool_reports_get_detailed** — 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_7_shifts_day_part_settings** — 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_7_shifts_availabilities** — 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_7_shifts_availability** — 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_7_shifts_availability_by_id** — Get a single 7shifts availability by id. Returns: id, company_id, identity_id, users. Required: company_id, id.
- **update_a_7_shifts_availability_by_id** — 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_7_shifts_availability_by_id** — Delete a 7shifts availability by id. Returns an empty 204 response on success. Required: company_id, id.
- **7_shifts_availabilities_bulk_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_7_shifts_availability_reasons** — List availability reasons for a 7shifts company. Returns: id, company_id, reason, comments_required, sort, created, modified. Required: company_id.
- **create_a_7_shifts_availability_reason** — 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_7_shifts_availability_reason_by_id** — Update an existing availability reason in 7shifts. Returns: id, company_id, reason, comments_required, sort, created, modified. Required: company_id, id, reason.
- **delete_a_7_shifts_availability_reason_by_id** — Delete a 7shifts availability reason by id. Returns an empty 204 response on success. Required: company_id, id.
- **list_all_7_shifts_time_off** — 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_7_shifts_time_off** — 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_7_shifts_time_off_by_id** — 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_7_shifts_time_off_by_id** — Delete a time off request in 7shifts by id. Returns an empty 204 response on success. Required: id.
- **update_a_7_shifts_time_off_by_id** — 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.
- **7_shifts_time_off_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.
- **7_shifts_time_off_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.
- **7_shifts_time_off_get_total_hours** — 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_7_shifts_time_off_setting_by_id** — 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_7_shifts_time_off_setting** — 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_7_shifts_shift_feedback** — 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_7_shifts_engage_overview_by_id** — 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_7_shifts_webhooks** — 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_7_shifts_webhook** — Create a webhook in 7shifts for a company to receive event notifications. Returns: id, url. Required: company_id, url, method, event.
- **update_a_7_shifts_webhook_by_id** — Update a 7shifts webhook's URL. Returns: id, company_id, url, method, event, created, modified. Required: company_id, id, url.
- **delete_a_7_shifts_webhook_by_id** — Delete a 7shifts webhook by id. Returns an empty 204 response on success. Required: company_id, id.
- **7_shifts_webhooks_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.

## How it works

1. **Link your customer's 7shifts account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach 7shifts.** The Proxy API is a 1-to-1 mapping of the 7shifts API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Sync new hires from your ATS into 7shifts** — Applicant tracking and onboarding platforms can push hired candidates directly into 7shifts as users with the right role, wage, and location assignments, so restaurant managers can schedule them the same day without duplicate data entry.
- **Power Earned Wage Access with verified shift data** — EWA and on-demand pay providers can pull time punches, wages, and payroll periods from 7shifts to calculate exactly how much an hourly restaurant worker has earned after each clock-out and safely advance a portion of it.
- **Distribute pooled tips through a digital payout platform** — Cashless tipping and gratuity apps can read detailed tip pool reports and time punches from 7shifts, then write manual tip pool entries back so payouts stay reconciled with the source of truth used by the restaurant.
- **Feed POS sales into labor forecasting** — POS systems and middleware can push actual and projected sales into 7shifts as receipts and forecast overrides, giving operators accurate sales-per-labor-hour forecasts and real-time labor variance without manual entry.
- **Embed shift context into restaurant ops software** — Checklist, food safety, and daily ops apps can check who is scheduled and clocked in, then post end-of-day summaries directly into the 7shifts manager log book where GMs already work.

## What you can build

- **Bulk employee onboarding** — Provision new restaurant staff into 7shifts in a single call using bulk user creation, then attach wages, role assignments, and employment records automatically.
- **Real-time time punch listener** — Register 7shifts webhooks to react instantly to clock-ins, clock-outs, and shift publishes, and hydrate each event with the full time punch and user wage record.
- **Payroll-ready timesheet export** — Pull approved time punches by payroll period and combine them with wage history to generate finalized, payroll-ready timesheets for each location.
- **Sales and labor analytics dashboard** — Surface daily sales, projected vs. actual labor minutes, and hours-and-wages breakdowns from the 7shifts analytics endpoints inside your own BI or franchise reporting UI.
- **Tip pool reconciliation view** — Render detailed and summary tip pool reports per shift, and let managers correct allocations by pushing bulk updates to manual tip pool entries.
- **Identity mapping layer** — Keep your platform's user IDs in sync with 7shifts users via external user mappings, so payouts, messages, and events resolve to the right employee across systems.

## FAQs

### How does authentication work for the 7shifts integration?

Your end users connect their 7shifts account through Truto's managed auth flow. Truto handles credential storage, refresh, and per-tenant isolation, so you never touch 7shifts API tokens directly in your application.

### Which 7shifts objects can I read and write through Truto?

Truto exposes the full set of 7shifts resources needed for HRIS and workforce workflows, including companies, locations, departments, roles, users, wages, employment records, shifts, scheduled shifts, time punches, payroll periods, receipts, forecast overrides, tip pools, availabilities, time off, log book posts, task lists, analytics, and webhooks.

### Can I subscribe to real-time events from 7shifts?

Yes. You can create, update, test, and delete 7shifts webhooks through Truto to receive event-driven updates (for example when a shift is published or a time punch is completed) instead of polling.

### How do I keep my platform's users aligned with 7shifts users?

Use the external user mapping endpoints to store your internal user IDs against 7shifts user IDs. This lets you resolve identities consistently across payouts, messaging, and analytics without maintaining a mapping table yourself.

### Does Truto handle pagination and API quirks for 7shifts?

Yes. Truto normalizes pagination, retries, and error handling across every 7shifts list endpoint, so listing time punches, shifts, or users across large multi-location accounts behaves consistently regardless of underlying cursor behavior.

### Can I push sales data into 7shifts for labor forecasting?

Yes. You can create receipts and use the forecast override endpoints, including bulk and interval-level creation, to inject actual and projected sales into 7shifts so operators get accurate labor forecasts down to short intervals.

## Related reading

- [Connect 7shifts to ChatGPT: Manage Staff, Payroll & Attendance](https://truto.one/blog/connect-7shifts-to-chatgpt-manage-staff-payroll-attendance/) — Learn how to connect 7shifts to ChatGPT using an auto-generated MCP server to automate staff scheduling, payroll, and restaurant operations.
- [Connect 7shifts to Claude: Optimize Shifts, Tasks & Log Books](https://truto.one/blog/connect-7shifts-to-claude-optimize-shifts-tasks-log-books/) — Learn how to connect 7shifts to Claude using a managed MCP server. Automate scheduling, log books, and labor forecasts with secure AI tool calling.
- [Connect 7shifts to AI Agents: Sync Sales, Labor & Tip Reporting](https://truto.one/blog/connect-7shifts-to-ai-agents-sync-sales-labor-tip-reporting/) — Learn how to connect 7shifts to ai agents using Truto. Step-by-step guide to tool calling, API quirks, and autonomous workflows.
