Ellipse Gradient for Header

Trimble Viewpoint Integration Guide

Trimble Viewpoint integrates with enterprise systems primarily through product-specific REST APIs secured by Trimble Identity and OAuth 2.0, with selected callback, batch, file, and export options.

Trimble Viewpoint integration options at a glance

Trimble Viewpoint integrations should begin by identifying whether the customer uses Vista, Viewpoint For Projects, Trimble Construction One, or another product and module. REST APIs are the primary option for new integrations, with endpoint and object coverage varying by product, tenant, and entitlement. Trimble Identity and OAuth 2.0 are the expected authentication model. Selected products may provide webhook-style notifications, batch capabilities, or file and attachment operations, but these are not uniform across the Viewpoint family. Martini can consume the applicable APIs, schedule incremental polling, process pagination, map construction data, apply business rules, and expose APIs for downstream applications.

Integration pointSupported by Trimble Viewpoint?Common use casesHow Martini supports it
REST APIsYesPrimary mechanism for retrieving and updating product-specific Viewpoint resources such as Projects, Jobs, Companies, Contacts, Employees, and Invoices where exposed. Coverage varies by Vista, Viewpoint For Projects, Trimble Construction One, module, and API version.Martini can consume the applicable Trimble REST API from workflows, manage request configuration, paginate through responses, transform payloads, and write results to enterprise targets.
AuthenticationYesTrimble developer APIs generally use Trimble Identity and OAuth 2.0, with application registration, redirect configuration, scopes, tenant authorization, and product permissions.Martini can store client credentials and tokens in protected configuration, call OAuth-protected endpoints, and separate environment-specific secrets from workflow data.
Webhooks / outbound callbacksLimitedSome Trimble products may provide event notifications or callbacks, but coverage is product-specific and should not be assumed for every Viewpoint object or event.Martini can receive webhook-style notifications where the selected API supports them, retrieve the current resource, deduplicate deliveries, and invoke downstream workflows.
Bulk / async / batch APIsLimitedBatch capabilities may exist for selected construction APIs or modules, but there is no confirmed universal Viewpoint bulk API.Martini can call documented batch endpoints or orchestrate paginated REST requests in bounded batches when bulk operations are unavailable.
File / attachment APIsLimitedViewpoint products may manage project documents and attachments, but a single product-wide attachment API was not confirmed.Martini can coordinate supported document metadata or file operations and can route officially supported exports or transfers when the selected product exposes them.
Scheduled synchronizationYesScheduled polling is an important fallback when callbacks are unavailable or incomplete, using modified-time filters, change tokens, or other documented incremental mechanisms.Martini can schedule workflows, persist watermarks, use overlap windows, paginate safely, and run periodic reconciliation for missed or deleted objects.
Database / analytics accessNot confirmedDirect database access is not a general hosted Viewpoint integration mechanism. Some Vista deployments may have separately licensed or deployment-specific database options.Martini can connect to databases when an approved deployment exposes one, but API and supported export integration should be preferred over direct application-database queries.
SOAP APIsNot confirmedSOAP or web-service interfaces may exist in selected legacy or product-specific environments, but current general Viewpoint support was not verified.Martini can consume SOAP services when the customer confirms an applicable endpoint, contract, and authentication model; it should not be selected by default.

How Trimble Viewpoint exposes data and business events

Trimble Viewpoint REST APIs

REST is the expected primary integration mechanism for new Trimble construction and Viewpoint application integrations. Available resources, operations, and object names differ across Vista, Viewpoint For Projects, Trimble Construction One, modules, tenants, and API versions.

Martini implementation pattern

Martini implementation pattern: configure OAuth-protected REST calls for the confirmed Viewpoint API, retrieve pages or individual resources, transform the response into a canonical model, apply validation and business rules, and write to downstream systems or expose a controlled Martini API.

Implementation sequence

Confirm the Viewpoint product, API version, tenant, and required resources
Obtain Trimble Identity OAuth 2.0 access using approved scopes and permissions
Retrieve resources using documented filters and pagination
Map the response into the canonical enterprise model
Apply validation, ownership, and duplicate-prevention rules
Write the result to the target system and persist a synchronization watermark

Scheduled Viewpoint synchronization

Scheduled polling is a practical synchronization method when the selected Viewpoint API does not provide callbacks or provides incomplete event coverage. The workflow should use documented modified-time filters, change tokens, or other incremental mechanisms where available.

Martini implementation pattern

