Skip to main content

7shifts Data Source

The 7shifts connector enables you to ingest scheduling, labor, employee, and organizational data from your 7shifts account. This connector is particularly useful for workforce analytics, payroll processing, HR system integrations, and labor cost reporting. Follow the instructions below to create a new data flow that ingests data from a 7shifts source in Nexla.
seven_shifts_api.png

7shifts

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the 7shifts connector tile from the list of available connectors. Then, select the credential that will be used to connect to the 7shifts instance, and click Next; or, create a new 7shifts credential for use in this flow.

  3. In Nexla, 7shifts data sources can be created using pre-built endpoint templates, which expedite source setup for common 7shifts endpoints. Each template is designed specifically for the corresponding 7shifts endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    7shifts sources can also be configured manually, allowing you to ingest data from 7shifts endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common 7shifts endpoints. Each template is designed specifically for the corresponding 7shifts endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

Get Company

Retrieves details of a specific company by its ID. Use this endpoint to pull your 7shifts company profile information, including company name, settings, and configuration details. This is useful for auditing company configuration or seeding reference data in downstream systems.

  • This endpoint requires no additional parameters beyond the Company ID stored in your credential. Nexla will automatically use the Company ID from your 7shifts credential to scope the request to your organization.
  • The response data is returned under the $.data path, which Nexla uses automatically for this template.

Additional details about the fields returned by this endpoint are available in the 7shifts Get Company API reference.

Get Current User

Returns the identity and details of the currently authenticated user or token. Use this endpoint to verify which 7shifts user is associated with the active credential, or to retrieve the authenticated user's profile data for auditing or downstream processing.

  • This endpoint requires no additional parameters. It calls the https://api.7shifts.com/v2/whoami endpoint using the access token in your credential.
  • The response includes fields such as the user's ID, name, email, and role within the company.

This endpoint is also used by Nexla to validate your 7shifts credential on creation. For more details, see the 7shifts authentication documentation.

Get Labor Settings

Returns labor configuration settings for your company, including overtime rules, break policies, and pay period settings. Use this endpoint to replicate labor policy data into analytics platforms or to verify that your 7shifts labor configuration aligns with your payroll system.

  • This endpoint requires no additional parameters beyond the Company ID stored in your credential.
  • The response data is returned under the $.data path.

Labor settings govern how overtime, breaks, and pay calculations are applied to your workforce. For more details on each field, refer to the 7shifts Labor Settings documentation.

Get Tip Pool Settings

Returns tip pool configuration settings for your company. Use this endpoint to retrieve tip distribution rules and policies for downstream payroll or financial reporting systems.

  • This endpoint requires no additional parameters beyond the Company ID stored in your credential.
  • The response data is returned under the $.data path.

Tip pool settings define how tips are allocated across employees and roles. For more details, refer to the 7shifts Tip Pool Settings documentation.

Retrieve Role Details

Returns details for a specific role within your company, such as role name, location association, and pay settings. Use this endpoint when you need to retrieve the full profile of a specific job role for HR or scheduling analytics.

  • Enter the numeric ID of the role to retrieve in the Role ID field. This is the unique identifier assigned to the role in 7shifts.

    • Role IDs can be obtained by first running the List Roles endpoint, which returns all roles for your company along with their IDs.
    • The Role ID is not required — if left blank, the endpoint will attempt to retrieve without a specific role filter, but providing it ensures you retrieve the correct record.
  • The response data is returned under the $.data path.

Additional details about role fields are available in the 7shifts Roles API documentation.

Get Shift

Retrieves details of a single shift by its ID, including the assigned employee, location, department, role, start and end times, and any notes. Use this endpoint when you need to fetch full details for a specific known shift.

  • Enter the numeric ID of the shift to retrieve in the Shift ID field.

    • Shift IDs can be obtained by first running the List Shifts endpoint to get a list of shifts with their corresponding IDs.
  • The response data is returned under the $.data path.

