Ellipse Gradient for Header
NetSuite SuitePeople logo

NetSuite SuitePeople Integration Guide

Integrate SuitePeople workforce data through NetSuite REST Web Services, SuiteTalk SOAP, RESTlets, CSV exchanges, analytics access, and selected outbound callbacks.

NetSuite SuitePeople integration options at a glance

SuitePeople functionality is exposed through the NetSuite account and its enabled features, roles, permissions, and configured records. NetSuite REST Web Services provides the primary JSON interface for supported Employee, Time-Off Request, Timesheet, and related records. SuiteTalk SOAP remains useful for WSDL-based integrations and selected operations, while RESTlets support account-specific logic. CSV import and export provide batch exchange, and SuiteAnalytics Connect supports analytical access rather than transactional updates. Selected SuiteScript, workflow, and RESTlet designs can provide outbound callback behavior, but NetSuite does not offer a universal webhook stream for every SuitePeople event. Martini can orchestrate these methods through authenticated workflows, mappings, validation, retries, and monitoring.

Integration pointSupported by NetSuite SuitePeople?Common use casesHow Martini supports it
REST APIsYesNetSuite REST Web Services provides record-oriented JSON operations for supported Employee, Time-Off Request, Timesheet, and other account-enabled records. It is the primary interface to evaluate for new integrations.Martini can consume the REST API from workflows, store credentials in secure configuration, map JSON payloads, apply business rules, and handle pagination, retries, and response errors.
SOAP APIsYesSuiteTalk SOAP Web Services exposes NetSuite records and operations through WSDL-based services. It remains useful for existing SOAP clients, generated bindings, or operations not available through REST.Martini can consume SOAP services, transform XML request and response structures, and orchestrate SOAP calls with validation and fault handling.
RESTletsYesRESTlets are custom SuiteScript HTTP endpoints for account-specific validation, combined operations, or behavior not directly available through standard REST Web Services.Martini can call a RESTlet as an authenticated API endpoint and treat its contract as a reusable workflow boundary, subject to the RESTlet deployment and role permissions.
Webhooks / outbound callbacksLimitedSuiteScript, workflows, RESTlets, and outbound HTTPS requests can provide selected notifications or callbacks, but NetSuite has no universal webhook stream for every SuitePeople event.Martini can receive configured webhook-style requests and then retrieve the current NetSuite record, deduplicate the notification, and continue processing through a workflow.
Bulk / async / batch APIsLimitedSuiteTalk supports asynchronous processing for selected operations. CSV processing and scheduled scripts provide additional batch approaches for larger or less time-sensitive exchanges.Martini can orchestrate bounded batches, queue work, process asynchronous results, and record checkpoints and rejected rows.
CSV import and exportYesCSV exchange supports batch employee updates and file-based workforce data exchange when real-time API operations are unnecessary or unavailable.Martini can receive or retrieve files, validate headers and rows, transform CSV data, submit results, and preserve processing outcomes for rejected records.
Database / analytics accessYesSuiteAnalytics Connect provides analytical access through supported ODBC, JDBC, or ADO.NET methods and is intended primarily for reporting and read-oriented analysis.Martini can consume analytical data through supported database connectivity or coordinate extracts, while keeping transactional updates on REST or SOAP services.
AuthenticationYesNetSuite documents OAuth 2.0, token-based authentication, and other account-dependent methods. Integration records, scopes, roles, and record permissions are all relevant.Martini can manage environment-specific credentials and secrets and use authenticated API workflows without placing tokens or sensitive employee data in workflow logs.

How NetSuite SuitePeople exposes data and business events

NetSuite REST APIs

NetSuite REST Web Services exposes record-oriented JSON operations for supported NetSuite records. For SuitePeople, the available Employee, Time-Off Request, Timesheet, payroll-related, and custom fields depend on enabled features, account configuration, roles, and permissions.

Martini implementation pattern