Martini implementation pattern: run a scheduler-triggered workflow with a persisted last-successful watermark, include an overlap window for clock skew and delayed updates, process pages in bounded batches, and run reconciliation for missed or deleted objects.

Implementation sequence

Start the workflow on a defined schedule
Load the last-successful watermark and synchronization scope
Request modified Viewpoint objects using supported filters
Process pages with bounded concurrency and checkpointing
Upsert target records using stable Viewpoint identifiers
Store the new watermark and report unresolved items for replay

Viewpoint webhook-style notifications

Webhook or outbound callback support is product-specific. Some Trimble products may expose notifications, but a general event model for all Viewpoint Projects, Jobs, Companies, Invoices, and Employees was not verified.

Martini implementation pattern

Martini implementation pattern: expose a receiving endpoint or workflow trigger when the selected product supports callbacks, validate the notification, deduplicate it, retrieve the current resource when the payload contains only an identifier, and use scheduled reconciliation as a safety net.

Implementation sequence

Confirm supported subscriptions, objects, event types, signatures, and retry behavior
Receive the notification through a Martini endpoint or workflow trigger
Validate the source, tenant, event type, and delivery identifier
Retrieve the current Viewpoint resource when required
Apply idempotent mapping and downstream business rules
Acknowledge or record the delivery and reconcile missed events periodically

Viewpoint batch and file operations

Selected Trimble APIs or modules may provide batch, asynchronous, document, or attachment operations. These capabilities are not universal across the Viewpoint product family and must be confirmed for the target resource.

Martini implementation pattern

Martini implementation pattern: use documented batch or file endpoints when available, otherwise coordinate paginated API calls or supported exports, validate content and metadata, and maintain checkpoints for large transfers.

Implementation sequence

Verify the applicable batch, export, document, or attachment operation
Create a bounded batch or retrieve the supported export
Validate file type, size, revision, and resource ownership
Transform metadata and content references for the target
Transfer or persist the result with an audit identifier
Retry failed items independently and reconcile the batch outcome

Common Trimble Viewpoint integration patterns

Pattern 1: Sync Viewpoint projects to a CRM

When to use this pattern

Use this pattern when project ownership, customer information, contacts, and delivery status must remain aligned between Trimble Viewpoint and Salesforce or Microsoft Dynamics 365. It is suitable for callback-enabled products or scheduled incremental synchronization.

Integration direction
Trimble Viewpoint
Martini
Salesforce
Example Mapping
Trimble Viewpoint FieldCanonical FieldTarget Field
Project.idproject.externalIdExternal Viewpoint Project ID
Project.nameproject.nameProject Name
Company.idcustomer.externalIdAccount External ID
Project.statusproject.statusProject Status
Martini implementation pattern

A Martini workflow retrieves modified Projects, Companies, and Contacts using the confirmed Viewpoint API, resolves ownership and account relationships, validates required fields, and upserts CRM records. Stable external IDs, an overlap window, and a reconciliation workflow prevent duplicates and missed changes; failed writes are recorded for bounded retry.

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

Pattern 2: Send Viewpoint jobs and invoices to an ERP

When to use this pattern

Use this pattern for consolidated financial reporting, billing reconciliation, or project-margin analysis when the selected Viewpoint API exposes Jobs and Invoices. It is primarily a Viewpoint-to-NetSuite or Viewpoint-to-SAP flow.

Integration direction
Trimble Viewpoint
Martini
NetSuite
Example Mapping
Trimble Viewpoint FieldCanonical FieldTarget Field
Job.idjob.externalIdJob External ID
Job.codejob.codeJob Number
Invoice.statusinvoice.statusTransaction Status
Invoice.totalinvoice.totalAmountTotal
Martini implementation pattern

Martini retrieves incremental Jobs and Invoices, maps job codes, accounting periods, tax, retention, currency, and approval status, then applies rules for valid periods and known companies before writing to the ERP. The workflow checkpoints each page or object, handles rate limits with backoff, and routes rejected invoices for replay without repeating successful records.

Martini capabilities used
  • API consumption
  • workflow orchestration
  • pagination
  • data transformation
  • validation
  • retry handling

Pattern 3: Synchronize Viewpoint employees with Workday

When to use this pattern

Use this pattern when employee identities, employment status, or project assignments must be shared between Workday and a Viewpoint product that exposes Employees or related assignment data. Privacy and permission boundaries should be defined before implementation.