For a full list of fields returned by this endpoint, see the 7shifts Get Shift API reference.

Retrieve Time Punch Record

Returns details for a single time punch record, including clock-in and clock-out times, break duration, and the associated employee and location. Use this endpoint when you need to retrieve a specific time punch record for payroll verification or audit purposes.

  • Enter the numeric ID of the time punch record to retrieve in the Time Punch ID field.

    • Time punch IDs can be obtained by first running the List Time Punches endpoint, which returns all time punch records for your company.
  • The response data is returned under the $.data path.

For additional details about the fields returned by this endpoint, refer to the 7shifts Time Punches documentation.

Get User

Retrieves detailed profile information for a single user in your company, including name, contact information, employment status, and assigned roles. Use this endpoint when you need the complete profile of a specific employee.

  • Enter the numeric ID of the user to retrieve in the User ID field.

    • User IDs can be obtained by first running the List Users endpoint, which returns all users for your company along with their IDs.
  • The response data is returned under the $.data path.

For a full list of user profile fields returned by this endpoint, refer to the 7shifts Get User API reference.

Get User Assignments

Retrieves the location, department, and role assignments for a specific user in your company. Use this endpoint to understand where an employee is assigned to work and what roles they hold across locations and departments.

  • Enter the numeric ID of the user whose assignments you want to retrieve in the User ID field.

    • User IDs can be obtained from the List Users endpoint or the Get User endpoint.
  • The response data is returned as an array under the $.data[*] path, with each element representing a separate assignment.

For more details about user assignments and the fields returned, refer to the 7shifts Get User Assignments API reference.

List User Assignments

Retrieves all location, department, and role assignments for a specified user. Use this endpoint to get a complete view of an employee's cross-location responsibilities and role assignments for HR reporting or access auditing.

  • Enter the numeric User ID in the User ID field. This parameter is required.

    • User IDs are available from the List Users endpoint.
  • The response data is returned as an array under the $.data[*] path.

For additional reference, see the 7shifts List Assignments API reference.

List Companies

Retrieves all companies accessible via your API key. This is useful when your access token is associated with multiple companies, such as in multi-location franchise or enterprise scenarios, and you need to enumerate available company IDs.

  • This endpoint requires no additional parameters. It uses cursor-based pagination to handle large result sets, automatically fetching up to 100 companies per page.
  • The response data is returned as an array under the $.data[*] path, with pagination handled automatically by Nexla.

This endpoint is particularly useful for identifying the correct Company ID to use in your 7shifts credential. For more details, see the 7shifts List Companies API reference.

List User Department Assignments

Retrieves all department assignments for a specific user. Use this endpoint to see which departments an employee is assigned to within your company, which is useful for scheduling analysis, HR records, and cost center reporting.

  • Enter the numeric User ID in the User ID field. This parameter is required.

    • User IDs are available from the List Users endpoint.
  • The response data is returned as an array under the $.data[*] path.

For more information about department assignment fields, see the 7shifts List Department Assignments API reference.

List Departments

Retrieves all departments for your company. Departments in 7shifts represent sub-groups within a location (for example, Front of House or Back of House). Use this endpoint to build organizational hierarchies, map employees to cost centers, or replicate department structures into downstream systems.

  • This endpoint requires no additional parameters. It uses cursor-based pagination, automatically fetching up to 100 departments per page.
  • The response data is returned as an array under the $.data[*] path.

For a complete list of department fields, refer to the 7shifts List Departments API reference.

List Calendar Events

