Skip to main content

Deputy

Deputy is a cloud-based workforce management platform designed for businesses with hourly and shift-based workforces. It provides scheduling, time and attendance tracking, leave management, tasking, and communication tools in a single platform. Deputy integrates with more than 300 payroll, POS, and HR systems—including ADP, Xero, QuickBooks, Gusto, and Square—making it a central hub for operational workforce data. Its REST API exposes resources including employees, locations, areas, schedules (rosters), timesheets, leave requests, tasks, and operational units, enabling integrations that sync staffing data with payroll processors, business intelligence tools, and enterprise HR systems. Deputy is widely used across retail, hospitality, healthcare, logistics, and franchises seeking to automate scheduling and streamline compliance with labor regulations.

Deputy icon

Power end-to-end data operations for your Deputy API with Nexla. Our bi-directional Deputy connector is purpose-built for Deputy, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Deputy or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Deputy workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Deputy provides two authentication methods for API access: a Permanent Token and OAuth 2.0. Both methods require access to a Deputy account with appropriate administrative permissions.

Deputy Account Setup

  1. Ensure you have a Deputy account with administrative access. Deputy offers a free trial that can be used for integration development and testing.

  2. Contact api@deputy.com if you need to extend the duration of a trial account for ongoing development purposes.

Obtain a Permanent Token

A permanent token provides a straightforward way to authenticate API requests without requiring OAuth 2.0 authorization flows. This method is well-suited for server-to-server integrations where a single Deputy install is being accessed.

Important

The permanent token is displayed only once during generation. Store it in a secure location immediately, as it cannot be retrieved again after the dialog is closed.

  1. Sign in to your Deputy account and navigate to the OAuth clients page by opening the following URL in your browser, replacing {installname} with your Deputy install name and {geo} with your geographic region (e.g., na, eu, au):

    https://{installname}.{geo}.deputy.com/exec/devapp/oauth_clients

  2. Click the New OAuth Client button to open the new OAuth Client form. Even when generating a permanent token, an OAuth client record must be created first.

  3. Enter the following details in the form:

    • Name: Enter a descriptive name for this integration (e.g., "Nexla Integration").
    • Description: Enter a brief description of the integration's purpose.
    • Logo URL: Optionally enter a URL to a logo image for the application.
  4. Click Save this OAuth Client to save the client record.

  5. On the OAuth Client detail page, click the Get an Access Token button to generate a permanent token for this Deputy install.

  6. A dialog will appear displaying the generated permanent token. Copy the token and store it in a secure location immediately before clicking OK, as it will not be displayed again.

Obtain OAuth 2.0 Credentials

OAuth 2.0 authentication is appropriate for integrations that need to access Deputy on behalf of multiple users or organizations. This method requires a Client ID and Client Secret that identify your application to Deputy.

  1. Sign up for a Deputy developer account or trial at https://www.deputy.com/.

  2. Navigate to the OAuth clients page for your Deputy install:

    https://{installname}.{geo}.deputy.com/exec/devapp/oauth_clients

  3. Click the New OAuth Client button and complete the following fields:

    • Name: Enter the name of your application as it will be displayed to users during authorization.
    • Description: Enter a description that will be shown to users when they authorize your application.
    • Logo URL: Optionally provide a URL to your application's logo.
    • Redirect URI: Enter the redirect URI that Deputy will use to return the authorization code after user consent (e.g., the Nexla OAuth callback URL).
  4. Click Save this OAuth Client to create the application. The Client ID and Client Secret will be displayed in the application summary.

  5. Copy and securely store the Client ID and Client Secret for use when creating the Nexla credential.

For complete information about Deputy's OAuth 2.0 authentication flow, refer to the Deputy OAuth 2.0 documentation.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Deputy supports two authentication methods in Nexla. Select the method that matches how you obtained your credentials in Prerequisites, and follow the steps below to configure the associated settings.

Deputy Authentication Methods