Integration direction
Workday
Martini
Trimble Viewpoint
Example Mapping
Trimble Viewpoint FieldCanonical FieldTarget Field
Employee.employeeIdemployee.externalIdEmployee External ID
Employee.nameemployee.displayNameEmployee Name
Employee.statusemployee.employmentStatusStatus
Employee.projectAssignmentemployee.assignmentProject Assignment
Martini implementation pattern

Martini consumes approved Workday changes, maps only required employee fields, matches Viewpoint Employees using controlled identifiers, and applies termination and assignment rules before updating Viewpoint. Secrets and personal data remain protected, while failed or ambiguous matches are isolated for review.

Martini capabilities used
  • API consumption
  • data mapping
  • field filtering
  • business rules
  • secure configuration
  • error handling

Pattern 4: Coordinate Viewpoint documents with Trimble Connect

When to use this pattern

Use this pattern when the selected Viewpoint product exposes document or attachment operations and project teams need aligned metadata or files in Trimble Connect. The applicable file API, permissions, revision model, and conflict rules must be confirmed first.

Integration direction
Trimble Viewpoint
Martini
Trimble Connect
Example Mapping
Trimble Viewpoint FieldCanonical FieldTarget Field
Project.idproject.externalIdProject External ID
Document.namedocument.fileNameFile Name
Document.revisiondocument.revisionRevision
Document.updatedAtdocument.modifiedAtModified Date
Martini implementation pattern

A Martini workflow retrieves supported Viewpoint document metadata or files, validates project ownership and content attributes, maps revisions and permissions, and transfers only changed items. It maintains a cross-reference and checksum or revision marker where available, and handles conflicts, oversized files, and partial transfers independently.

Martini capabilities used
  • workflow orchestration
  • API consumption
  • file handling
  • data mapping
  • validation
  • reconciliation

Applications commonly integrated with Trimble Viewpoint

Trimble Viewpoint can be connected with adjacent construction, customer, financial, workforce, document, and enterprise workflow applications. Availability and object coverage should be validated against the selected Viewpoint product and API version rather than assumed from the product family name.

Application Scenario Direction Martini Pattern
Salesforce Align customers, contacts, opportunities, awarded projects, and delivery status between the CRM and construction operations. Salesforce → Martini → Trimble Viewpoint Use Salesforce events or scheduled retrieval alongside Viewpoint REST API calls, map CRM accounts and contacts to Viewpoint Companies and Contacts, and apply project-creation and duplicate-prevention rules.
Microsoft Dynamics 365 Synchronize accounts, contacts, project information, and selected financial or operational data across enterprise systems. Microsoft Dynamics 365 → Martini → Trimble Viewpoint Orchestrate bidirectional API workflows with canonical company, contact, and project models, validate tenant and project permissions, and route failed writes to controlled retries.
Procore Coordinate project, company, commitment, document, and field information between construction-management platforms where the required endpoints are available. Trimble Viewpoint → Martini → Procore Use product-specific REST APIs or supported exports, reconcile stable project and company identifiers, transform differing construction vocabularies, and retain an audit cross-reference.
Autodesk Construction Cloud Exchange selected project and document information across construction-management environments. Trimble Viewpoint → Martini → Autodesk Construction Cloud Retrieve eligible Viewpoint project or document metadata, map revisions and permissions to Autodesk resources, and use a workflow checkpoint to prevent repeated transfers.
Trimble Connect Coordinate project context and documents across Trimble construction workflows. Trimble Viewpoint → Martini → Trimble Connect Use the applicable Trimble APIs, normalize project identifiers and document metadata, and apply file-size, content-type, revision, and conflict rules before synchronizing files.
NetSuite Consolidate customers, vendors, jobs, invoices, and financial information for accounting and reporting. Trimble Viewpoint → Martini → NetSuite Retrieve Viewpoint Jobs and Invoices where exposed, transform job codes, accounting periods, tax, currency, and statuses into NetSuite structures, and process incremental pages with replayable failures.
Workday Align employee identities and workforce information with Viewpoint operational or project assignments. Workday → Martini → Trimble Viewpoint Consume approved Workday employee changes, match Employees using controlled identifiers, protect personally identifiable information, and handle status changes and termination rules explicitly.
ServiceNow Connect construction data with operational, facilities, project, or service-management records. Trimble Viewpoint → Martini → ServiceNow Expose or consume REST endpoints through Martini, map Viewpoint Projects, Jobs, Companies, or Contacts to ServiceNow records, and use idempotent updates with workflow-level monitoring.

How to build a Trimble Viewpoint integration in Martini

Objective

Identify the exact Viewpoint product, API version, tenant, modules, objects, and entitlements before configuring the integration.

