7shifts

Connect & Ingest data from 7shifts

7shifts is a restaurant workforce management platform providing scheduling, time tracking, labor compliance, and team communication tools. The Sling 7shifts connector extracts data from the 7shifts REST API (v2), supporting companies, locations, employees, shifts, time punches, and configuration data.

circle-check

Setup

The following credentials and inputs are accepted:

Secrets:

  • access_token (required) -> Your 7shifts API v2 access token

Inputs:

  • company_id (required) -> Your 7shifts company ID (used for child endpoints that iterate over users or locations)

  • anchor_date (optional) -> The starting date for historical data extraction on first sync (default: 1 year ago). Format: YYYY-MM-DD

Getting Your Credentials

  1. Go to Company Settings > Developer Tools > Access Tokens

  2. Click Create Access Token

  3. Give the token a name (e.g., "Sling Integration")

  4. Copy the generated access token

  5. To find your Company ID, look at the URL when logged in: https://app.7shifts.com/company/{company_id}/...

circle-exclamation

Using sling conns

Environment Variable

Sling Env File YAML

See here to learn more about the sling env.yaml file.

With anchor date for historical data:

Replication

Here's an example replication configuration to sync 7shifts data to a PostgreSQL database:

Sync all endpoints:

Endpoints

Company & Organization

Endpoint
Description
Incremental

companies

Companies accessible by the token

Yes (modified_since)

locations

Locations for each company

Yes (modified_since)

departments

Departments for each company

Yes (modified_since)

roles

Roles for each company

Yes (modified_since)

Users & Assignments

Endpoint
Description
Incremental

users

Employees and managers

Yes (modified_since)

user_wages

Wage records for each user (child)

No

user_assignments

Role/location assignments for each user (child)

No

Scheduling & Time Tracking

Endpoint
Description
Incremental

shifts

Scheduled shifts

Yes (modified_since)

time_punches

Clock in/out records

Yes (modified_since)

shift_feedback

Post-shift feedback from employees

No (date-range)

Sales & Receipts

Endpoint
Description
Incremental

receipts

Sales receipts per location

Yes (modified_since, 90-day max)

Time Off & Availability

Endpoint
Description
Incremental

time_off

Time off requests

No

availabilities

Employee availability records

No

availability_reasons

Availability reason codes

No

Events & Log Book

Endpoint
Description
Incremental

events

Schedule events (holidays, meetings)

No (date-range)

log_book_categories

Log book category definitions

No

log_book_posts

Log book posts

No

Task Management

Endpoint
Description
Incremental

task_management_settings

Task management configuration

No

task_list_templates

Task list templates

No

Settings

Endpoint
Description
Incremental

labor_settings

Labor compliance settings

No

inactive_reasons

Inactive status reason codes

No

day_part_settings

Day part configuration

No

tip_pool_settings

Tip pool settings

No

To discover available endpoints:

Incremental Sync

The 7shifts connector supports incremental sync for core data endpoints using modified_since filtering:

  • companies, locations, departments, roles, users — Fetches records modified since the last sync

  • shifts, time_punches — Fetches records modified since the last sync (or anchor_date on first run)

  • receipts — Fetches receipts modified since last sync (limited to 90 days lookback)

Anchor Date

On the first sync, incremental endpoints use the anchor_date input (default: 1 year ago) as the starting point. The receipts endpoint is limited to 90 days lookback by the API.

Child Endpoints

The user_wages and user_assignments endpoints use a queue-based pattern:

  1. First, the users endpoint runs and collects user IDs

  2. Then, child endpoints iterate through the queue to fetch data for each user

This means you should run the users endpoint before user_wages or user_assignments in your replication.

Similarly, receipts and events iterate over location IDs collected by the locations endpoint.

Rate Limiting

The 7shifts API allows up to 600 requests per minute. The connector automatically:

  • Uses conservative rate limiting (8 requests/second)

  • Retries with exponential backoff on rate limit responses (HTTP 429)

  • Retries on server errors (HTTP 5xx)

If you are facing issues connecting, please reach out to us at [email protected]envelope, on discordarrow-up-right or open a Github Issue herearrow-up-right.

Last updated

Was this helpful?