Martini implementation pattern: a workflow authenticates to the REST service, retrieves or receives the required record data, maps it to a canonical model, applies business rules, and writes to the target system. The workflow can maintain a synchronization watermark and handle pagination, rate responses, validation failures, and retries.

Implementation sequence

Authenticate with the configured NetSuite integration credentials
Retrieve a paginated or incrementally filtered set of records
Validate account-specific fields and required identifiers
Map the NetSuite JSON payload to the target model
Apply status, ownership, and effective-date rules
Write the result and persist the synchronization checkpoint

SuiteTalk SOAP APIs

SuiteTalk SOAP Web Services provides WSDL-based access to NetSuite records and operations. It remains relevant when an existing integration uses generated SOAP bindings or when a needed operation is available through SOAP.

Martini implementation pattern

Martini implementation pattern: Martini consumes the SOAP service, transforms XML messages, invokes the selected operation, and routes SOAP faults according to whether they represent authentication, validation, permission, throttling, or transient service failures.

Implementation sequence

Load the approved SuiteTalk service configuration
Authenticate with the NetSuite role and permitted service
Construct the XML request from the canonical integration model
Invoke the selected SOAP operation
Parse the response or SOAP fault
Persist the result and retry only eligible transient failures

RESTlet callbacks

RESTlets are custom SuiteScript HTTP endpoints that can expose account-specific logic. SuiteScript and related automation can also issue outbound HTTPS requests, enabling selected callback patterns rather than a universal SuitePeople event stream.

Martini implementation pattern

Martini implementation pattern: Martini receives a configured callback or calls a RESTlet, verifies the request context, retrieves the authoritative record when necessary, and deduplicates notifications before applying downstream processing. Coverage depends on the NetSuite implementation.

Implementation sequence

Receive the configured callback or invoke the RESTlet endpoint
Authenticate and validate the request context
Identify the affected NetSuite record and event type
Retrieve the current record when the notification is incomplete
Apply idempotency and status-transition rules
Route the result to the target workflow or exception queue

CSV import and export

NetSuite supports CSV import and export for supported records. This method is useful for batch employee, time-off, or time-entry exchange when real-time APIs are not required or a legacy target requires files.

Martini implementation pattern

Martini implementation pattern: a scheduled or file-triggered workflow validates the CSV structure, transforms rows into the target format, submits or produces the file, and records row-level outcomes. Invalid rows are separated from successfully processed records.

Implementation sequence

Retrieve or receive the source CSV file
Validate headers, encoding, required fields, and row structure
Map employee or workforce columns to the target model
Apply identifier, date, and status validation
Submit or generate the transformed file
Record accepted, rejected, and retried rows

SuiteAnalytics Connect

SuiteAnalytics Connect provides analytical access through supported database drivers and account-specific schemas. It is intended primarily for reporting and read-oriented extraction rather than transactional Employee or Time-Off Request updates.

Martini implementation pattern

Martini implementation pattern: Martini can execute controlled analytical reads, transform the results, and deliver them to reporting or downstream stores. Transactional writes remain routed through supported REST, SOAP, RESTlet, or file mechanisms.

Implementation sequence

Open the configured analytical connection
Execute a permission-scoped and paginated query
Transform the analytical result into the reporting model
Apply date, subsidiary, and employee filters
Write the extract to the target store
Record query watermark and processing status

Common NetSuite SuitePeople integration patterns

Pattern 1: Synchronize employees with an HR platform

When to use this pattern

Use this pattern when NetSuite SuitePeople or another HR platform owns employee master data and the other system requires current worker profiles, organizational relationships, and employment status. A scheduled incremental query is usually more predictable than relying on incomplete event coverage.

Integration direction
NetSuite SuitePeople
Martini
Workday
Example Mapping
NetSuite SuitePeople FieldCanonical FieldTarget Field
internalIdsourceEmployeeIdnetSuiteWorkerReference
externalIdemployeeKeyworkerId
employmentStatusemploymentStatusworkerStatus
subsidiaryorganizationUnitcompanyCode
Martini implementation pattern

