Skip to content
Agentmart
Submit a tool

benchling-integration

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries.

Skill by K-Dense-AI

IndexedMIT★ 54,411
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/k-dense-ai-benchling-integration

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.

Use cases: backend, data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/benchling-integration

Tools it pre-approves 4

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Read
  • Write
  • Edit
  • Bash

What's inside

Skill name
benchling-integration
Description
Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.
License
MIT
Compatibility
Requires Python 3.9+, benchling-sdk 1.25.0, network access, a Benchling tenant with API access, and API key or OAuth app credentials.
Allowed tools
Read, Write, Edit, Bash
Metadata
version: 1.7 · skill-author: K-Dense Inc. · last-reviewed: 2026-09-30
Instructions
156 lines in SKILL.md · view on GitHub

Before installing

  • Pre-approves any shell command

Files (6)

  • SKILL.md
  • api_endpoints.md · references/
  • authentication.md · references/
  • core_capabilities.md · references/
  • eventbridge.md · references/
  • sdk_reference.md · references/

SKILL.md (first lines)

# Benchling Integration

## When to use

Use this skill for Benchling registry entities, sequence imports, inventory, ELN entries,
workflow tasks, apps, event-driven integrations, and warehouse analytics.

**Reviewed 2026-09-30:** examples target the released **benchling-sdk 1.25.0** and its
stable **v2** API models. The [current authentication guide](https://docs.benchling.com/docs/authentication)
recommends V3 for new development, while the [V3 guide](https://docs.benchling.com/docs/v3-api-overview)
still describes endpoint-specific early access. Confirm your tenant's V3 availability and
stability before migrating; these v2 SDK examples must not be mechanically rewritten to V3.

SDK imports, model serialization, and request construction were checked locally against
1.25.0. Tenant-dependent examples are **illustrative**: no authenticated requests,
mutations, AWS deployment, or warehouse connection were run.

## Workflow

1. Identify the tenant, API version, identity, and permissions. Use OAuth app credentials
   for background integrations; use delegated authorization when acting as an individual
   user. See [authentication](references/authentication.md).
2. Read the relevant schema and resolve actual folder, registry, status, and dropdown IDs.
   Preserve sequence alphabet/topology and sample units. A valid Python model does not
   establish biological correctness or satisfaction of a tenant's required fields.
3. Read a small filtered page before writing. Use typed SDK methods and check their
   actual parameter names; not all services share the same CRUD naming convention.
4. Construct and serialize a representative payload. For imports, retain external IDs
   and returned Benchling IDs so a retry can reconcile a partial run without duplicates.
5. Perform the requested operation and read back the result. Check terminal async status;
   completed polling can still mean `FAILED`.

## Setup and a read-only query

```bash
uv pip install "benchling-sdk==1.25.0"
```

```python
import os
from benchling_sdk.benchling import Benchling
from benchling_sdk.auth.client_credentials_oauth2 import ClientCredentialsOAuth2

tenant_url = os.environ["BENCHLING_TENANT_URL"].rstrip("/")
benchling = Benchling(
    url=tenant_url,
    auth_method=ClientCredentialsOAuth2(
        client_id=os.environ["BENCHLING_CLIENT_ID"],
        client_secret=os.environ["BENCHLING_CLIENT_SECRET"],
        token_url=f"{tenant_url}/oauth/token",
    ),
)
for page in benchling.dna_sequences.list(page_size=10, name_includes="plasmid"):
    for sequence in page:
        print(sequence.id, sequence.name)
    break  # deliberate first-page connectivity/permission check
```

A successful empty page is a valid connectivity result. It does not imply access to
all projects. There is no documented v2 `users/me` route or SDK `users.get_me()`.

## Important SDK conventions

- Import `fields` from `benchling_sdk.helpers.serialization_helpers`. Its input is
  `{"field_name": {"value": value}}`, including the inner `value` mapping.
- Use `dna_sequence_id` for DNA updates and `workflow_task_id` for workflow updates.
  Workflow task creation requires a `workflow_task_group_id`.
- Entry methods are `create_entry`, `get_entry_by_id`, `list_entries`, and `update_entry`.
- `list()` usually returns pages; iterate twice to reach the objects. `estimated_count`
  is a property that can raise `NotImplementedError`, not a method or guaranteed count.
- Moving a tube uses `ContainerUpdate(parent_storage_id=...)`. Material transfer is a
  separate operation; it changes contents and quantities.
- Register on creation with `registry_id` plus **either** `entity_registry_id` (a human
  registry identifier) **or** `naming_strategy`. Do not confuse those with the registry's ID.

## Common use cases

### Import FASTA sequences

Install Biopython separately (`uv pip install biopython`). This illustrative import
creates unregistered linear DNA; choose topology and resolve collisions before running.

```python
from Bio import SeqIO
from benchling_sdk.models import DnaSequenceCreate

for record in SeqIO.parse("sequences.fasta", "fasta"):
    payload = DnaSequenceCreate(
        name=record.id,
        bases=str(record.seq),
        is_circular=False,
        folder_id="lib_example",
    )
    created = benchling.dna_sequences.create(payload)
    print(record.id, created.id)  # persist this mapping for restart/reconciliation
```

### Audit inventory under a location

```python
for page in benchling.containers.list(ancestor_storage_id="box_example"):
    for container in page:
        print(container.id, container.name, container.barcode)
```

`ancestor_storage_id` includes descendants. For immediate children only, inspect the
returned parent storage or use the documented storage-contents service.

### Export sequences for one schema

```python
import csv

with open("sequences.csv", "w", newline="", encoding="utf-8") as handle:
    writer = csv.DictWriter(handle, fieldnames=["id", "name", "bases", "length"])
    writer.writeheader()
    for page in benchling.dna_sequences.list(schema_id="ts_example"):
        for seq in page:
            writer.writerow({

From K-Dense-AI/scientific-agent-skills, MIT.

More from K-Dense-AI/scientific-agent-skills

Signals

Stars
54,411
Forks
4,797
Open issues
8
Last commit (this folder)
Oct 1, 2026 (27 days ago)
Last release
Oct 1, 2026 (27 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
1.7
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

Same skill elsewhere

Copies of this SKILL.md published by others; search shows only one of them.

More from K-Dense-AI

Cite this page

benchling-integration skill. Agent Mart. https://agentmart.dev/skills/k-dense-ai-benchling-integration (last updated 2026-10-24)