This article guides you through configuring the In Vivo Sync app, a Benchling App crucial for synchronizing data between Benchling In Vivo and Benchling's Registry and Results. You'll learn about its two one-way integrations, understanding how In Vivo data is created and updated in Benchling, and how registered custom entities from Registry become treatments in In Vivo. The guide highlights essential permissions settings, both native and custom metadata configurations, and effective strategies for consistent registry IDs and entity names. Discover how to set up the app, resolve common issues, and navigate limitations. This feature is available for customers with licenses to Benchling In Vivo and Benchling’s Registry.
Introduction
The In Vivo Sync app between In Vivo and Benchling is a Benchling App that utilizes Benchling’s and Benchling In Vivo’s API to sync data between the In Vivo product and the Registry product. Key information from Benchling In Vivo is synced to Benchling’s Registry and Results to connect upstream treatment molecule data with In Vivo studies and subsequently with downstream In Vivo data analysis and sample processing.
The In Vivo Sync app technically includes two, one-way integrations.
| Sync Direction | Sync Function |
| Benchling In Vivo → Benchling Registry | Create and update Benchling In Vivo-originating data in Benchling’s Registry and Results. |
| Benchling Registry → Benchling In Vivo | Search for registered custom entities to record as Treatments in Benchling In Vivo. |
When a create, update, or delete action occurs in Benchling In Vivo, a corresponding event will occur in Benchling’s Registry for any items in the scope of the integration. These events will generally be processed in Benchling’s Registry within ~5 minutes of the action in In Vivo, but can take up to 24 hours depending upon the workload of all integrations connecting to the Benchling tenant. Events on objects in Benchling In Vivo are mapped to corresponding objects in Benchling’s Registry and Results:
| Benchling In Vivo Concept | Benchling Schema | Benchling Schema Type |
| Study | In Vivo Study | Registry (Custom) |
| Group | In Vivo Group | Registry (Custom) |
| Treatment | In Vivo Treatment | Registry (Custom) |
| Animal | In Vivo Animal | Registry (Custom) |
| Sample | In Vivo Animal Sample | Registry (Custom) |
| Animal Sample metrics (ex. weight, volume) | In Vivo Animal Sample Details | Result |
| Animal measurements (ex. body weight) | In Vivo Measurement | Result |
| Animal observations (ex. barbering) | In Vivo Observation | Result |
| Dose events | In Vivo Animal Dosing | Result |
The In Vivo Sync app is not a bidirectional integration and thus data should only be edited where it was originally entered. If data originally created in In Vivo is synced to Benchling’s Registry, and subsequently edited in Benchling’s Registry, those updates will not sync back to In Vivo. It is critical that data be edited only where it was originally created, with no exceptions.
The Benchling In Vivo sync app is hosted on AWS and the code is controlled by Benchling. It is not enabled by default and must be installed by Benchling. In addition, even if the app is installed on the Benchling tenant, certain features of the integration may not be enabled. To request access to the app or specific features of the app, an admin should contact Benchling Support at support@benchling.com.
Configuration guide
Install the In Vivo Sync app
The app must be installed by Benchling. Contact Benchling Support to install the app if you do not have the app in your Benchling tenant.
Set permissions for the In Vivo Sync app
For the In Vivo Sync app to function, it needs permissions to create new entities in a user-designated folder, update existing entities, and archive existing entities.
These permissions are specifically for the In Vivo Sync app. In addition to this, ensure only authorized users can view data in Benchling. Other permission structures can work, however these are the recommended permissions for uninterrupted functionality.
-
Create a new custom access policy called In Vivo Sync App Permissions
- Use the WRITE policy as your starting point.
- Adjust the permissions as outlined in Table 1
- Follow Table 2 to designate the app’s permissions within the tenant
Table 1: In Vivo Sync custom access policy permission requirements
| Category | Line Item | Permission | Function |
| Entities | View | Granted | Default |
| Entities | Edit - Edit other data | Granted to author* | Update metadata fields of entities the integration has created (i.e. if an update is made in In Vivo, the In Vivo Sync app needs reflect this in Benchling) |
| Entities | Archive | Granted to author* | Archive entities the integration has created (i.e. if an item is deleted in In Vivo, the In Vivo Sync app needs to archive this item in Benchling) |
| Entities | Unregister | Granted to author* | Unregister entities that the integration has created. (i.e. if an item is deleted in In Vivo, the In Vivo Sync app needs to unregister this item in Benchling.) |
| Registries and associated settings | View | Granted | Default |
| Registries and associated settings | Register Entities | Granted | Create entities within the Registry |
| Registries and associated settings | Edit |
Granted
|
Edit entities within the Registry |
| Projects and folders | View | Granted | Default |
| Projects and folders | Add other items | Granted | Access to create entities within desired folders |
*granted to author is most restrictive, but granted will also work.
Table 2: In Vivo Sync standard permission settings
| Category | Line Item |
| Organization | Do not add the In Vivo Sync app to the Organization |
| Registry | In Vivo Sync App = In Vivo Sync Permission Custom Policy |
| Schema |
In Vivo Sync App = CREATE on all In Vivo Registry and Result schemas Administrators = ADMIN on all In Vivo Registry and Result schemas |
| Schemas used as treatments |
In Vivo Sync App = READ; If the app lacks READ access to even one specified schema in the Treatment Schemas configuration, no treatments from the Registry will be selectable in Benchling In Vivo
|
| Project/Folder |
In Vivo Sync App = In Vivo Sync Permission Custom Policy on any Project containing a Folder, or any Folder directly, that will be selected as a destination for a study created in In Vivo Note: Limiting app access to specific projects and folders will improve Folder search functionality in In Vivo |
Configure metadata in the In Vivo Sync app
Set native metadata in the In Vivo Sync app
The In Vivo Sync app comes with built-in metadata, which includes both required and optional fields. These fields can be quickly mapped to your Registry schemas using dropdown menus in the app’s configuration page.
To map native metadata in the In Vivo Sync app:
- Confirm that each native field you want to use has a corresponding field in the applicable Registry schema
- In Benchling, click the Connection icon in the left navigation bar
- Go to the Apps tab and open the In Vivo Sync app
- Select the Configuration sub-tab
- Find the native field you want to map
- Use the dropdown list to select the corresponding schema field
- Click Submit in the top right to save your configuration
Note: All required fields must be mapped to a schema field in Benchling’s Registry. If even one required field is missing, the configuration cannot be saved.
Set custom metadata in the In Vivo Sync app
In addition to native metadata fields, you can add custom metadata to the In Vivo Sync app. For example, if Coat Color is configured as a custom metadata field on Animal in In Vivo, you can sync that field to Benchling’s Registry alongside all native Animal metadata.
Before you configure custom metadata in the In Vivo Sync app, you must add the metadata field to:
- The relevant object in the In Vivo Glossary
- The corresponding schema in Benchling’s Registry
Field names don’t need to match, but field types must be compatible or the sync will fail. Field type compatibility is as follows:
| Benchling In Vivo field type | Benchling Registry field type |
| Text | Text |
| Date | Datetime |
| Number | Decimal |
| Single-select dropdown | Text |
| Multi-select dropdown | Text |
Note: Custom Entity fields and Entry Link fields cannot be mapped in the In Vivo Sync app
To map custom metadata in the In Vivo Sync app:
- Gather the API ID of the In Vivo field
- Gather the slug name of the corresponding Registry field
- In Benchling, click the Connection icon in the left navigation bar
- Go to the Apps tab and open the In Vivo Sync app
- Select the Configuration sub-tab
- Scroll to the relevant schema section (e.g., Study Schema, Animal Schema)
- In the Metadata Mapping JSON box, enter the mapping in this format:
{"benchling_registry_field_API_ID": "in_vivo_slug_name"}
- To map multiple fields, separate each field with a comma. For example:
{"tsf_QwyvJCyy": "coat_color", "tsf_QwovvJCoy": "arrival_date",}
- Click Submit in the top right to save your changes
To remove custom metadata in the In Vivo Sync app:
- In Benchling, click the Connection icon in the left navigation bar
- Go to the Apps tab and open the In Vivo Sync app
- Select the Configuration sub-tab
- Scroll to the relevant schema section (e.g., Study Schema, Animal Schema)
-
In the Schema Field<> Metadata Mapping JSON box, remove the Benchling Registry field API ID and the In Vivo slug name for the field you want to delete
- You must know the Registry API ID and/or In Vivo slug name to identify the correct mapping
- Ensure the remaining JSON syntax is valid or has empty closed brackets (e.g., {})
- Click Submit in the top right to save your changes
To update custom metadata in the In Vivo Sync app:
- In Benchling, click the Connection icon in the left navigation bar
- Go to the Apps tab and open the In Vivo Sync app
- Select the Configuration sub-tab
- Scroll to the relevant schema section (e.g., Study Schema, Animal Schema) from which the metadata field will be removed.
- In the associated Metadata Mapping JSON box, update the applicable JSON code for the relevant metadata field being remapped:
{"benchling_registry_field_API_ID": "in_vivo_slug_name"}
ex.) {"tsf_QwyvJCyy": "coat_color", "tsf_QwovvJCoy": "arrival_date",}- Press the submit button in the upper right-hand corner of the app. This step is crucial to save your changes.
Note: If you add, update, or remove a metadata field in the app, the corresponding data will not be backfilled, updated, or removed automatically. The data will only be added, updated, or removed if you perform an edit on a corresponding item in In Vivo or if you run a data backfill. To perform a data backfill, see Running a Backfill.
Control the availability of certain custom entity schemas as treatment sources
The In Vivo Sync app lets you limit which custom entity schemas from Benchling’s Registry can be used as treatment molecules in Benchling In Vivo. By default, you can select any custom entity that the integration has READ access to as a treatment molecule in In Vivo. Use the Treatment Schemas section of the app configuration to narrow this to entities of specific schemas and ensure users are selecting only designated custom entities as treatments.
To restrict treatment schemas:
- In Benchling, click the Connection icon in the left navigation bar
- Go to the Apps tab and open the In Vivo Sync app
- Select the Configuration sub-tab
- Navigate to the Treatment Schemas section
- Select Add element
- Use the dropdown to choose the desired entity schemas
- Repeat steps 5 and 6 for each schema you want available as a treatment molecule
- Click Submit in the top right to save your configuration (if you don’t see Submit, scroll to the top of the page)
Note: The In Vivo Sync app must have at least READ access to all schemas specified in the elements. If the In Vivo Sync app lacks READ access to even one schema, the treatment sync will fail as a whole. Update schema permissions in Benchling’s Registry as needed.
Generate registry IDs and entity names from a single naming template for select schemas
To reduce the number of identifiers for each object, you can configure one naming template per schema and apply it to both the registry ID and the entity name. You can apply this separately to the Study schema, the Animal schema, and the Sample schema in Benchling’s Registry. It ensures identifiers are consistent within each schema while keeping Registry and In Vivo aligned.
Use the following recommended naming templates to reduce the number of identifiers across tenants:
| Schema | Naming Template |
| Study |
Study Code Note: To avoid naming conflict, ensure no other schema is using your set study code prefix as a registry schema prefix |
| Animal |
In Vivo Animal Number Note: To avoid naming conflict, ensure no other schema is using “A” as a registry schema prefix |
| Animal Sample |
In Vivo Animal Sample ID Note: To avoid naming conflict, ensure no other schema is using “S” as a registry schema prefix |
To generate registry IDs and entity names using a single naming template:
- Navigate to the desired schema in Benchling’s Registry
-
In Available Registration Naming Options, check Generate Registry IDs and names according to name template
- If this option is missing, contact Benchling Support to have the naming option Generate Registry IDs and names according to name template enabled
- Navigate to the Connection icon in the left navigation bar
- Go to the Apps tab and open the In Vivo Sync app
- Select the Configuration sub-tab
- Locate the schema you want to configure (Study, Animal, or Sample)
- Check Generate Registry IDs and names according to name template
- Click Submit in the top right to save (if you don’t see Submit, scroll to the top of the page)
Frequently asked questions
Q: Can I edit data in Benchling that was synced from In Vivo?
No. Always make edits in the system of origin to avoid data conflicts.
Q: Can I add custom metadata to Result schemas used in the In Vivo sync?
No. Only Registry schemas can be customized with additional metadata fields. Result schemas cannot be customized.
Q: What happens if I change a field type in the Registry schema?
Changing a field type may break the sync. Contact Benchling Support for help assessing the impact of changing a field type.
Q: Can I backfill only specific studies?
No. Backfills can only be performed using a specified reference date from which all events will be re-run.
Q: What should I do if my backfill fails?
Check the Activtiy tab of the In Vivo Sync app to see what events are failing and contact Benchling Support for help.
Q: Can I create computed fields on the schemas used in the In Vivo Sync app?
Yes. Computed fields can be created on Benchling Registry schemas used by the In Vivo Sync app. See the Computed Field Basics help article for details. Contact Benchling Support to configure computed fields.