Returns a paginated list of calendar events for your company, including holidays and manager notes. Use this endpoint to synchronize scheduling events with external calendars or labor planning tools.

  • The following optional filter parameters are available for this endpoint:

    • Location ID: Filter events to a specific location. Leave blank to retrieve events across all locations.
    • Start Date (Greater Than or Equal): Filter to events starting on or after this date. Use ISO 8601 format (e.g., 2024-01-01).
    • Start Date (Less Than or Equal): Filter to events starting on or before this date. Use ISO 8601 format.
    • Modified Since: Return only events modified after this timestamp. Useful for incremental data loads.
    • Limit: Set the maximum number of events returned per page. If left blank, the endpoint uses its default page size.
    • Cursor: Pagination cursor for fetching subsequent pages. Nexla manages this automatically when pagination is enabled.
  • The response data is returned as an array under the $.data[*] path, with pagination handled automatically using cursor-based pagination.

For additional details about calendar event fields, see the 7shifts Calendar Events documentation.

List External User Mappings

Returns a paginated list of external user mappings between 7shifts users and external system identifiers. Use this endpoint to retrieve the linkage between 7shifts employee records and user IDs in connected external systems such as payroll platforms or POS systems.

  • The following optional filter parameters are available:

    • Modified Since: Return only mappings modified after this timestamp. Useful for incremental sync scenarios.
    • Limit: Set the maximum number of mappings returned per page.
    • Cursor: Pagination cursor. Nexla manages this automatically.
  • The response data is returned as an array under the $.data[*] path with cursor-based pagination.

External user mappings are typically used in payroll and POS integrations to associate 7shifts employees with their counterparts in other systems. For more details, refer to the 7shifts External User Mappings documentation.

List Inactive Reasons

Returns the list of valid inactive (departure) reason codes for your company. These codes are used when deactivating users to categorize the reason for their departure (for example, resignation, termination, or leave of absence). Use this endpoint to populate picklist values in HR systems or to enrich employee departure records.

  • This endpoint requires no additional parameters beyond the Company ID stored in your credential.
  • The response data is returned as an array under the $.data[*] path.

For more details about inactive reason codes, refer to the 7shifts Inactive Reasons documentation.

List User Location Assignments

Retrieves all location assignments for a specific user. Use this endpoint to determine which physical locations an employee is authorized to work at across your organization.

  • Enter the numeric User ID in the User ID field. This parameter is required.

    • User IDs are available from the List Users endpoint.
  • The response data is returned as an array under the $.data[*] path.

For more details about location assignment fields, see the 7shifts List Location Assignments API reference.

List Locations

Retrieves all locations for your company. Locations represent physical restaurant or business sites in 7shifts. Use this endpoint to replicate location data into analytics platforms, reporting systems, or to map shifts and employees to physical sites.

  • This endpoint requires no additional parameters. It uses cursor-based pagination, fetching up to 100 locations per page automatically.
  • The response data is returned as an array under the $.data[*] path.

For a complete list of location fields, refer to the 7shifts List Locations API reference.

List User Role Assignments

Retrieves all role assignments for a specific user. Use this endpoint to see which job roles an employee holds across your company's locations and departments, which is useful for pay rate analysis and scheduling optimization.

  • Enter the numeric User ID in the User ID field. This parameter is required.

    • User IDs are available from the List Users endpoint.
  • The response data is returned as an array under the $.data[*] path.

List Roles

Retrieves all roles defined for your company. Roles in 7shifts represent job positions such as Server, Bartender, or Cook, and are associated with departments and locations. Use this endpoint to synchronize role data into HR or payroll systems.

  • This endpoint requires no additional parameters. It uses cursor-based pagination, fetching up to 100 roles per page automatically.
  • The response data is returned as an array under the $.data[*] path.

For a complete list of role fields, see the 7shifts List Roles API reference.

List Shift Feedback

Returns a paginated list of shift feedback submissions from employees for your company. Shift feedback is collected after employees complete their shifts and can include ratings and comments. Use this endpoint to analyze employee satisfaction, identify scheduling issues, or feed engagement metrics into workforce analytics platforms.

  • The following optional filter parameters are available:

    • Location ID: Filter feedback to a specific location.
    • Modified Since: Return only feedback modified after this timestamp. Useful for incremental data sync.
    • Limit: Set the maximum number of feedback entries returned per page.
    • Cursor: Pagination cursor. Nexla manages this automatically.
  • The response data is returned as an array under the $.data[*] path with cursor-based pagination.