Martini retrieves Employees using a saved search, REST query, or supported service with pagination and a persisted modified-date watermark. It normalizes identifiers and dates, enriches organizational references, applies create-versus-update rules, and retries eligible transient failures while sending permission, validation, and duplicate errors to an exception path.

Martini capabilities used
  • workflows
  • API consumption
  • scheduling
  • data mapping
  • business rules
  • error handling

Pattern 2: Synchronize approved time-off requests

When to use this pattern

Use this pattern when approved, rejected, or canceled Time-Off Requests must be shared with payroll, workforce scheduling, or reporting systems. Because event coverage is partial, the design can combine selected callbacks with periodic reconciliation.

Integration direction
NetSuite SuitePeople
Martini
ADP Workforce Now
Example Mapping
NetSuite SuitePeople FieldCanonical FieldTarget Field
employeeemployeeKeyworkerId
timeOffTypeleaveTypeabsenceType
startDateabsenceStartstartDate
statusapprovalStatusrequestStatus
Martini implementation pattern

Martini receives a configured callback where available or polls incrementally for changed requests. It retrieves the authoritative record, maps date ranges and configured statuses, ignores duplicate notifications, and sends only approved or otherwise permitted states to the target. Rejected status mappings and incomplete employee references are routed for review.

Martini capabilities used
  • workflows
  • webhook consumption
  • API consumption
  • data mapping
  • idempotency
  • error handling

Pattern 3: Exchange timesheets and payroll-related data

When to use this pattern

Use this pattern when Timesheets or permitted payroll-related employee and pay records must be delivered to payroll, finance, or project accounting. It is appropriate for controlled batch processing where the data is sensitive and period rules matter.

Integration direction
NetSuite SuitePeople
Martini
ADP Workforce Now
Example Mapping
NetSuite SuitePeople FieldCanonical FieldTarget Field
employeeemployeeKeyworkerId
dateworkDatepayDate
hoursworkedHoursregularHours
classificationcostClassificationearningOrCostCode
Martini implementation pattern

A Martini workflow retrieves records in bounded pages or batches, validates pay period and classification values, minimizes sensitive fields, transforms the payload, and submits it to the target API or file process. It records batch results, prevents duplicate submissions, and retries only transient transport or service errors.

Martini capabilities used
  • workflows
  • API consumption
  • batch processing
  • data mapping
  • validation
  • monitoring

Pattern 4: Run a file-based workforce exchange

When to use this pattern

Use this pattern when a legacy or high-volume target requires CSV and the required SuitePeople data can be exported or imported through supported NetSuite file processes. It provides a controlled alternative to real-time record calls.

Integration direction
NetSuite SuitePeople
Martini
Jira
Example Mapping
NetSuite SuitePeople FieldCanonical FieldTarget Field
externalIdemployeeKeyaccountId
dateentryDateworklogDate
hourstimeQuantitytimeSpent
departmentorganizationalUnitprojectContext
Martini implementation pattern

Martini retrieves or receives the CSV, validates structure and required values, maps rows to the target format, and submits the result. Row-level failures are retained for correction, while successful rows are checkpointed. A reconciliation step compares accepted rows with the source batch.

Martini capabilities used
  • scheduled workflows
  • file processing
  • data mapping
  • validation
  • business rules
  • error handling

Applications commonly integrated with NetSuite SuitePeople

SuitePeople data can participate in broader HR, payroll, service-management, finance, and workforce processes. The exact system of record and direction should be defined for each object because these relationships are typically enterprise architecture patterns rather than guaranteed native SuitePeople pairings.