Instructions in Martini

  • Confirm whether the deployment uses Vista, Viewpoint For Projects, Trimble Construction One, or another product
  • Confirm supported resources, operations, tenant boundaries, and required permissions
  • Register the application with Trimble and define the required OAuth 2.0 configuration
  • Store client credentials, refresh tokens, and environment values in protected Martini configuration

Objective

Select an event-driven or scheduled initiation method based on the confirmed Viewpoint API capabilities.

Instructions in Martini

  • Use a webhook-style trigger only when the selected product supports the required subscription and event
  • Otherwise configure a scheduler workflow for incremental polling
  • Define the synchronization scope, watermark, overlap window, and reconciliation frequency

Objective

Consume Viewpoint resources reliably while respecting the product API’s pagination, quota, and filtering rules.

Instructions in Martini

  • Call the documented REST resources with approved scopes and product permissions
  • Implement the documented page links, continuation tokens, or page-size limits
  • Use modified-time or change-token filters where supported
  • Bound concurrency and record request context for audit and replay

Objective

Coordinate retrieval, enrichment, transformation, validation, target writes, and checkpoint persistence in a maintainable Martini workflow.

Instructions in Martini

  • Separate resource retrieval from mapping and target-system writes
  • Route Projects, Jobs, Companies, Contacts, Employees, and Invoices according to business rules
  • Persist successful checkpoints only after the corresponding target writes complete
  • Use reusable services or workflow components for shared authentication and error handling

Objective

Transform product-specific Viewpoint structures into canonical enterprise models and target application schemas.

Instructions in Martini

  • Map stable Viewpoint identifiers to external keys
  • Normalize dates, time zones, currencies, accounting periods, statuses, and codes
  • Resolve Project and Job relationships and Company ownership
  • Filter sensitive employee, contact, financial, and document fields to the approved scope

Objective

Protect data quality and prevent duplicate or unauthorized updates before writing to downstream systems.

Instructions in Martini

  • Validate required fields, tenant and company boundaries, and permitted status transitions
  • Use idempotent upsert logic and an ID cross-reference
  • Apply invoice, project, employee, document, and conflict-resolution rules
  • Reject ambiguous matches into a reviewable exception path

Common Trimble Viewpoint data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
ProjectsRepresent construction projects, metadata, status, dates, participants, and delivery context.Salesforce, Microsoft Dynamics 365, Procore, Autodesk Construction Cloud, Trimble Connect, ServiceNowMartini retrieves product-specific Project resources, maps identifiers and ownership into a canonical project model, applies tenant and status rules, and upserts downstream records.
JobsRepresent job or work-order structures, especially in Vista-oriented financial and operational processes.NetSuite, data warehouses, Salesforce, Microsoft Dynamics 365Martini extracts Jobs with documented filters and pagination, normalizes job codes and project relationships, and preserves the Viewpoint ID for reconciliation.
CompaniesRepresent contractors, subcontractors, suppliers, customers, and other organizations.Salesforce, Microsoft Dynamics 365, NetSuite, ProcoreMartini matches Companies using stable identifiers and controlled business keys, applies duplicate-prevention rules, and maps organization roles and statuses.
ContactsRepresent people associated with companies, projects, or project roles.Salesforce, Microsoft Dynamics 365, Procore, ServiceNowMartini validates contact ownership and permissions, transforms names and communication fields, and handles updates through idempotent upserts.
EmployeesRepresent employee identities and workforce-related information where exposed by the selected product.Workday, UKG, ServiceNow, project systemsMartini synchronizes only approved fields, protects personally identifiable information, maps employment status and assignments, and handles termination rules.
InvoicesRepresent accounts-payable, accounts-receivable, or project-related billing documents where exposed by the applicable API.NetSuite, SAP, data warehouses, reporting servicesMartini maps invoice status, job codes, accounting periods, tax, retention, currency, and totals, while using stable IDs and replayable error handling to prevent duplicates.

Authentication and security considerations

Trimble Identity and OAuth 2.0

Trimble developer APIs generally use Trimble Identity and OAuth 2.0. Application registration, redirect URIs, grant types, scopes, tenant authorization, product entitlements, and user permissions must be confirmed for the selected Viewpoint API.

Least-privilege access

Use only the scopes and Viewpoint permissions required for the integration. Authentication does not necessarily grant access to every company, project, job, financial object, or employee resource.

