Deputy

Deputy is a workforce management platform for scheduling and time tracking.

Overview

Deputy is a workforce-management platform covering rostering, time and attendance, leave, and labour costing. It is widely used in retail, hospitality, healthcare, and any business where shift-based scheduling and payroll-ready timesheets matter.

In Spojit, Deputy is most often used as a source of rostering and timesheet data. Workflows pull rosters into project boards for visibility, export approved timesheets to CSV for payroll, alert teams when shifts change, and feed scheduling patterns into AI analyses. The connector can also write back: creating new employees during onboarding or recording leave on behalf of automation.

What You Can Do

The Deputy connector exposes these tools:

  • create-employee - create a new employee record.
  • create-leave - record a leave request against an employee.
  • get-employee - fetch a single employee by id.
  • get-timesheet - fetch a single timesheet by id.
  • list-employees - list employees with pagination.
  • list-leave - list leave records, optionally filtered by employee or date.
  • list-locations - list configured locations (areas) in the account.
  • list-rosters - list scheduled shifts within a date range.
  • list-timesheets - list timesheets within a date range and status.
  • raw-api-request - call any Deputy API endpoint directly.

Authentication

Deputy supports OAuth 2.0 or a permanent access token. For workflows, a permanent access token from Account Settings -> Integrations -> API is the simplest option. You will also need your Deputy install's subdomain (for example, company.au.deputy.com) because Deputy is multi-region. Tokens inherit the user's permissions; create them from an admin account that can see every location you need.

Setting Up Your Connection

  1. In Deputy, open Account Settings -> Integrations -> API.
  2. Generate a permanent access token (or set up an OAuth app if you prefer scoped access).
  3. Note your install's full subdomain (for example, company.au.deputy.com).
  4. In Spojit, go to Connections from the sidebar.
  5. Click + Add Connection and search for Deputy.
  6. Paste the access token and the subdomain, name the connection (for example, Deputy - AU) and click Save.
  7. Run list-locations in a test workflow to confirm the token resolves the right account.

Using in a Workflow

Use Direct Mode for the high-volume reads: list-rosters and list-timesheets over a fixed date range. Use Agent Mode when an AI step needs to summarise scheduling patterns or decide which employees to notify. For endpoints not covered by the dedicated tools (custom award rules, journals, kiosks), use raw-api-request.

Tips

  • Deputy times are returned in the location's timezone, not UTC; convert at read time with the date tools if you mix locations.
  • Use list-rosters with a tight date range; an unbounded query can return tens of thousands of rows.
  • Timesheet status matters: only approved timesheets are payroll-ready.
  • Employee records have both a DisplayName and a FirstName/LastName; downstream systems often want the latter.
  • The Deputy API uses upsert-style endpoints for many writes via raw-api-request; check the docs before assuming a separate update endpoint exists.

Common Pitfalls

  • The subdomain region (au, na, uk) is part of the API host; using the wrong one returns a confusing 404.
  • Permanent access tokens are tied to the user that created them; if that user is deactivated, the token stops working.
  • Leave requests created via the API still need the configured approval workflow to apply payroll impact.
  • The roster endpoint returns scheduled shifts, not worked hours; pair with timesheets for actuals.
  • Rate limits are not aggressive but bulk operations can trip them; batch and back off on 429.

Common Use Cases

Related Articles

For technical API details and field specifications, see the Deputy connector documentation.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.