Application Scenario Direction Martini Pattern
Workday Synchronize employee master data, organizational structures, worker status, and HR changes between the systems. Workday → Martini → NetSuite SuitePeople Martini can consume Workday data, normalize employee identifiers and organization fields, apply ownership rules, and upsert NetSuite Employee records using REST Web Services or SOAP. Validation, checkpoints, and retry handling protect against duplicate or partial updates.
ADP Workforce Now Exchange employee, payroll, tax, benefits, or time data when ADP performs payroll processing and NetSuite supports financial operations. NetSuite SuitePeople → Martini → ADP Workforce Now A Martini workflow retrieves permitted employee, timesheet, or payroll-related data, minimizes sensitive fields, maps the payload to ADP requirements, and routes validation or authorization failures separately from transient service errors.
Salesforce Align employee, owner, or operational information where Salesforce supports customer-facing processes and NetSuite is the financial or workforce platform. NetSuite SuitePeople → Martini → Salesforce Martini can retrieve approved Employee attributes, transform them into Salesforce user or ownership data where appropriate, and expose a controlled API for downstream requests. Stable identifiers and idempotent updates prevent duplicate provisioning.
ServiceNow Synchronize employee identity, department, manager, and employment status for onboarding, access management, service requests, and employee workflows. NetSuite SuitePeople → Martini → ServiceNow Martini polls or receives a configured callback for relevant changes, maps employee and organizational fields to ServiceNow, applies status rules, and records the NetSuite internal ID alongside the ServiceNow identifier.
Shopify Support broader NetSuite commerce and operational processes where employee data or ownership references are needed alongside orders, customers, inventory, and fulfillment. Shopify → Martini → NetSuite SuitePeople Martini should keep SuitePeople employee synchronization separate from commerce flows, using reusable identity mappings and explicit field allowlists where employee references are required.
Jira Synchronize employee identity or project time information where Jira supports engineering work management and NetSuite supports financial or time accounting. Jira → Martini → NetSuite SuitePeople A scheduled Martini workflow retrieves approved Jira time or identity data, maps users and projects to NetSuite identifiers, validates period and classification fields, and submits supported Timesheet data with retry and duplicate controls.
Coupa Align employee, department, cost-center, requester, approval, expense, and procurement data between Coupa and NetSuite. NetSuite SuitePeople → Martini → Coupa Martini can synchronize approved organizational and employee reference data, apply system-of-record rules, transform cost-center relationships, and route rejected records to an operational exception process.

How to build a NetSuite SuitePeople integration in Martini

Objective

Establish the NetSuite account, integration record, role, permissions, scopes, and environment-specific credentials required for the selected service.

Instructions in Martini

  • Choose OAuth 2.0 or token-based authentication according to the NetSuite service and account guidance.
  • Store client credentials, tokens, and secrets in secure Martini configuration.
  • Confirm permissions for Employee, Time-Off Request, Timesheet, payroll-related records, subsidiaries, and required services.

Objective

Select a trigger based on event coverage, data volume, and the required freshness of the integration.

Instructions in Martini

  • Use a scheduled workflow for predictable incremental polling and reconciliation.
  • Use a configured callback only for selected SuiteScript or workflow events that the NetSuite account implements.
  • Use a file trigger when the exchange is CSV-based.

Objective

Read the authoritative NetSuite resource or file while respecting account-specific schemas, pagination, and service limits.

Instructions in Martini

  • Use REST Web Services first for supported JSON record operations.
  • Use SuiteTalk SOAP or a RESTlet where the integration requirement justifies it.
  • Persist a modified-date, effective-date, or batch watermark after successful processing.

Objective

Coordinate retrieval, enrichment, validation, target calls, checkpoints, and exception routing in a maintainable Martini workflow.

Instructions in Martini

  • Separate transport failures from business and permission failures.
  • Use bounded batches and controlled concurrency for larger employee or time-entry datasets.
  • Retrieve the current record after a callback when the notification does not contain authoritative data.

Objective

Convert SuitePeople records into a canonical model and then into the target application or file structure.

