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.

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
- 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
-
Ensure you have a Deputy account with administrative access. Deputy offers a free trial that can be used for integration development and testing.
-
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.
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.
-
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 -
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.
-
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.
-
Click Save this OAuth Client to save the client record.
-
On the OAuth Client detail page, click the Get an Access Token button to generate a permanent token for this Deputy install.
-
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.
-
Sign up for a Deputy developer account or trial at https://www.deputy.com/.
-
Navigate to the OAuth clients page for your Deputy install:
https://{installname}.{geo}.deputy.com/exec/devapp/oauth_clients -
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).
-
Click Save this OAuth Client to create the application. The Client ID and Client Secret will be displayed in the application summary.
-
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
-
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
-
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
-
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
- Permanent Token
- OAuth 2.0
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.
- 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.
- 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`).
Authenticate using OAuth 2.0 with a Client ID and Client Secret registered in Deputy's developer portal. This method supports multi-user access and is appropriate for applications that need to act on behalf of different Deputy users.
- Enter the **Client ID** from your Deputy OAuth application in the **Client ID** field. This identifier was generated when you created the OAuth client in your Deputy install.
- Enter the **Client Secret** from your Deputy OAuth application in the **Client Secret** field. Keep this value confidential, as it is used to verify your application's identity with Deputy.
- Enter the base URL of your Deputy install in the **Install URL** field, using the format `https://{installname}.{geo}.deputy.com`.
- Complete the OAuth 2.0 authorization flow by clicking the **Authorize** button. You will be redirected to Deputy to grant access, and then returned to Nexla with an active token.
- 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.
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.