Authenticate using a permanent access token generated from your Deputy install's OAuth clients page. This method is well-suited for server-to-server integrations accessing a single Deputy organization.

  1. Enter the permanent token generated from your Deputy OAuth clients page in the **Access Token** field. This token provides direct API access to your Deputy install and should be stored securely.
  2. Enter the base URL of your Deputy install in the **Install URL** field. This URL follows the format `https://{installname}.{geo}.deputy.com`, where `{installname}` is your Deputy install name and `{geo}` is your geographic region (e.g., `na`, `eu`, or `au`).
  1. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.

Use as a data source

The Deputy connector enables you to ingest workforce management data—including employees, timesheets, schedules, leave requests, locations, and operational units—into Nexla data flows. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Deputy connector tile, then select the credential that will be used to connect to the Deputy instance, and click Next; or, create a new Deputy credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Deputy endpoints. 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.

List Employees

This endpoint returns a list of all employees in the Deputy system, including profile, role, and employment details. Use it to sync employee records to HR systems, build headcount reports, or maintain a roster of your workforce.

  • Sends a GET request to /api/v1/supervise/employee on your Deputy instance URL.
  • Response data is extracted from $.data[*]. Each record contains employee name, contact information, employment type, position, and location assignments.

The Deputy API base URL is specific to your installation: https://{installname}.{geo}.deputy.com. Ensure your credential is configured with the correct base URL for your Deputy account.

Employees

This endpoint returns a list of all employees in the Deputy system via the resource API path. Use it as an alternative to the supervise endpoint when you need to access the full Employee resource schema with all available fields.

  • Sends a GET request to /api/v1/resource/Employee.
  • Response data is extracted from $.data[*]. Each record represents an employee resource object in the Deputy system.

List Locations

This endpoint returns a list of all company locations (sites) configured in Deputy. Use it to build location reference datasets, analyze staffing across sites, or synchronize location data with other systems.

  • Sends a GET request to /api/v1/resource/Company.
  • Response data is extracted from $.data[*]. Each record contains the location name, address, timezone, and operational status.

List Departments

This endpoint returns a list of all operational units (departments or areas) in the Deputy organization. Use it to build department hierarchies, map staffing to cost centers, or synchronize org structure data.

  • Sends a GET request to /api/v1/resource/OperationalUnit.
  • Response data is extracted from $.data[*]. Each record contains the operational unit name, parent company, and associated employee data.

List My Timesheets

This endpoint returns a list of timesheets for the currently authenticated user. Use it to retrieve the logged-in user's time records for payroll verification, self-service reporting, or integration with personal productivity tools.

  • Sends a GET request to /api/v1/my/timesheets.
  • Response data is extracted from $.data[*]. Each record contains shift start/end times, break duration, approved status, and the associated location and department.

This endpoint returns data scoped to the authenticated user's credentials. To retrieve timesheets for all employees, use the /api/v1/resource/Timesheet endpoint in manual configuration.

List My Tasks

This endpoint returns a list of tasks assigned to the currently authenticated user in Deputy. Use it to retrieve pending work items for the logged-in user.

  • Sends a GET request to /api/v1/my/tasks.
  • Response data is extracted from $.data[*]. Each record contains the task description, due date, and completion status.

List News Feed

This endpoint returns memos and news items from the authenticated user's Deputy news feed. Use it to extract internal communications or announcements posted to the Deputy platform.

  • Sends a GET request to /api/v1/my/memo.
  • Response data is extracted from $.data[*]. Each record contains the memo subject, content, author, and publication date.

List Awards Library

This endpoint returns a list of all awards available in the Deputy payroll awards library. Use it to retrieve pay rate definitions and award configurations for payroll analysis or compliance documentation.

  • Sends a GET request to /api/v1/payroll/listAwardsLibrary.
  • Response data is extracted from $.data[*]. Each record contains award name, pay type, rate multipliers, and applicable conditions.

List Addresses

This endpoint returns a list of all addresses stored in the Deputy system. Use it to retrieve address records associated with employees, locations, or contacts for data quality audits or address standardization workflows.

  • Sends a GET request to /api/v1/resource/Address.
  • Response data is extracted from $.data[*]. Each record contains street, city, state, postcode, and country fields.

List Categories