Instructions in Martini

  • Preserve NetSuite internal IDs, external IDs, source identifiers, and synchronization timestamps.
  • Normalize dates, status values, subsidiaries, departments, locations, and classifications.
  • Minimize payroll and other sensitive fields to the approved integration purpose.

Objective

Enforce account-specific approval, ownership, effective-date, duplicate, and status-transition rules before writing data.

Instructions in Martini

  • Do not treat creation of a Time-Off Request or Employee Change Request as approval.
  • Use external identifiers and idempotent upsert logic to prevent duplicate Employees or requests.
  • Route unknown statuses, missing references, and read-only fields to an exception process.

Common NetSuite SuitePeople data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
EmployeeSynchronize worker profiles, employment status, supervisor, subsidiary, department, location, contact details, and employment dates.Workday, ADP Workforce Now, ServiceNow, Salesforce, CoupaMartini preserves internal and external identifiers, validates account-specific fields, maps organizational relationships, and applies idempotent create or update logic.
Time-Off RequestExchange vacation, sick leave, personal leave, approval status, cancellation, and date-range information.ADP Workforce Now, Workday, workforce scheduling platforms, reporting storesMartini maps status transitions explicitly, distinguishes new requests from changes, and prevents duplicate processing of repeated notifications or polling results.
Time-Off BalanceShare accrued, used, available, or remaining leave amounts where the configured SuitePeople records expose them.Workday, ADP Workforce Now, employee portals, reporting storesMartini treats balances as account-specific data, validates effective dates and employee keys, and routes unavailable or permission-restricted fields to exceptions.
TimesheetExchange employee time entries associated with dates, projects, customers, tasks, or classifications.ADP Workforce Now, Jira, finance systems, project accounting platformsMartini validates periods and classifications, batches records when appropriate, maps internal IDs, and separates business validation failures from transient service failures.
Employee Change RequestRepresent requests to change selected employee or employment information through an approval process.ServiceNow, Workday, approval and reporting platformsMartini distinguishes requested, approved, rejected, and completed states and does not treat creation as equivalent to approval.
Payroll-related employee and pay recordsSupport employee payroll information and payroll processing data when SuitePeople Payroll and the relevant permissions are enabled.ADP Workforce Now, finance systems, reporting storesMartini applies field minimization, strict role and secret controls, limited logging, and account-specific schema validation before transferring sensitive data.

Authentication and security considerations

Authentication and authorization

NetSuite documents OAuth 2.0 and token-based authentication for applicable services, with other methods depending on account and integration requirements. Authentication is configured through NetSuite integration records, credentials, tokens, scopes, and roles.

Access to SuitePeople data also depends on record permissions, subsidiaries, enabled features, service permissions, and account-specific configuration. Martini should store credentials and tokens in secure environment configuration rather than workflow content.

  • Use least-privilege NetSuite roles for Employee, Time-Off Request, Timesheet, payroll-related, REST, SOAP, RESTlet, and analytics access.
  • Minimize payroll, compensation, health-related, tax, and other sensitive fields transferred between systems.
  • Keep personally identifiable information and credentials out of ordinary workflow logs.
  • Use separate read and write permissions where practical and test authorization in the target account.

Operational considerations for NetSuite SuitePeople integrations

Operational controls

NetSuite applies account- and service-dependent request, concurrency, and governance limits. Use pagination, bounded batches, controlled concurrency, exponential backoff, and persisted synchronization watermarks.

Design Employee, Time-Off Request, Timesheet, and payroll-related flows for idempotency. Preserve internal IDs and external IDs, distinguish transport retries from business failures, and validate approval and effective-date transitions explicitly.

  • Test account-specific fields, custom forms, workflows, scripts, saved searches, permissions, and RESTlet contracts.
  • Separate authentication, permission, validation, duplicate, rate, record-not-found, and service failures.
  • Monitor records read, created, updated, skipped, rejected, retried, and the current checkpoint.
  • Test attachments and File Cabinet behavior separately from ordinary JSON operations.

