.png)
Pigment Integration Guide
Integrate Pigment planning data with enterprise applications through documented REST APIs, bulk exchanges, file-based imports and exports, and scheduled Martini workflows.
Pigment integration options at a glance
Pigment provides documented REST APIs for exchanging planning and business data, including supported operations around applications, models, dimensions, metrics, imports, and exports. Bulk or asynchronous processing may be appropriate for larger planning datasets, with Martini workflows submitting operations, tracking identifiers, polling for completion, and routing validation errors. Pigment also supports relevant file-based import and export scenarios, such as CSV or spreadsheet planning loads, although a general-purpose attachment API was not confirmed. Authentication depends on the tenant and selected API, with API keys, bearer credentials, or selected OAuth 2.0 scenarios requiring confirmation. Martini can schedule synchronization, transform JSON and file data, and expose controlled APIs for downstream systems.
| Integration point | Supported by Pigment? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | Pigment documents REST-based exchange for planning and business data, including metadata, model structures, dimensions, metrics, imports, and exports, subject to tenant access and endpoint availability. | Martini can consume Pigment REST APIs from workflows, transform JSON responses, expose controlled APIs, and persist synchronization state. |
| Bulk / async / batch APIs | Limited | Large imports and exports may be processed as bulk or asynchronous operations. The precise job endpoints, limits, and lifecycle must be confirmed in Pigment documentation. | Martini can submit an operation, retain its job identifier, poll with bounded retries, retrieve validation results, and prevent duplicate submissions. |
| File import/export | Limited | CSV or spreadsheet-based planning loads and scheduled exports are relevant to Pigment data exchange. Supported formats, size limits, encoding, and validation rules require confirmation. | Martini can process files, transform rows, validate dimensions and metrics, and orchestrate delivery to or retrieval from supported Pigment exchange processes. |
| Webhooks / outbound callbacks | Limited | Pigment may provide event or workflow-related callbacks for selected functions, but broad notifications for all application, model, dimension, metric, or planning changes were not confirmed. | Martini can receive confirmed webhook-style notifications or use scheduled polling when event coverage is insufficient; event payloads and delivery behavior must be verified. |
| Authentication | Limited | Pigment requires organization- or workspace-authorized credentials and permissions. API keys, bearer credentials, or selected OAuth 2.0 scenarios may apply depending on the tenant and API. | Martini can store environment-specific credentials as secrets, send authenticated requests, and separate development, test, and production configuration. |
| Scheduled synchronization | Yes | Scheduled workflows are suitable for recurring actuals, workforce, forecast, export, and import synchronization where broad event coverage is unavailable. | Martini can trigger workflows on a schedule, coordinate extraction and loading, and retain checkpoints, batch identifiers, and reconciliation results. |
| Database access | Not confirmed | Direct access to Pigment’s underlying application database was not confirmed. Supported APIs and exports should be used instead. | Martini can integrate with other databases in the surrounding architecture without attempting to connect to Pigment’s internal database. |
| SDKs | Not confirmed | No specific official Pigment SDK was confirmed. HTTP-based REST calls and standard JSON processing are the documented integration basis for this briefing. | Martini can use REST workflow capabilities without requiring a vendor SDK. |
How Pigment exposes data and business events
Pigment REST APIs
Pigment provides documented REST API capabilities for exchanging planning and business data. Available operations may include metadata and model access, dimension and metric handling, and data imports or exports, subject to tenant permissions and the selected API.
Martini implementation pattern
Martini implementation pattern: a workflow authenticates to Pigment, retrieves or submits the required resource, transforms the JSON payload into a canonical or target structure, applies validation and business rules, and records request and synchronization state.
Implementation sequence
Pigment bulk and asynchronous exchange
Pigment imports and exports may involve substantial planning datasets and asynchronous processing. The exact operation and job lifecycle should be confirmed in the Pigment developer documentation.
Martini implementation pattern
Martini implementation pattern: a workflow submits an import or export, stores the returned operation identifier, polls at a controlled interval, retrieves validation or rejected-row details, and only retries operations that are safe to repeat.
Implementation sequence
Pigment file import and export
Pigment supports relevant file-based planning exchanges, including CSV or spreadsheet-oriented loads and exports, although a general-purpose attachment API was not confirmed. Format and size rules must be verified for each tenant.
Martini implementation pattern
Martini implementation pattern: a workflow receives or creates a source file, validates headers and values, transforms rows into the required Pigment structure, coordinates the supported exchange, and preserves the original file and validation outcome for auditability.
Implementation sequence
Pigment callbacks and event notifications
Pigment may expose event or workflow-related callbacks for selected functions, but universal notifications for changes to all Pigment objects were not confirmed. Event types, payloads, retries, and delivery guarantees require tenant-level verification.
Martini implementation pattern
Martini implementation pattern: where a confirmed callback exists, Martini receives the notification, validates its authenticity, retrieves the current Pigment state when needed, and invokes downstream processing. For unsupported change events, a scheduled Martini workflow polls APIs instead.
Implementation sequence
Common Pigment integration patterns
Pattern 1: Load ERP actuals into Pigment planning models
When to use this pattern
Use this pattern when financial actuals from an ERP must be loaded into Pigment for budgeting, forecasting, or performance management. It supports scheduled processing and controlled bulk or asynchronous imports.
Integration direction
Example Mapping
| Pigment Field | Canonical Field | Target Field |
|---|---|---|
| accountCode | accountId | Pigment account dimension member |
| entityCode | entityId | Pigment entity dimension member |
| postingPeriod | period | Pigment time dimension member |
| amount | actualAmount | Pigment metric value |
Martini implementation pattern
A scheduled Martini workflow retrieves ERP actuals, resolves account, entity, period, currency, and sign mappings, validates required dimensions, submits the Pigment import, and polls asynchronous completion where applicable. Rejected rows, duplicate batches, transient failures, and reconciliation differences are routed to operational handling.
Martini capabilities used
- workflows
- scheduling
- API consumption
- data mapping
- business rules
- validation
- error handling
Pattern 2: Synchronize workforce planning data
When to use this pattern
Use this pattern when employee, position, department, cost-center, and compensation information must support Pigment workforce planning. Effective dates and repeated HR snapshots require explicit update rules.
Integration direction
Example Mapping
| Pigment Field | Canonical Field | Target Field |
|---|---|---|
| workerId | employeeId | Pigment workforce identifier |
| positionId | positionId | Pigment position dimension member |
| departmentCode | departmentId | Pigment department dimension member |
| annualCompensation | compensationAmount | Pigment compensation metric |
Martini implementation pattern
Martini consumes the available HR data or export, normalizes effective dates, worker status, currency, and compensation frequency, resolves organizational mappings, and submits an idempotent Pigment load. Stable source identifiers and batch checkpoints prevent duplicate updates when a snapshot is retried.
Martini capabilities used
- workflows
- scheduled synchronization
- data mapping
- transformations
- business rules
- idempotency controls
- error handling
Pattern 3: Publish approved Pigment forecasts
When to use this pattern
Use this pattern when downstream finance, reporting, warehouse, or operational applications need selected approved budgets or forecasts from Pigment. It is appropriate when access must be restricted to specific applications, models, metrics, and scenarios.
Integration direction
Example Mapping
| Pigment Field | Canonical Field | Target Field |
|---|---|---|
| applicationId | planningApplication | source context |
| scenario | planVersion | forecast scenario |
| period | fiscalPeriod | reporting period |
| metricValue | forecastAmount | warehouse or reporting measure |
Martini implementation pattern
A Martini API or scheduled workflow retrieves the permitted Pigment data, filters approved applications and scenarios, maps dimensions and metrics to the target contract, and publishes the result. The workflow applies authorization rules, validates totals, records the export identifier, and retries only safe reads or downstream writes.
Martini capabilities used
- API exposure
- API consumption
- data mapping
- access rules
- workflow orchestration
- reconciliation
- monitoring
Pattern 4: Monitor Pigment import and export jobs
When to use this pattern
Use this pattern when a finance close, forecast cycle, warehouse refresh, or reporting publication depends on a Pigment data exchange completing successfully.
Integration direction
Example Mapping
| Pigment Field | Canonical Field | Target Field |
|---|---|---|
| operationId | pigmentOperationId | workflow correlation ID |
| sourceBatchId | batchId | downstream load identifier |
| status | processingStatus | job status |
| rejectedRows | validationExceptions | operations queue |
Martini implementation pattern
Martini submits the Pigment operation, stores the operation and source batch identifiers, polls with bounded backoff, retrieves validation errors, and releases downstream processing only after a successful result. Duplicate submission protection, timeout handling, reconciliation, and alerts are included in the workflow.
Martini capabilities used
- workflow orchestration
- asynchronous processing
- scheduling
- state persistence
- error handling
- retry controls
- monitoring
Applications commonly integrated with Pigment
Pigment commonly participates in planning architectures that combine financial, workforce, operational, reporting, and data-platform applications. The following are practical integration counterparts; each relationship should be validated against the customer’s Pigment tenant and enabled APIs.
| Application | Scenario | Direction | Martini Pattern |
|---|---|---|---|
| Salesforce | Bring pipeline, bookings, account, and opportunity information into revenue planning and forecasting models. | Salesforce → Martini → Pigment | Schedule or trigger a Martini workflow to retrieve Salesforce data, map accounts and opportunities to Pigment dimensions and metrics, validate identifiers, and submit an import while recording the batch result. |
| Workday | Synchronize employees, positions, compensation, departments, and organizational structures for workforce planning. | Workday → Martini → Pigment | Use Martini to consume the available Workday endpoint or export, normalize effective dates and compensation values, resolve department and cost-center mappings, and orchestrate an idempotent Pigment load. |
| NetSuite | Load actual revenue, expense, account, entity, and department data into financial planning models. | NetSuite → Martini → Pigment | A scheduled Martini workflow retrieves NetSuite actuals, applies account, entity, period, currency, and sign-convention rules, validates required members, and submits a Pigment import with completion monitoring. |
| SAP S/4HANA | Exchange financial actuals, cost centers, profit centers, and operational planning data with Pigment. | SAP S/4HANA → Martini → Pigment | Martini orchestrates extraction from SAP, maps enterprise identifiers to Pigment dimensions, batches the planning payload, and routes rejected rows and reconciliation differences for review. |
| Snowflake | Centralize Pigment exports with enterprise data for reporting, reconciliation, historical analysis, and downstream modeling. | Pigment → Martini → Snowflake | Martini retrieves approved Pigment exports, transforms the response into warehouse-ready structures, writes the data through a supported Snowflake or intermediary interface, and stores export and reconciliation metadata. |
| Google Sheets | Support controlled planning inputs, departmental submissions, and review workflows where spreadsheet-based exchange is appropriate. | Google Sheets → Martini → Pigment | Martini retrieves or receives a controlled spreadsheet extract, validates columns and planning members, converts rows into Pigment import structures, and records rejected rows without silently overwriting valid data. |
| Anaplan | Exchange planning data during coexistence, migration, benchmarking, or consolidation projects involving two planning platforms. | Anaplan → Martini → Pigment | Use Martini as an intermediary to extract each platform’s supported data, map dimensions, metrics, scenarios, and periods into a canonical model, and coordinate controlled batch transfers with reconciliation. |
| Tableau | Publish approved planning, budget, and forecast data for management reporting and visualization. | Pigment → Martini → Tableau | Martini retrieves selected Pigment metrics and scenario data, applies reporting transformations and access rules, and delivers a curated payload to Tableau directly or through an enterprise warehouse. |
How to build a Pigment integration in Martini
Objective
Establish tenant-approved Pigment access and keep credentials separate from workflow logic.
Instructions in Martini
- Confirm the selected Pigment API, tenant permissions, credential type, and required scopes.
- Store API keys, bearer credentials, or confirmed OAuth configuration in Martini environment secrets.
- Separate development, test, and production credentials and validate access to required applications and models.
Objective
Select a trigger that matches the required freshness and Pigment event coverage.
Instructions in Martini
- Use a scheduler for recurring actuals, workforce, forecast, import, or export synchronization.
- Use a confirmed Pigment callback or event notification only for documented event types.
- Use a Martini API when another application should initiate a controlled Pigment exchange.
Objective
Acquire Pigment data or source-system data while preserving identifiers and operational context.
Instructions in Martini
- Call the documented Pigment REST endpoint or retrieve the supported file exchange.
- Handle pagination, continuation tokens, or export boundaries where documented.
- Capture request identifiers, operation identifiers, source batch IDs, and timestamps.
Objective
Coordinate extraction, validation, transformation, Pigment exchange, and downstream delivery as one maintainable process.
Instructions in Martini
- Use Martini workflows to sequence API calls, file handling, polling, and downstream writes.
- Branch for synchronous and asynchronous Pigment operations.
- Persist checkpoints so retries resume safely rather than repeating completed work.
Objective
Convert source structures into Pigment dimensions, metrics, blocks, versions, and scenarios or into a downstream contract.
Instructions in Martini
- Map stable identifiers rather than relying only on display labels.
- Normalize periods, currencies, decimal precision, sign conventions, effective dates, and statuses.
- Validate required members and route unmapped accounts, entities, departments, products, or scenarios to exception handling.
Objective
Ensure only valid, approved, and appropriately scoped planning data is exchanged.
Instructions in Martini
- Distinguish actuals, budgets, forecasts, and what-if scenarios.
- Apply approval, access, replacement, append, or upsert rules before writing data.
- Prevent accidental mixing of versions, applications, models, or planning periods.
Common Pigment data objects used in integrations
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Applications | Top-level Pigment planning workspaces containing models, data, and planning logic. | ERP platforms, HR platforms, data warehouses, reporting platforms | Martini scopes requests to approved applications, validates access, and maps application context into workflow configuration and audit metadata. |
| Models | Structured planning models containing calculations, dimensions, metrics, and business planning structures. | ERP platforms, workforce systems, warehouses, planning platforms | Martini retrieves or targets documented model structures, applies model-specific mappings, and avoids hard-coding labels where stable identifiers are available. |
| Dimensions | Business axes such as entities, departments, products, geographies, accounts, and time periods. | ERP platforms, HR platforms, CRM platforms, data warehouses | Martini resolves source identifiers to Pigment dimension members, validates required members, and routes unknown or inactive values to exception handling. |
| Metrics | Measures for revenue, headcount, operating expense, cash flow, budgets, forecasts, and other planning outputs. | ERP platforms, reporting platforms, data warehouses, operational applications | Martini maps values, periods, currencies, precision, and sign conventions, then controls which metrics may be imported or exposed downstream. |
| Blocks | Structured data and calculation areas that combine dimensions and metrics to represent planning data. | ERP platforms, reporting platforms, data warehouses | Martini prepares payloads according to the relevant block structure, validates dimensional completeness, and records source batches and result counts. |
| Versions or scenarios | Alternative planning states for budgets, forecasts, actuals, and what-if analysis, depending on configuration. | ERP platforms, reporting platforms, data warehouses, planning platforms | Martini maps scenario and version identifiers explicitly, applies business rules for approved outputs, and prevents accidental mixing of actual and forecast data. |
Authentication and security considerations
Tenant-scoped credentials
Pigment credentials and permissions depend on the tenant, selected API, organization, workspace, and accessible planning objects. Confirm whether API keys, bearer credentials, OAuth 2.0, or another supported method applies before implementation.
Secrets and access control
- Store Pigment credentials in Martini environment-specific secrets rather than workflow definitions or mappings.
- Use a dedicated integration identity where Pigment supports one.
- Restrict access to required applications, models, dimensions, metrics, imports, and exports.
- Separate development, testing, and production credentials and plan for credential rotation.
Operational considerations for Pigment integrations
Volume and asynchronous processing
Confirm Pigment pagination, import and export limits, concurrency behavior, and asynchronous job endpoints. Track operation identifiers, poll with bounded backoff, and avoid duplicate submissions while an operation is still running.
Data quality and idempotency
- Use stable identifiers for dimensions and planning data where available.
- Define whether each load is an upsert, replacement, append, or snapshot.
- Normalize periods, currencies, precision, sign conventions, and effective dates.
- Preserve rejected rows and reconcile source totals with Pigment results.
Change management
Pigment applications, models, dimensions, metrics, and scenarios can evolve. Prefer metadata or stable identifiers over display labels, version mapping rules, and test integrations after model changes.
Observability
Record request IDs, operation IDs, batch IDs, timestamps, result counts, and validation errors. Use Martini logging, alerts, bounded retries, and operational workflows to investigate failures.
Why use Martini instead of scripts or point-to-point integrations?
Orchestration instead of isolated scripts
Martini coordinates Pigment API calls, file processing, asynchronous job monitoring, downstream writes, validation, and error handling in maintainable workflows rather than scattering logic across scripts.
Reusable integration assets
Teams can expose controlled APIs, reuse mappings and workflow services, separate environment configuration from implementation logic, and apply consistent authentication and operational controls.
Reliable data movement
Martini supports scheduled and event-oriented processing, transformation, business rules, checkpoints, reconciliation, and bounded retries. This is useful when Pigment event coverage is limited or planning exchanges require multi-step coordination.
Frequently asked questions
Pigment can be integrated through its documented REST APIs, supported import and export mechanisms, bulk or asynchronous data exchanges, and selected file-based planning workflows. Scheduled synchronization is appropriate where broad change-event coverage is unavailable. Authentication, endpoints, permissions, and job behavior should be confirmed for the customer’s tenant.
Yes. Martini can consume Pigment REST APIs, orchestrate imports and exports, process supported files, schedule synchronization workflows, transform planning data, and expose controlled APIs for downstream consumers. A dedicated native Martini Pigment connector is not confirmed in the supplied documentation.
No. A dedicated Pigment connector is not required. Martini can use Pigment’s confirmed native integration mechanisms, primarily documented REST APIs and supported file or bulk exchange processes, with tenant-approved authentication and permissions.
Lonti does not charge an additional per-connector or per-vendor fee to integrate Pigment with Martini. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Pigment, infrastructure, or other third-party systems based on subscription, usage, and deployment model.
Use Pigment’s documented REST APIs for current API-led integrations. Bulk or asynchronous exchange is appropriate for larger imports and exports, while supported CSV or spreadsheet workflows may suit file-oriented planning loads. Direct database access and SOAP or GraphQL APIs were not confirmed.
Pigment may provide event or workflow-related callbacks for selected functions, but universal webhook coverage for changes to every application, model, dimension, metric, or planning record was not confirmed. Verify event types and delivery behavior; use scheduled API polling when broader coverage is required.
Martini can map source identifiers to Pigment dimensions, metrics, periods, versions, and scenarios, validate required values, and transform JSON or file-based payloads. For larger datasets, workflows can submit bulk or asynchronous operations, track job identifiers, poll with bounded backoff, and reconcile results.
Martini can validate data before submission, capture Pigment validation errors and rejected rows, apply bounded retries for transient failures, and persist operation and batch identifiers. Idempotency rules should define whether each load is an upsert, replacement, append, or snapshot so retries do not duplicate planning data.
Yes. Martini can expose a controlled REST API that retrieves approved Pigment applications, models, dimensions, metrics, versions, or scenario data and presents a downstream-specific contract. Access controls, filtering, validation, and authorization should prevent unintended exposure of internal planning information.
Related Martini documentation
Workflows
Integrate Pigment with Martini
Use Martini to connect Pigment planning data with enterprise applications through secure APIs, scheduled workflows, bulk exchange orchestration, and reusable transformation logic.