Justworks 2.0
Visualize your Justworks company and workforce in the JupiterOne graph. Ingest the Justworks company/organization and its members — employees and contractors — mapping each member to the company and to their manager, and enriching members with job title, department, office, and employment details. Monitor your identity and org structure through queries and alerts.
- Installation
- Authorization
- Data Model
- Types
- Release Notes
Installation
The Justworks integration ingests your Justworks company and workforce using the Justworks Partner API (https://public-api.justworks.com/v1). It reads your company/organization (/company) and members (/members) to build a graph of the company, its employees and contractors, and the manager relationships between them. Because JupiterOne is not a Justworks partner, this integration uses a customer-provided credentials model: you obtain your own OAuth application from Justworks and supply its credentials to JupiterOne.
Prerequisites
- A Justworks account with administrator access.
- A Justworks OAuth application (
client_idandclient_secret). Creating an OAuth application for the Partner API is not self-service — you must request one from Justworks. See the Justworks Partner API documentation for details. - A refresh token obtained by completing the one-time OAuth authorization (see below). Justworks refresh tokens are valid for 30 days.
- Access to JupiterOne with permission to configure integrations.
Obtaining Justworks credentials
- Request an OAuth application from Justworks for your company and note the issued Client ID and Client Secret.
- Grant the application the read scopes this integration uses:
company.basic:readandcompany.detail:read— company profile, including the company legal name.member.basic:read,member.detail:read, andmember.employment:read— members, including their emails, manager, member type, and employment details.
- Complete the one-time authorization at
https://payroll.justworks.com/oauth/authorize(OAuth 2.0 Authorization Code flow) to obtain an initial refresh token. JupiterOne exchanges this refresh token for short-lived access tokens athttps://public-api.justworks.com/oauth/token.
Justworks refresh tokens expire after 30 days. If an integration instance is idle for more than 30 days, the refresh token expires and you must re-authorize to generate a new one and update the instance configuration.
Configuration in JupiterOne
To install the Justworks integration in JupiterOne, navigate to the Integrations tab in JupiterOne and select Justworks. Click New Instance to begin configuring your integration.
Creating an instance requires the following:
-
The Account Name used to identify the Justworks account in JupiterOne. Ingested entities will have this value stored in
tag.AccountNamewhen theAccountNametoggle is enabled. -
Description to assist in identifying the integration instance, if desired.
-
Polling Interval that you feel is sufficient for your monitoring needs. You may leave this as
DISABLEDand manually execute the integration. -
Your Justworks Client ID — the OAuth client ID issued by Justworks. This field is required.
-
Your Justworks Client Secret — the OAuth client secret issued by Justworks. This field is required.
-
Your Justworks Refresh Token — the refresh token obtained from the authorization flow above. This field is required.
-
Optionally, an API Base URL to override the default Justworks API endpoint (
https://public-api.justworks.com/v1). Leave this blank unless instructed otherwise by Justworks or JupiterOne support.
Click Create once all values are provided to finalize the integration.
Next steps
Now that your integration instance has been configured, it will begin running on the polling interval you provided, populating data within JupiterOne. Continue on to our Instance management guide to learn more about working with and editing integration instances.
OAuth Scopes
OAuth scopes that must be granted to the application or service principal.
Show OAuth Scopes (5)
company.basic:readcompany.detail:readmember.basic:readmember.detail:readmember.employment:read
Endpoints
API endpoints that the integration makes requests to.
Show Endpoints (2)
https://public-api.justworks.com/v1/companyhttps://public-api.justworks.com/v1/members
Documentation Links
Links to provider documentation relevant to setup and configuration.
Show Documentation Links (1)
Per-Step Breakdown
Detailed authorization requirements for each ingestion step.
Show all steps (1)
| Step | OAuth Scopes | Endpoints |
|---|---|---|
| Fetch Members | member.basic:read, member.detail:read, member.employment:read | https://public-api.justworks.com/v1/members |
Entities
The following entities are created:
| Resources | Entity _type | Entity _class |
|---|---|---|
| Account | justworks_account | Account |
| Company | justworks_company | Organization |
| Member | justworks_user | User |
Relationships
The following relationships are created:
Source Entity _type | Relationship _class | Target Entity _type |
|---|---|---|
justworks_account | HAS | justworks_company |
justworks_company | HAS | justworks_user |
justworks_user | MANAGES | justworks_user |
Justworks Account
justworks_account inherits from Account
Justworks Company
justworks_company inherits from Organization
| Property | Type | Description | Specifications |
|---|---|---|---|
countryCodes * | array | null | ISO 3166-1 alpha-2 country codes of the company's addresses. | |
departmentNames * | array | null | Names of the departments defined within the company. | |
legalName * | string | null | The registered legal name of the company. | |
officeNames * | array | null | Names of the offices defined within the company. |
Justworks User
justworks_user inherits from User
| Property | Type | Description | Specifications |
|---|---|---|---|
companyId * | string | null | The identifier of the company the member belongs to. | |
dateAddedToJustworksOn * | number | null | Timestamp (epoch ms) when the member was added to Justworks. | |
departmentName * | string | null | Name of the department the member belongs to. | |
employmentLocationType * | string | null | Location type where the member works (office or remote). | |
employmentStartOn * | number | null | Timestamp (epoch ms) when the member's employment started. | |
employmentTerminationOn * | number | null | Timestamp (epoch ms) when the member's employment was terminated. | |
jobTitle * | string | null | The member's job title. | |
managerName * | string | null | Full preferred name of the member's manager. The link to the manager is modeled by the justworks_user_manages_user relationship. | |
memberType * | string | null | The Justworks member type (e.g. full_time_employee, contractor). | |
officeName * | string | null | Name of the office the member belongs to. | |
phoneNumbers * | array | null | The member's phone numbers in E.164 format. | |
workId * | string | null | The employer-assigned work identifier of the member. |
Release Notes
- 2026-07-15 — Added initial Justworks integration, ingesting accounts, companies, and users with their relationships.