Why use Martini instead of scripts or point-to-point integrations?

Maintainable integration orchestration

Point-to-point scripts often combine authentication, record retrieval, transformation, business rules, retries, and monitoring in a single implementation. Martini separates these concerns into workflows, APIs, mappings, reusable logic, and secure configuration.

Martini can combine REST, SOAP, RESTlet, callback, CSV, and analytical access patterns while presenting a consistent process to downstream systems. This is useful when SuitePeople coverage varies by account or when an integration must support both event-style notifications and scheduled reconciliation.

  • Centralize mappings, validation, status rules, and identifier management.
  • Support scheduled, callback-driven, batch, and API-led workflows in one integration environment.
  • Provide consistent error routing, retry behavior, checkpointing, and operational visibility.
  • Expose a controlled API façade when consumers should not depend directly on NetSuite contracts.

Frequently asked questions

How can NetSuite SuitePeople be integrated with enterprise systems?

SuitePeople is accessed through the NetSuite account using REST Web Services, SuiteTalk SOAP Web Services, RESTlets, CSV import and export, and SuiteAnalytics Connect for analytical access. Selected SuiteScript and workflow designs can provide outbound callbacks, but NetSuite does not offer a universal webhook stream for every SuitePeople object. The available records and fields depend on account configuration, enabled features, roles, and permissions.

Can Martini integrate with NetSuite SuitePeople?

Yes. Martini can integrate with SuitePeople by consuming NetSuite REST Web Services or SuiteTalk SOAP Web Services, calling RESTlets, processing CSV files, receiving configured callback requests, and using supported analytical access for read-oriented workloads. Martini can orchestrate workflows, map data, apply business rules, and manage retries without requiring a documented native SuitePeople connector.

Do I need a connector to integrate NetSuite SuitePeople with Martini?

No. A dedicated NetSuite SuitePeople connector is not required. Martini can use NetSuite's confirmed REST, SOAP, RESTlet, CSV, analytics, authentication, and selected outbound integration mechanisms through workflows and APIs.

Is there any extra Lonti cost to integrate NetSuite SuitePeople with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate NetSuite SuitePeople. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from NetSuite, cloud infrastructure, or other third-party systems depending on subscription, usage, and deployment model.

Which NetSuite SuitePeople integration method should a new implementation use?

REST Web Services is generally the first interface to evaluate for new JSON-based integrations and supported record operations. SOAP may be appropriate for existing SuiteTalk clients, generated WSDL bindings, or operations not available through REST. RESTlets are useful when account-specific SuiteScript logic or combined operations are required.

Does NetSuite SuitePeople provide webhooks or event notifications?

Not as a universal native event stream for every Employee, Time-Off Request, Timesheet, or payroll event. Selected outbound behavior can be implemented through SuiteScript, workflows, RESTlets, or HTTPS callbacks. For predictable coverage, Martini can poll supported records or searches incrementally and reconcile changes.

How does synchronization work for SuitePeople data?

A Martini workflow can retrieve records using pagination and a modified-date, effective-date, saved-search, or batch watermark. It preserves NetSuite internal and external identifiers, maps account-specific fields, applies status and approval rules, and writes to the target system. Late changes, overlapping windows, and retries should be handled through checkpoints and idempotent updates.

How are mapping, errors, retries, and duplicates handled?

Martini can transform JSON, XML, or CSV data into canonical and target models, validate required fields, and route business failures separately from transient service failures. Upserts based on stable external identifiers, stored internal IDs, and idempotency keys help prevent duplicates. Rate, concurrency, and temporary service errors can be retried with bounded backoff.

Can Martini expose an API façade for NetSuite SuitePeople?

Yes. Martini can expose a controlled API that hides NetSuite-specific contracts, applies authorization and validation, and invokes REST, SOAP, or RESTlet workflows behind the interface. This can provide a stable contract to consuming applications while keeping NetSuite roles, identifiers, and account-specific behavior inside the integration layer.