This endpoint returns a list of all categories defined in the Deputy system. Use it to retrieve category reference data for classification, reporting, or mapping purposes.

  • Sends a GET request to /api/v1/resource/Category.
  • Response data is extracted from $.data[*].

List Comments

This endpoint returns a list of all comments recorded in the Deputy system. Use it to retrieve annotation and note data associated with schedules, timesheets, or other Deputy objects.

  • Sends a GET request to /api/v1/resource/Comment.
  • Response data is extracted from $.data[*]. Each record contains the comment text, the object it is attached to, and the author.

List Company Periods

This endpoint returns a list of all company periods (pay periods or reporting periods) in the Deputy system. Use it to retrieve period definitions for payroll processing, reporting alignment, or period-based data segmentation.

  • Sends a GET request to /api/v1/resource/CompanyPeriod.
  • Response data is extracted from $.data[*]. Each record contains the period start/end dates, associated company, and period type.

List Employee Agreements

This endpoint returns a list of all employee agreements in the Deputy system, including employment contract details and pay rate configurations. Use it to audit employment terms, support payroll compliance, or synchronize agreement data with HRIS systems.

  • Sends a GET request to /api/v1/resource/EmployeeAgreement.
  • Response data is extracted from $.data[*]. Each record contains the employee ID, agreement type, pay rate, employment type, and effective dates.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Deputy data sources can also be manually configured to ingest data from any valid Deputy API endpoint—including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. The Deputy REST API base URL follows the pattern https://{installname}.{geo}.deputy.com/api/v1. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Common Deputy API endpoints include:

  • Employees: https://{installname}.{geo}.deputy.com/api/v1/resource/Employee
  • Timesheets: https://{installname}.{geo}.deputy.com/api/v1/resource/Timesheet
  • Rosters (Schedules): https://{installname}.{geo}.deputy.com/api/v1/resource/Roster
  • Leave Requests: https://{installname}.{geo}.deputy.com/api/v1/resource/Leave
  • Locations: https://{installname}.{geo}.deputy.com/api/v1/resource/Company
  • Operational Units (Areas): https://{installname}.{geo}.deputy.com/api/v1/resource/OperationalUnit

The Deputy API is a RESTful JSON API. Most data retrieval operations use GET requests. For complete information about available endpoints and their HTTP methods, refer to the Deputy API documentation.

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 Deputy resources and endpoint patterns, refer to the Deputy API reference documentation.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Deputy 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.

Use as a destination

Click the + icon on the Nexset that will be sent to the Deputy destination, and select the Send to Destination option from the menu. Select the Deputy connector from the list of available destination connectors, then select the credential that will be used to connect to the Deputy organization, and click Next; or, create a new Deputy credential for use in this flow.

Manual configuration

Deputy destinations can be manually configured to send data to any valid Deputy API endpoint. The Deputy REST API accepts JSON-formatted data at endpoints following the pattern https://{installname}.{geo}.deputy.com/api/v1/resource/{ResourceName}, where {installname} is your Deputy install name, {geo} is your geographic region (e.g., na, eu, or au), and {ResourceName} is the Deputy resource type (e.g., Employee, Timesheet, Roster). Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Common Deputy API write endpoints include:

  • Create Employee: https://{installname}.{geo}.deputy.com/api/v1/resource/Employee
  • Update Employee: https://{installname}.{geo}.deputy.com/api/v1/resource/Employee/{id}
  • Create Timesheet: https://{installname}.{geo}.deputy.com/api/v1/resource/Timesheet
  • Create Roster: https://{installname}.{geo}.deputy.com/api/v1/resource/Roster
  • Create Leave Request: https://{installname}.{geo}.deputy.com/api/v1/resource/Leave

The Deputy API uses standard HTTP methods for data operations. Use POST to create new records, PUT to fully replace existing records, and PATCH for partial updates. Each Deputy resource endpoint follows a consistent RESTful pattern. For complete information about supported methods per resource, refer to the Deputy API documentation.

The Deputy API expects data in JSON format. Select JSON as the content format to ensure compatibility with Deputy API endpoints. For update or upsert operations, include the ID of the Deputy record to be updated at the end of the URL.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Deputy endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Deputy API until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.