Secrets and sensitive data

  • Store OAuth client secrets, refresh tokens, and environment values in protected Martini configuration.
  • Do not place credentials or access tokens in workflow payloads or logs.
  • Restrict employee, contact, financial, and project-document data to approved fields and users.

Operational considerations for Trimble Viewpoint integrations

Product and schema variation

Vista, Viewpoint For Projects, Trimble Construction One, and other modules can expose different APIs and object models. Confirm the product, API version, tenant, objects, operations, and entitlements before finalizing mappings.

Pagination and rate limits

Follow the documented pagination model, page-size limits, continuation tokens, and response headers. Use bounded concurrency and exponential backoff for 429 responses rather than unrestricted parallel requests.

Incremental synchronization

Persist a last-successful watermark, use overlap windows for clock skew and delayed updates, and run reconciliation for missed or deleted objects. Treat callback deliveries as potentially duplicated.

Data quality and financial controls

Validate job codes, project relationships, accounting periods, tax, retention, currency, invoice status, employee status, and company identity before writing downstream.

Testing and change management

Test representative tenants, permissions, pagination, token expiry, error responses, optional fields, enumeration changes, and product-specific schema differences. Monitor failed pages and objects separately so successful work does not need to be replayed.

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

Reusable integration workflows

Point-to-point scripts often duplicate authentication, pagination, mapping, retries, and audit logic. Martini centralizes these concerns in workflows and reusable integration assets that can be maintained as Viewpoint APIs and enterprise targets change.

Reliable orchestration

Martini can combine REST API consumption, scheduled polling, selected webhook triggers, transformations, validation, business rules, target writes, checkpoints, and error handling in one controlled integration flow.

API-led architecture

Martini can expose a controlled API façade for downstream applications while shielding them from product-specific Viewpoint models, tenant boundaries, authentication details, and synchronization state.

Flexible implementation

Where a confirmed Viewpoint API is available, Martini provides standards-based integration without requiring a dedicated connector. Developers can extend workflows with custom logic when product-specific transformation or reconciliation rules require it.

Frequently asked questions

How can Trimble Viewpoint be integrated with enterprise systems?

Trimble Viewpoint is integrated primarily through product-specific REST APIs secured by Trimble Identity and OAuth 2.0. Depending on the selected product and module, integrations may also use scheduled polling, selected webhook-style notifications, batch operations, supported exports, or file and attachment APIs. Vista, Viewpoint For Projects, and Trimble Construction One do not necessarily expose the same objects or operations.

Can Martini integrate with Trimble Viewpoint?

Yes. Martini can consume the applicable Trimble Viewpoint REST API, store OAuth credentials securely, schedule incremental synchronization, transform Viewpoint objects, apply business rules, and write to enterprise applications. Where the selected product supports callbacks, Martini can also receive webhook-style notifications.

Do I need a connector to integrate Trimble Viewpoint with Martini?

No dedicated Trimble Viewpoint connector is required. Martini can integrate using the confirmed native mechanisms for the customer’s Viewpoint product, including REST APIs, OAuth 2.0, scheduled polling, supported callbacks, batch operations, exports, and file interfaces.

Is there any extra Lonti cost to integrate Trimble Viewpoint with Martini?

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

Which Trimble Viewpoint integration method should be used?

REST APIs are the recommended starting point for new integrations, but the correct API depends on whether the customer uses Vista, Viewpoint For Projects, Trimble Construction One, or another module. OAuth 2.0 through Trimble Identity is the expected authentication model. SOAP and GraphQL should not be assumed, and batch, file, and callback support must be verified for the selected product.

Does Trimble Viewpoint support events or webhooks?

Webhook and callback coverage is product-specific and was not verified as a universal Viewpoint capability. Confirm supported subscriptions, objects, event types, payload contents, signatures, and retry behavior. If callbacks are unavailable or incomplete, Martini can use scheduled polling with modified-time filters, watermarks, overlap windows, and reconciliation.

How does Martini synchronize Viewpoint data incrementally?

Martini can use documented modified-time filters, change tokens, event notifications, or other incremental mechanisms exposed by the selected API. A scheduler workflow can retrieve paginated resources, persist a last-successful watermark, use an overlap window for delayed updates, and periodically reconcile changes or deletions.

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

Martini maps product-specific Projects, Jobs, Companies, Contacts, Employees, and Invoices into canonical and target models using transformations and validation rules. Workflows can use stable Viewpoint identifiers for idempotent upserts, bounded retries with backoff for transient failures and rate limits, page-level checkpoints, and exception paths for replay. Martini can also expose a controlled API façade for downstream applications when required.