App Manifest Reference

App manifests are a tenant-independent definition of a Benchling app, containing all of the information required to install the app. Unlike apps created "from scratch," apps created from a manifest can support custom configuration, interactive components, and more. All of this functionality, as well as details like the app name and description, can be defined in a manifest.

There are a number of important fields that can be included in an app manifest:

  • A manifest's info field contains metadata about an app like name, version, and description
  • A manifest's settings field contains technical details related to app installation and webhooks
  • A manifest's configuration field contains configuration options to be configured by a tenant admin
  • A manifest's features field contains interactive components through which Benchling users can interact with the app
  • A manifest's security field contains keys used to encrypt app config values

In this reference, we'll cover all of the supported fields and values an app manifest can have for these components, as well as some other minor components of the manifest. For more detailed information on these component's functionality, check out the corresponding guides for App Workspace & Configuration and App Canvas.

App info

The info field of an app manifest contains basic information about the app. Right now, info contains the name, description, and version fields:

Field

Description

name

The name of the app

description

A brief description of the app and it's functionality

version

The version number of the manifest; supports semantic versioning

App settings

The settings field of an app manifest contains information related to how an app is installed in Benchling. Right now, settings contains the lifecycleManagement and webhookUrl fields:

Field

Description

lifecycleManagement

How an app is installed to a tenant. One of MANUAL or AUTOMATIC

webhookUrl

The URL that Benchling sends webhooks

App configuration

The configuration field of an app manifest contains the set of configuration options used by the app. The full list of all supported config types can be found in the Benchling reference documentation; click the “Schema” view to see details on the config field types:

680

The OpenAPI schema for Benchling app configuration

App configuration items are more complex than the key-value pairs of previous fields; app configuration items are grouped into the types below, with some (like EntitySchemaAppConfigItem) having multiple subtypes.

Config Item Type

Description

Example Value

DateAppConfigItem

A date value; YYYY-MM-DD format

2022-01-01

DatetimeAppConfigItem

A datetime value; YYYY-MM-DDTHH:SS format

2022-01-01T12:30

JsonAppConfigItem

A JSON object

{"abc": "123"}

EntitySchemaAppConfigItem

An entity schema in Benchling; can have subtype any of aa_sequence, dna_sequence, custom_entity, mixture, molecule, dna_oligo, rna_oligo, rna_sequence

ts_e59sjL23

FieldAppConfigItem

An entity schema field; sub-field of an entity schema config item

tsf_e59a3b23

BooleanAppConfigItem

A boolean value

true

IntegerAppConfigItem

An integer value

1

FloatAppConfigItem

A float value

1.0

TextAppConfigItem

A text value

user configured text

GenericApiIdentifiedAppConfigItem

An entity instance in Benchling; can have subtype any of container_schema, plate_schema, location_schema, box_schema, run_schema, result_schema, request_schema, entry_schema, workflow_task_schema, dropdown, dropdown_option, registry, folder, entry, worklist, project, workflow_task_status, dna_sequence, dna_oligo, aa_sequence, custom_entity, mixture, molecule, rna_oligo, rna_sequence, box, container, location, plate

bfi_HtrsAIid

SecureTextAppConfigItem

An encrypted secure value; must include publicKey (see below)

eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0...

App features

The features field of an app manifest contains information related to the app's interactive components. Right now, only runs can include interactive app components; these features are of type ASSAY_RUN.

Field

Description

Example Value

name

The feature name

Codon optomization

id

An externally defined unique identifier for the feature

codon_optimization_1234

type

Where in Benchling the feature can be instantiated; currently limited to ASSAY_RUN

ASSAY_RUN

App features are currently limited only to Interactive Runs; for more details on how app features are used, check out our Introduction to App Canvas guide.

App security

The security field of an app manifest contains information related to app security and encryption. Right now, this includes the publicKey field:

Field

Description

Example Value

publicKey

A public key corresponding to a public-private key pair; used to encrypt secure_text configuration values

-----BEGIN PUBLIC KEY-----
...
MIIBIjANBgkqhkiG9w0BAQEFAAOC
...
-----END PUBLIC KEY-----