For more details about shift feedback fields, refer to the 7shifts Shift Feedback documentation.

List Shifts

Retrieves a paginated list of all shift records for your company, including shift start and end times, assigned employees, locations, departments, and roles. Use this endpoint for labor analytics, payroll processing, schedule auditing, or syncing shift data into external workforce management systems.

  • This endpoint requires no additional parameters beyond the Company ID stored in your credential. It uses cursor-based pagination, fetching up to 100 shifts per page automatically.
  • The response data is returned as an array under the $.data[*] path.

For a full description of shift fields and filtering options available via the API, refer to the 7shifts Shifts documentation.

List Time Punches

Retrieves a paginated list of time punch records for your company, including clock-in and clock-out times, break information, and associated employee and location details. Use this endpoint to feed actual hours worked into payroll systems, conduct labor cost analysis, or compare scheduled versus actual hours.

  • This endpoint requires no additional parameters beyond the Company ID stored in your credential. It uses cursor-based pagination, fetching up to 100 records per page automatically.
  • The response data is returned as an array under the $.data[*] path.

For a complete description of time punch fields, refer to the 7shifts Time Punches documentation.

List Users

Retrieves all users (employees) for your company, including their profile information, employment status, and account details. Use this endpoint to synchronize your employee roster into HR systems, payroll platforms, or workforce analytics tools.

  • This endpoint requires no additional parameters beyond the Company ID stored in your credential. It uses cursor-based pagination, fetching up to 100 users per page automatically.
  • The response data is returned as an array under the $.data[*] path.

For a complete list of user fields returned by this endpoint, refer to the 7shifts List Users API reference.

List User Wages

Retrieves wage information for a specific user, including pay rates across roles. Use this endpoint to feed compensation data into payroll systems, labor cost models, or HR reporting tools.

  • Enter the numeric User ID in the User ID field. This parameter is required.

    • User IDs are available from the List Users endpoint.
  • The response data is returned as an array under the $.data[*] path.

For a complete list of wage fields, refer to the 7shifts List Wages API reference.

List Webhooks

Returns a paginated list of all webhooks registered for your company. Use this endpoint to audit, monitor, or replicate your 7shifts webhook configuration into external documentation or change management systems.

  • The following optional filter parameters are available:

    • Modified Since: Return only webhooks modified after this timestamp.
    • Limit: Set the maximum number of webhooks returned per page.
    • Cursor: Pagination cursor. Nexla manages this automatically.
  • The response data is returned as an array under the $.data[*] path with cursor-based pagination.

For more details about webhook fields and event types, refer to the 7shifts Webhooks documentation.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

7shifts data sources can be manually configured to ingest data from any valid 7shifts API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex 7shifts sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom authentication headers or request parameters.

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the 7shifts API from the Method pulldown menu. The most common methods are:

    • GET: For retrieving data from the API
    • POST: For sending data to the API or triggering actions
    • PUT: For updating existing data
    • PATCH: For partial updates to existing data
    • DELETE: For removing data

API Endpoint URL

  1. Enter the URL of the 7shifts API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters.

    The 7shifts API base URL is https://api.7shifts.com/v2/. All endpoint paths are appended to this base URL. For example, to list shifts for your company, the full URL would be https://api.7shifts.com/v2/company/{company_id}/shifts, where {company_id} is your numeric 7shifts Company ID.

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL. For a full list of available 7shifts API endpoints, refer to the 7shifts API reference documentation.

Date/Time Macros (API URL)

Optional

Optionally, the API URL can be customized using macros—all macros added to the API URL will be converted into values when Nexla executes the API call. Macros are dynamic placeholders that allow you to create flexible API endpoints that can adapt to different time periods or data requirements.

