.png)
TriNet Integration Guide
Integrate TriNet HR, payroll, benefits, and workforce data with enterprise applications through OAuth 2.0-secured REST APIs and scheduled Martini workflows.
TriNet integration options at a glance
TriNet provides REST-oriented APIs for accessing HR, payroll, benefits, time-off, and workforce-management data. API access is secured with OAuth 2.0 and depends on application approval, scopes, tenant permissions, product entitlement, and available resources. Martini can consume TriNet JSON responses, paginate through collections, apply validation and business rules, and map data into downstream applications or databases. General webhook coverage is not confirmed, so scheduled workflows are an important synchronization option when change notifications are unavailable. Product-specific bulk, asynchronous, report, or file-export capabilities must be verified with TriNet before implementation.
| Integration point | Supported by TriNet? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | Retrieve Companies, Employees, Payroll, Benefits, Time Off, and applicable Time and Attendance data; submit supported workforce transactions where enabled by the customer’s TriNet package. | Martini can consume TriNet REST endpoints from workflows, process JSON responses, paginate collections, transform fields, apply business rules, and expose a controlled API façade. |
| Webhooks / outbound callbacks | Limited | TriNet event subscriptions or callbacks may be available for selected products or events, but general availability and event coverage were not confirmed. | Martini can receive and process TriNet notifications when the required product exposes them; otherwise scheduled polling can provide synchronization. |
| Bulk / async / batch APIs | Limited | Product-specific bulk, asynchronous, payroll, or reporting capabilities may exist, but broad support across TriNet resources was not confirmed. | Martini can orchestrate bounded batch retrieval and processing when TriNet exposes the relevant endpoint, while preserving checkpoints and retry state. |
| File or report exports | Limited | Customer-specific reports or exports may be available, but no general-purpose TriNet file-transfer or attachment API was confirmed. | Martini can process supported files when an approved TriNet delivery mechanism is established, but the export format and transport must be verified first. |
| OAuth 2.0 authentication | Yes | Authenticate registered applications using TriNet-issued credentials, authorization flows, scopes, and employer or tenant permissions. | Martini can keep credentials and tokens in protected environment configuration or secrets and use authenticated REST requests in workflows. |
| Database access | No | Direct access to TriNet-managed production databases was not confirmed and should not be assumed. | Martini can consume approved TriNet APIs or exports and write synchronized data to a customer-controlled SQL database for reporting or downstream use. |
How TriNet exposes data and business events
TriNet REST APIs
TriNet’s developer platform provides REST-oriented access to HR and workforce data. Available resources and operations depend on the customer’s product entitlement, application approval, scopes, and employer-level permissions. Responses should be treated as product-specific JSON contracts rather than a universal model available to every TriNet tenant.
Martini implementation pattern
Martini authenticates with OAuth 2.0, invokes the required TriNet endpoint from a workflow, follows the vendor’s pagination and filtering behavior, validates the response, and maps the result into a canonical or target model. The workflow can expose a separate Martini API when downstream applications should not depend directly on TriNet resource details.
Implementation sequence
TriNet webhook-style notifications
TriNet webhook or callback support was not confirmed as generally available. Event subscriptions may exist for selected products or events, so coverage must be verified for the customer’s API package before using an event-driven design.
Martini implementation pattern
When TriNet provides a supported callback, Martini can expose an API endpoint to receive the notification, validate its authenticity and payload, retrieve the current TriNet resource if necessary, and invoke downstream processing. If no callback exists, a scheduled Martini workflow should poll supported endpoints instead.
Implementation sequence
Scheduled TriNet synchronization
Scheduled synchronization is the conservative default when TriNet does not expose notifications for a required object. It is suitable for Employees, Companies, Payroll, Benefits, Time Off, and other resources where the API supports retrieval and usable filters or change markers.
Martini implementation pattern
Martini starts a workflow on a defined schedule, reads the last successful checkpoint, retrieves eligible TriNet pages, processes each page, and advances the checkpoint only after successful handling. Rate limits, transient failures, and permanent validation errors are treated separately.
Implementation sequence
Common TriNet integration patterns
Pattern 1: Synchronize employees to identity and service systems
When to use this pattern
Use this pattern to keep workforce identity and service-management records aligned with TriNet employment data. It is appropriate when TriNet is the source for hire, status, department, manager, or termination information and downstream systems need controlled lifecycle actions.
Integration direction
Example Mapping
| TriNet Field | Canonical Field | Target Field |
|---|---|---|
| employeeId | worker.identifier | employeeNumber |
| employmentStatus | worker.lifecycleStatus | active / inactive |
| department | organization.department | department |
| managerId | organization.managerIdentifier | manager reference |
Martini implementation pattern
A scheduled workflow retrieves changed Employees and related Companies, follows pagination, validates stable identifiers, filters sensitive fields, and applies hire, change, and termination rules. It performs idempotent updates to Microsoft Entra ID or ServiceNow, records checkpoints after successful pages, and routes permission, validation, and transient API failures separately.
Martini capabilities used
- workflows
- API consumption
- OAuth 2.0 configuration
- data mapping
- business rules
- error handling
Pattern 2: Deliver finalized payroll data to finance
When to use this pattern
Use this pattern when finance requires approved TriNet payroll results, labor costs, or payroll summaries in an accounting platform. The workflow should distinguish finalized runs from drafts and preserve correction, reversal, and off-cycle information where available.
Integration direction
Example Mapping
| TriNet Field | Canonical Field | Target Field |
|---|---|---|
| payrollRunId | payroll.runIdentifier | externalPayrollRunId |
| payPeriodEndDate | payroll.periodEnd | postingPeriod |
| earnings | payroll.grossEarnings | grossAmount |
| taxes | payroll.taxAmount | taxAmount |
Martini implementation pattern
Martini retrieves supported Payroll resources or reports, validates pay-period and run status, maps earnings, deductions, taxes, and accounting dimensions, and submits only approved data to NetSuite. Idempotency keys based on payroll-run and employee identifiers prevent duplicate delivery, while corrections and rejected totals are routed for review.
Martini capabilities used
- workflows
- API consumption
- data mapping
- validation
- business rules
- retry handling
Pattern 3: Synchronize benefits and effective-dated coverage
When to use this pattern
Use this pattern when a downstream benefits, HR, or finance application needs current or future-dated TriNet enrollment and coverage information. It is especially important when effective dates differ from API retrieval dates.
Integration direction
Example Mapping
| TriNet Field | Canonical Field | Target Field |
|---|---|---|
| employeeId | worker.identifier | workerId |
| planId | benefit.planIdentifier | planCode |
| coverageStatus | benefit.coverageStatus | enrollmentStatus |
| effectiveDate | benefit.effectiveFrom | effectiveFrom |
Martini implementation pattern
A scheduled Martini workflow retrieves entitled Benefits data, minimizes fields to the approved business purpose, preserves effective-from and effective-to values, and applies enrollment and eligibility rules before writing to Workday. The workflow uses stable identifiers for upserts and isolates unknown status values for controlled mapping updates.
Martini capabilities used
- scheduled workflows
- API consumption
- data mapping
- privacy filtering
- validation
- error handling
Pattern 4: Synchronize time-off requests and balances
When to use this pattern
Use this pattern when scheduling, project, or workforce-planning applications need TriNet Time Off requests, balances, or approval states. It can also support approved write-back scenarios where TriNet permissions and operations allow them.
Integration direction
Example Mapping
| TriNet Field | Canonical Field | Target Field |
|---|---|---|
| timeOffRequestId | absence.requestIdentifier | externalRequestId |
| employeeId | absence.workerIdentifier | employeeReference |
| startDate | absence.startDate | startDate |
| approvalStatus | absence.status | workflowStatus |
Martini implementation pattern
Martini polls supported Time Off resources, maps requests and balances, validates date ranges and approval states, and creates or updates Jira workflow data without duplicating requests. If write-back is enabled, separate business rules and authorization checks prevent unapproved changes from being submitted to TriNet.
Martini capabilities used
- scheduled workflows
- API consumption
- data mapping
- business rules
- idempotency
- error handling
Applications commonly integrated with TriNet
TriNet data can be incorporated into broader workforce, identity, finance, and service-management processes. The following are practical enterprise integration targets; specific TriNet resources, permissions, and ownership decisions should be confirmed for each implementation.
| Application | Scenario | Direction | Martini Pattern |
|---|---|---|---|
| Salesforce | Keep employee, manager, or account-owner information aligned with HR data and support workforce-related business processes. | TriNet → Martini → Salesforce | A scheduled Martini workflow retrieves changed Employees and Companies, maps stable identifiers and employment attributes, applies ownership rules, and performs idempotent Salesforce upserts with retry handling. |
| ServiceNow | Support joiner, mover, and leaver workflows while maintaining HR or IT service context. | TriNet → Martini → ServiceNow | Martini retrieves employee status changes, validates required identity fields, maps them to ServiceNow records, and routes deactivation or data-quality exceptions for operational review. |
| NetSuite | Send payroll summaries, labor costs, employee dimensions, or approved workforce data to finance and accounting. | TriNet → Martini → NetSuite | A workflow retrieves finalized Payroll results, preserves pay-period and payroll-run identifiers, validates totals, transforms accounting dimensions, and submits controlled NetSuite updates. |
| Workday | Exchange employee or organizational data when TriNet and Workday are used for different HR functions. | TriNet → Martini → Workday | Martini orchestrates an ownership-aware synchronization, compares effective dates and source identifiers, applies field-level mapping, and prevents conflicting updates between systems. |
| Microsoft Entra ID | Automate workforce identity provisioning and deprovisioning using employment status and lifecycle changes. | TriNet → Martini → Microsoft Entra ID | A scheduled workflow reads Employees, evaluates hire, change, and termination rules, minimizes sensitive fields, and sends approved lifecycle actions to Microsoft Entra ID with checkpointing. |
| Okta | Trigger workforce identity lifecycle actions based on employee hires, changes, and terminations. | TriNet → Martini → Okta | Martini polls supported TriNet employee changes, maps the stable worker identifier and status, invokes Okta lifecycle operations, and records results for replay-safe processing. |
| Jira | Reflect employee or organizational information in project, access, or onboarding workflows. | TriNet → Martini → Jira | Martini transforms approved employee and organizational attributes into Jira workflow inputs, applies privacy filtering, and handles rejected or duplicate requests separately. |
| ADP | Exchange payroll or employee information when an organization operates across multiple HR or payroll platforms. | TriNet → Martini → ADP | A governed Martini workflow exchanges only agreed data, preserves source ownership and payroll-run keys, validates corrections and reversals, and prevents circular updates. |
How to build a TriNet integration in Martini
Objective
Establish TriNet API access using an approved application, OAuth 2.0 credentials, scopes, tenant identifiers, and environment-specific configuration.
Instructions in Martini
- Confirm TriNet application approval, grant type, scopes, and employer permissions.
- Store client credentials and token configuration in protected Martini secrets or environment configuration.
- Use separate approved credentials for testing and production where available.
Objective
Select an event-driven or scheduled initiation strategy based on the TriNet product’s confirmed capabilities.
Instructions in Martini
- Use a TriNet callback only when the required event and subscription are confirmed.
- Otherwise configure a scheduler trigger for periodic synchronization.
- Define the required frequency and checkpoint behavior with the data owner.
Objective
Call the entitled TriNet REST resources and safely retrieve complete, current data sets.
Instructions in Martini
- Invoke the required REST endpoint with OAuth 2.0 authentication.
- Handle pagination without assuming a fixed page size.
- Use supported filters, update timestamps, effective dates, or change markers when available.
Objective
Coordinate retrieval, validation, transformation, target writes, checkpointing, and exception paths in one maintainable Martini workflow.
Instructions in Martini
- Separate authentication, retrieval, transformation, target delivery, and error branches.
- Advance checkpoints only after successful processing.
- Keep vendor-specific logic isolated from canonical and target models.
Objective
Convert TriNet JSON structures into the target application’s model while protecting sensitive HR and payroll information.
Instructions in Martini
- Map stable TriNet identifiers to canonical keys.
- Normalize status values, dates, effective periods, and organizational fields.
- Transfer only the fields required for the approved business purpose.
Objective
Apply ownership, lifecycle, payroll-finality, privacy, and validation rules before writing downstream data.
Instructions in Martini
- Distinguish finalized payroll from drafts, corrections, and reversals.
- Handle hires, changes, future-dated benefits, and terminations explicitly.
- Reject incomplete or unknown enumerated values into an operational review path.
Common TriNet data objects used in integrations
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Companies | Represent employer or customer organizations managed in TriNet and provide organizational context for worker data. | Salesforce, Workday, ServiceNow, SQL databases | Martini retrieves Companies where entitled, normalizes identifiers and organizational attributes, and uses them as reference data for downstream mappings. |
| Employees | Store worker profiles, employment status, identifiers, job information, and contact details. | Microsoft Entra ID, Okta, Salesforce, ServiceNow, Workday | Martini uses stable TriNet employee identifiers for idempotent upserts, filters sensitive fields, handles pagination, and applies lifecycle rules for hires and terminations. |
| Payroll | Represent payroll runs, results, earnings, deductions, taxes, and related pay information. | NetSuite, accounting platforms, SQL databases, reporting systems | Martini preserves payroll-run and pay-period identifiers, distinguishes finalized data from corrections, validates totals, and prevents duplicate delivery. |
| Benefits | Represent benefit plans, employee elections, coverage, enrollment, eligibility, and effective dates. | Benefits administration platforms, Workday, finance systems, SQL databases | Martini transfers only required coverage and eligibility fields, preserves effective dating, and applies least-privilege and privacy rules. |
| Time Off | Represent time-off balances, requests, accruals, approvals, and absences. | Jira, workforce-planning applications, scheduling systems, Workday | Martini synchronizes requests and balances, maps approval states, uses stable identifiers, and applies duplicate and date-range validation. |
| Time and Attendance | Represent time entries, schedules, or attendance information where included in the subscribed TriNet product and API package. | NetSuite, workforce-planning applications, SQL databases | Martini processes this object only when enabled, maps time and effective-date fields, validates totals, and routes unsupported or malformed entries for review. |
Authentication and security considerations
OAuth 2.0 and application approval
TriNet API access is documented around OAuth 2.0. Application registration, client credentials, authorization flows, scopes, employer-level permissions, tenant identifiers, and token refresh behavior must be confirmed during onboarding.
Least-privilege data access
Employee, payroll, benefits, tax, and banking-related information may be highly sensitive. Use the minimum required scopes and transfer only fields required for the approved business purpose.
Protected configuration
Martini can store credentials and environment-specific configuration in protected secrets and should use separate approved settings for testing and production. Sensitive payloads should not be written to unrestricted logs.
Operational considerations for TriNet integrations
Limits and pagination
Confirm TriNet rate limits and pagination behavior for each resource. Use bounded concurrency, retry delays, and backoff for HTTP 429 and transient 5xx responses.
Checkpoints and idempotency
Store synchronization checkpoints only after successful processing. Use stable TriNet identifiers and payroll-run keys for idempotent upserts rather than names or email addresses alone.
Payroll and effective dates
Payroll corrections, reversals, off-cycle runs, future-dated benefits, and effective-date changes require explicit handling. Preserve source dates and processing status rather than relying only on retrieval time.
Schema and testing
Treat optional fields and enumerated values defensively, monitor for schema changes, and test with approved non-production data or isolated environments before enabling production synchronization.
Why use Martini instead of scripts or point-to-point integrations?
Orchestration instead of isolated scripts
Martini coordinates authentication, retrieval, pagination, transformation, validation, target writes, checkpoints, and exception handling in maintainable workflows.
Stable contracts and reusable logic
Martini can expose an API façade and reusable integration logic so downstream applications do not each implement TriNet-specific OAuth, resource mappings, and retry behavior.
Controlled change and operations
Centralized mappings, business rules, protected configuration, monitoring, and error paths make it easier to adapt when TriNet resources, permissions, or target requirements change.
Frequently asked questions
TriNet can be integrated through its OAuth 2.0-secured REST APIs for supported HR, payroll, benefits, time-off, and workforce data. Organizations should confirm the available resources, operations, scopes, tenant permissions, and product entitlement with TriNet. Where callbacks are not available, scheduled API synchronization with pagination and checkpoints is the conservative approach.
Yes. Martini can integrate with TriNet by consuming its REST APIs from workflows, authenticating with OAuth 2.0, mapping TriNet JSON into target models, and applying validation and business rules. If a required TriNet product exposes callbacks, Martini can also receive and process those notifications.
No. A dedicated TriNet connector is not required. Martini can integrate through TriNet’s confirmed REST API and OAuth 2.0 authentication, with webhook or callback processing only where TriNet exposes those mechanisms for the required product and event.
Lonti does not charge an additional per-connector or per-vendor fee to integrate TriNet. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from TriNet, cloud infrastructure, or other third-party systems based on subscription, usage, and deployment model.
The primary method is TriNet’s REST API with OAuth 2.0. Scheduled synchronization is appropriate when callbacks are unavailable. Bulk or asynchronous resources, report exports, and file delivery should be used only when confirmed for the customer’s TriNet product package. No official GraphQL or current SOAP API was confirmed.
General TriNet webhook coverage was not confirmed. Some products or API packages may provide event subscriptions or callbacks, but each required event must be verified. If notifications are unavailable, Martini can poll supported endpoints on a schedule using pagination and vendor-supported change markers.
Martini can retrieve TriNet collections, follow pagination, use supported incremental filters, and store a checkpoint after successful processing. It maps objects such as Employees, Payroll, Benefits, and Time Off into canonical and target models, preserves stable identifiers and effective dates, and applies privacy and business rules before downstream writes.
Martini can separate authentication, permission, validation, rate-limit, and transient vendor errors. Retryable 429 and 5xx responses can use bounded backoff, while permanent data errors can be routed for review. Stable TriNet identifiers, payroll-run keys, and idempotent upserts help prevent duplicate processing.
Yes. Martini can expose a controlled REST API that hides TriNet-specific authentication, resource details, mappings, and business rules from downstream applications. The façade can provide a stable internal contract while workflows retrieve or submit supported TriNet data behind it.
Related Martini documentation
Workflows
Data processing
Connect TriNet with your enterprise systems
Use Martini to build secure, maintainable TriNet integrations for HR, payroll, benefits, time-off, and workforce data.