- 29 Mar 2023
- 9 Minutes to read
-
Print
-
DarkLight
Two-way sync overview (Beta/Limited availability)
- Updated on 29 Mar 2023
- 9 Minutes to read
-
Print
-
DarkLight
Two-way sync allows existing records to be edited in one or more destinations and synced back to a single-source-of-truth table. This article covers configuring an ecosystem of bases and interfaces so multiple teams can have the most up-to-date information. Using two-way sync helps to prevent data silos and other inefficiencies in today’s hybrid work environment.
Introduction
Plan availability | Currently in limited beta availability |
Permissions |
|
Platform(s) | Web/Browser, Mac app, and Windows App |
Related reading |
|
Airtable terminology |
|
Understanding Two-way sync
A two-way sync will always have a single source table where the initial sync share view is created. Edits made in one or more destination tables or interfaces in other bases will sync back to the source table. To illustrate how the two-way sync schema works consider the image below.
There are two overarching concepts worth digesting before moving on:
- The black two-sided arrows represent the direct connection between a source table and its destination(s).
- The lighter grey and dotted line arrows represent the indirect relationship between destinations. Changes made in a destination will first sync back to the source before pushing to other destinations upon the next sync.
Two-way sync source view configuration
To start, navigate to a grid view of the information you are wanting to enable syncing. click Share view and click Create a shareable grid view link. Then, enable both:
- Allow data in this view to be synced to other bases
- Allow edits from other bases
There are two options below this toggle to consider:
- All editable fields - All editable fields in the source table will be editable in the destination table. Additionally, editable fields added in the source table will be editable in any destination tables in the future.
- Specific fields - Only certain fields in the source will be available for syncing.
An editable field is any field within a table that is not locked. As a reminder, individual field-level editing permissions can be set across the view you are using as the sync source. We cover more on permissions and Two-way sync here.
Two-way sync destination configuration
In another base, you can follow the normal flow of adding a new table that will sync with the source table that has been configured. Click the plus sign and choose Sync data from Airtable base.
From here, you can either select a view from a base that you collaborate in or use a sync share link that has been shared with you. In either case, the source view you are syncing with must have two-way sync enabled to edit information in the destination table.
Click Next and then choose which fields, All fields or Specific fields, you would like to sync over from the source to this destination table. Even though you might be able to see a field in the destination table, it doesn’t necessarily mean that it will be editable. Editability is dependent upon the configuration made in the source as well as an upcoming step in the destination sync’s setup.
Once the field selections have been set, click Next to move onto the final setup screen.
Before creating your synced table, there is a setting that allows you to choose who can edit source records. Click Change below the Edit source records toggle to make adjustments based on your needs. This option is specific to the two-way sync feature.
There are three options available for source editing:
- Allow creators and above in this base to edit source records
- Allow editors and above in this base to edit source records (Default)
- Don't allow anyone in this base to edit source records
Two-way sync permissions have many considerations, we recommend consulting this article to dig into permissions dependencies more deeply.
Once you’ve selected your desired settings, click Create table. It’s a good idea to check that the functionality of the table matches your expectations. If you need to adjust any parameters of this synced destination table, then click the drop-down next to the table’s name and select the Update sync configuration option.
Two-way syncing in interfaces
Once a table with two-way sync enabled has been set up following the steps listed in the section above, interfaces can be configured to allow edits to be made from an interface page. These edits will sync back to the source just like edits made in a destination table. There are two general interface surfaces where two-way syncing can be enabled:
- Visualization layouts - These layout types offer quick configuration options and an experience similar to views in Airtable bases.
- Interface elements - The following interface elements support two-way syncing: Grid, Record detail, Calendar, Kanban, Timeline, Gallery, List, and Record picker.
There are two surfaces within visualization layouts that allow end-users to edit records. You can choose to use one of these options independently, or both of these options together:
- Click into record details - Setting up this option allows end-users to open up more details for a specific record. Builders can customize this record detail page as a sidesheet or fullscreen experience. Each field that you want end-users to be able to edit will need to be configured individually. From the customization screen for the record detail page, click a field that you want to make editable. Under the Permissions section change the setting to Editable.NoteIf you see a message that "This field is synced from a source that doesn't allow it to be edited," then there are likely field editing permissions in the source base preventing the field from being set as Editable.
- Edit records inline - You can choose to also make inline editing possible for all available fields from the source. To do this click on the Edit records inline option and then toggle on the option that appears in the settings.
Individual interface elements can be set as editable as well. Under Permissions, choose the Editable option to allow editing for all available field from the source. In certain elements, like the record picker element, you can also choose to allow records to be edited. However, to accomplish this, each field that you want end-users to be able to edit will need to be configured individually. Click each field to change it's Permissions settings to Editable.
Limitations
We cover these limitations in more detail as well as dependencies and best practice considerations in a separate article.
- Edits (two-way syncs) are not allowed in Gantt views.
- New records cannot be added from a destination base.
- Linked record, user, and attachment fields are not editable.
- Linked record and user fields sync as text fields.
- Button, formula, and other computed field types are not available for syncing purposes since they can rely on information that is unavailable in destinations.
- Fields that are added, or customizations to fields (e.g., adding a select field option) in a destination table will not sync back to the source.
- Two-way sync sources containing more than 200k cells (e.g. 10k records x 20 fields) are not available.
- Sync may take a few minutes to propagate in both directions.
- Edits cannot be made using automations, API calls, or the mobile app in destinations.
FAQs
Changes to the source table will usually take a few minutes to sync to a destination table with automatic syncing turned on. Destination bases with manual sync turned on will need to be synced manually for changes to appear. When a change is made in the destination table, it will sync with the source table in close to real-time.
Yes. Views containing more than 200,000 cells (e.g. 10k records x 20 fields) are not available for use as a two-way sync source.
Just as with one-way sync, in the destination table, any changes will be attributed to “Table Sync.”
No, just like in one-way sync, that field will appear in and be owned by the destination base.
Field type customizations are specific to the destination base and won’t apply to source bases.
No. Linked records are converted into unlinked, non-editable text fields in destination bases.
No, records can only be created in the source table.