Connects Benchling lab notebook entries to Quilt data packages via webhooks.
⚠️ Breaking Change in v1.0.0: Runtime CloudFormation dependencies removed. Service configuration now resolved at deployment time. See MIGRATION.md for upgrade instructions.
- Node.js 18+ with
npx(download) - AWS credentials configured
- Existing Quilt deployment
- Benchling tenant (need Admin permissions to install a Benchling app)
First create a manifest:
npx @quiltdata/benchling-webhook@latest manifestThen follow the instructions to create and install the app.
This will give you an App Definition ID and Client ID, which --- along with the Client Secret must generate -- you will need later.
npx @quiltdata/benchling-webhook@latestThe wizard will:
- Catalog Discovery - Detect and confirm your Quilt catalog DNS
- Stack Query - Extract configuration from your CloudFormation stack
- Parameter Collection - Collect Benchling credentials and package settings
- Validation - Validate all parameters before proceeding
- Deployment Mode - Choose between integrated or standalone deployment:
- Integrated Mode: Updates the existing BenchlingSecret in your Quilt stack (recommended if you have one)
- Standalone Mode: Creates a dedicated secret and optionally deploys a separate webhook stack
Integrated Mode (recommended if your Quilt stack has a BenchlingSecret):
- Uses the existing BenchlingSecret from your Quilt CloudFormation stack
- No separate deployment needed - the webhook URL is available from your Quilt stack outputs
- Cleaner architecture with fewer AWS resources
Standalone Mode (for separate deployments):
- Creates a dedicated secret:
quiltdata/benchling-webhook/<profile>/<tenant> - Prompts you to deploy a separate webhook stack to AWS
- Useful for testing or isolated deployments
It will list the webhook URL in the completion message or next steps.
NOTE: This version no longer reads your .env file.
Instead, it stores your results in the XDG_CONFIG_HOME,
where you can have more than one profile.
When using integrated mode (built-in Quilt stack webhook), the setup wizard will:
- Check if
BenchlingIntegrationis enabled in your Quilt stack - Offer to enable it automatically if disabled
- Provide a status command to monitor the stack update
Checking Integration Status:
npx @quiltdata/benchling-webhook@latest status --profile myprofileThis shows:
- CloudFormation stack status
- BenchlingIntegration parameter state
- Last update timestamp
- Direct link to CloudFormation console
Enabling BenchlingIntegration:
If your Quilt stack has BenchlingIntegration set to false, the setup wizard will detect this and offer to enable it automatically. You can:
- Let the wizard update the parameter (recommended)
- Enable it manually through the AWS CloudFormation console
- Use the
statuscommand to monitor the update progress
After deployment, add the webhook URL to your Benchling app settings.
In Benchling:
- Create entry →
- Insert Canvas →
- Select "Quilt Package" →
- Click "Create"
This will generate an App Canvas with a dedicated Quilt package for this notebook, as well as additional links and buttons.
If necessary, you can manually deploy (without redoing setup) via:
npx @quiltdata/benchling-webhook@latest deployCheck the status of your Quilt stack and BenchlingIntegration parameter:
npx @quiltdata/benchling-webhook@latest status [--profile <name>]This command displays:
- CloudFormation stack status (CREATE_COMPLETE, UPDATE_IN_PROGRESS, etc.)
- BenchlingIntegration parameter value (true/false)
- Last update timestamp
- Direct console link for manual updates
Useful for monitoring stack updates after enabling BenchlingIntegration.
For more information, use:
npx @quiltdata/benchling-webhook@latest --help # Show all commands- Changelog - Version history
- Report Issues
Apache-2.0