Date/time macros are particularly useful for 7shifts endpoints that accept date range filters, such as the shifts and time punches endpoints. For example, you can use macros to always retrieve shifts for the current day or the past week without manually updating the URL each time.

  1. To add a macro, type { at the appropriate position in the API URL (within the Set API URL field), and select the desired macro from the dropdown list.

    • {now} – The current datetime
    • {now-1} – The datetime one time unit before the current datetime
    • {now+1} – The datetime one time unit after the current datetime
    • custom – Datetime macros can reference any number of time units before or after the current datetime—for example, enter (now-4) to indicate the datetime four time units before the current datetime
  2. Select the format that will be applied to datetime macros from the Date Format for Date/Time Macro pulldown menu. This format will be applied to the base datetime value of the macro—i.e., the value of {now} in {now-1}.

  3. Select the datetime unit that will be used to perform mathematical operations in the included macro(s) from the Time Unit for Operations pulldown menu—for example, for the macro {now-1}, when Day is selected, {now-1} will be converted to the datetime one day before the current datetime.

Lookup-Based Macros (API URL)

Optional

Column values from existing lookups can also be included as macros in the API URL. Lookup-based macros allow you to reference data from previously configured data sources or lookups, enabling dynamic API endpoints that can adapt based on existing data.

Lookup-based macros are useful when you need to create 7shifts API endpoints that reference specific user IDs, location IDs, or other identifiers retrieved from another Nexla data source — for example, iterating over a list of user IDs to retrieve wages for each employee.

  1. To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.

  2. Type { at the appropriate position in the API URL, and select the lookup column-based macro from the dropdown list. Lookup-based macros are automatically populated into the macro list when a lookup is selected in the Add Lookups to Supported Macros pulldown menu.

Path to Data

Optional

If only a subset of the data that will be returned by the API endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response. This is particularly useful when API responses contain metadata, pagination information, or other data that you don't need for your analysis.

For example, 7shifts API responses typically return data nested under a data key, along with pagination metadata under a meta key. By entering the path to the relevant data, you can configure Nexla to treat each element of the returned array as a record.

Path to Data is essential for 7shifts API responses since all payload data is nested under the data key. Without specifying the correct path, Nexla might not be able to properly parse and organize your data into usable records.

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.

    • For list endpoints that return arrays of records, enter $.data[*] to access each element of the data array as a separate record.

    • For single-object endpoints that return a single record (such as Get Company or Get User), enter $.data to access the data object directly.

    Path to Data Example:

    For a 7shifts list endpoint that returns a JSON response with a top-level data array, enter $.data[*] in the Set Path to Data in Response field to treat each element of the array as a record.

Autogenerate Path Suggestions

Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.

  • To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content & format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.

  • Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.

    PathSuggestions.png

Metadata

If metadata is included in the response but is located outside of the defined path to relevant data, you can configure Nexla to include this data as common metadata in each record. This is useful when you want to preserve important contextual information that applies to all records but isn't part of the main data array.

For example, 7shifts API responses include a meta object that may contain pagination cursors, total record counts, or other contextual information. If you have specified $.data[*] as the path to relevant data, you can additionally specify $.meta as a metadata path to include this pagination context with each record in the generated Nexset(s).

Metadata paths are particularly useful for preserving 7shifts API response context like pagination cursors, total record counts, or request timestamps that apply to all records in the response.

  • To specify the location of metadata that should be included with each record, enter the path to the relevant metadata in the Path to Metadata in Response field.

    • For 7shifts responses, the metadata is typically located at $.meta. Enter this JSON path to include pagination and summary metadata alongside each data record.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2). Additional headers are often required for API versioning, content type specifications, or custom authentication requirements.

    You do not need to include the Authorization header here — it is automatically added by Nexla using the Bearer token from your 7shifts credential. Common headers like Authorization, Content-Type, and Accept are typically handled automatically by Nexla based on your credential configuration.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new 7shifts data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.