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:
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----- |
Updated almost 2 years ago