.png)
Benchling Integration Guide
Connect Benchling research data and event notifications with enterprise systems through its versioned REST API, webhooks, and secure Martini workflows.
Benchling integration options at a glance
Benchling's versioned REST API is the primary integration interface for retrieving, creating, updating, and managing resources such as Entries, Projects, sequences, Runs, and results. Benchling also provides webhook-style notifications for selected resource events, plus resource-dependent bulk or asynchronous operations and file-related APIs. Authentication uses bearer tokens backed by API keys or OAuth-based application authentication, subject to tenant configuration and permissions. Martini can consume these APIs, receive supported webhook notifications through an exposed HTTP endpoint, schedule incremental synchronization, transform JSON payloads, transfer files, and expose a controlled API façade for downstream applications.
Common Benchling integration patterns
Common Benchling data objects used in integrations
Authentication and security considerations
Bearer-token authentication
Benchling API requests use bearer tokens backed by API keys or OAuth-based application authentication, depending on the tenant configuration and integration scenario. Martini can apply these credentials to REST calls through secure environment configuration.
Secrets and permissions
Store API keys, OAuth client secrets, refresh tokens, and tenant-specific URLs in Martini secrets rather than workflow mappings or source-controlled assets. Access remains constrained by the associated user, service account, OAuth application, project, registry, and tenant permissions.
Research data protection
- Use TLS-protected endpoints and environment-specific credentials.
- Limit API permissions to the resources and operations required.
- Minimize payload logging and restrict workflow-log access.
- Define retention rules for temporary files and sensitive research data.
Operational considerations for Benchling integrations
Pagination and rate limits
Treat Benchling collection endpoints as paginated and confirm tenant-specific rate limits. Use cursors or page tokens, persisted checkpoints, bounded concurrency, exponential backoff, and Retry-After handling where provided.
Idempotency and webhook delivery
Webhook notifications may be duplicated, delayed, out of order, or incomplete. Validate and acknowledge eligible notifications quickly, deduplicate them, retrieve the current resource when appropriate, and preserve Benchling IDs and correlation keys for safe retries.
Schema, permissions, and files
Custom fields, registry types, required values, status transitions, and project structures vary by tenant. Validate these configurations before writes. For files, confirm whether the API returns content, metadata, or an expiring download URL, and enforce size, content-type, and retention controls.
Testing and reconciliation
Test separately for Projects and Entries, registry objects, files, Runs, assay results, and Custom entities. Include reconciliation for missed, deleted, or subsequently changed resources and monitor repeated throttling, authorization failures, and mapping errors.
Why use Martini instead of scripts or point-to-point integrations?
Centralized orchestration
Martini coordinates Benchling API calls, webhook triggers, transformations, business rules, target writes, and reconciliation in workflows rather than scattering logic across scripts and point-to-point integrations.
Reusable and controlled interfaces
Martini can expose a stable API façade over selected Benchling operations, reuse authentication and transformation assets, and isolate tenant-specific endpoints and secrets from application logic.
Operational reliability
- Schedule incremental synchronization and persist checkpoints.
- Handle pagination, throttling, retries, duplicates, and permission failures consistently.
- Map Benchling JSON and file resources into canonical enterprise formats.
- Monitor workflow outcomes and route failures for reconciliation.