.png)
Lattice Integration Guide
Integrate Lattice people-management data with enterprise systems through its REST API, bearer-token authentication, and Martini workflows.
Lattice integration options at a glance
Lattice provides a public REST API for programmatic access to selected Users, Teams, Goals, Reviews, Feedback, and other product data. API requests use an administrator-created API key supplied as a bearer token, with access controlled by the creating user’s permissions. Martini can consume these endpoints in scheduled or API-triggered workflows, paginate through collections, maintain synchronization checkpoints, and map Lattice JSON into HRIS, directory, analytics, collaboration, or operational systems. A generally available webhook framework, public GraphQL API, SOAP API, bulk API, direct database access, and general-purpose file API were not confirmed, so event-driven and high-volume designs should be validated against the required Lattice module and may require scheduled REST polling.
Common Lattice integration patterns
Common Lattice data objects used in integrations
Authentication and security considerations
Bearer-token authentication
Lattice public API requests use an administrator-created API key supplied in the Authorization header as a bearer token. Access depends on the permissions of the user or administrator who created the key.
Secrets and least privilege
Store Lattice API keys in Martini Secrets Management or secure environment configuration. Use separate credentials for development and production, rotate and revoke keys through an accountable ownership process, and request only the permissions required by each workflow.
Sensitive people data
Reviews, Feedback, compensation-related information, engagement data, and employee attributes may be confidential. Filter fields before transmission, restrict target access, and avoid logging API keys or sensitive employee content.
Operational considerations for Lattice integrations
Pagination and volume
Do not assume one response contains all Users, Teams, Goals, or Reviews. Process documented pages in bounded batches and confirm current Lattice rate limits and response headers before sizing a large synchronization.
Incremental processing
Use documented timestamps, filters, or update markers where available. If reliable incremental filtering is unavailable, maintain a Martini checkpoint and run periodic reconciliation to detect missed, removed, or deactivated objects.
Idempotency and retries
Use stable Lattice identifiers as external keys. Separate create, update, deactivation, and removal behavior, and apply backoff for rate-limit or transient server responses. Avoid duplicate notifications or Users when a timeout occurs after a target write.
Schema and module differences
Available fields, required values, and object access can vary by enabled Lattice product modules and tenant permissions. Test pagination boundaries, manager and team changes, status transitions, permission failures, and schema changes before production rollout.
Event uncertainty
Validate any required webhook or callback event and its delivery guarantees. If the event is not confirmed, use scheduled polling with checkpoints and reconciliation rather than assuming real-time coverage.
Why use Martini instead of scripts or point-to-point integrations?
Centralized orchestration
Martini coordinates Lattice API calls, target-system writes, business rules, checkpoints, retries, and monitoring in workflows instead of scattering logic across scripts.
Reusable integration assets
REST consumption, mappings, validation, privacy filtering, and error-handling logic can be structured for reuse across HRIS, reporting, collaboration, and operational integrations.
Controlled change management
Environment configuration and Secrets Management keep credentials separate from implementation logic, while explicit mappings and rules make Lattice module and schema changes easier to test and govern.
Flexible integration boundaries
Martini can consume Lattice APIs, expose REST APIs for surrounding systems, and connect the resulting workflows to other APIs, databases, files, or messaging systems without requiring a dedicated Lattice connector.