I have a bunch of columns/fields that use the same list of single-select values. I have changed the colors of the selectable values in one of the columns and I want to apply the same change (colors) to all the other columns with the same range of values. How can I do this short of manually edit the colors on all the other columns?
Hi there, has anyone figured out a way to do this? I’m looking for the same thing… I was poking around in automations and I can see that you can theoretically add the single-select field’s color into a new single-select field, but when I do so, rather than update the color, it writes it out as a single-select option (“blueLight1”). I’ve got a two tables that do different things, but want them to have the same single-select fields and values as each other, so that at the interface level, the client sees the same colors associated with the same options across the board. Any insights appreciated!
Hey
If you get to the conclusion that that is not possible (I did not play around with it, but I believe that is the case) you might want to assess the following alternative:
Create a new table called Options.
On the Name (primary field) of such table, make sure to list all options that you would have as single selects.
Also include a colored emoji before at the very start of the option’s name.
Rather than using single select fields on your table, use linked record fields, linking to the Options table.
This is not exactly the same, but you get the best out of both worlds colors (using the emoji) and unique same values (given that both fields are linked to the exact same table).
Not ideal, but easier to maintain and scale!
Feel free to grab a slot using this link if you need help setting this up or have any other question. I’d be happy to help!
Mike, Consultant @ Automatic Nation
Oh, also you might want to submit your request for the missing feature using this Product Idea form!
Try using a script extension for it:

let settings = input.config({
title: `Copy select field options`,
items: [
input.config.table("table", { label: `Table` }),
input.config.field("copyField", { parentTable: `table`, label: `Select field to copy options from` }),
input.config.field("pasteField", { parentTable: `table`, label: `Select field to paste options into` }),
],
});
let { table, copyField,pasteField } = settings;
const options = copyField.options
const cleaned = options.choices.map(({ id, ...rest }) => rest);
await pasteField.updateOptionsAsync({choices: cleaned})
To use it, add a Script Extension block then paste in the code and select the fields you want to copy and paste into. This is irreversible though, so I’d suggest you test it out a couple of times until you’re comfortable before using it in production!
Nice
Mike, Consultant @ Automatic Nation
oh wow
Yeap sure, try this:
let settings = input.config({
title: `Copy select field options`,
items: [
input.config.table("sourceTable", { label: `Source Table` }),
input.config.field("copyField", { parentTable: `sourceTable`, label: `Select field to copy options from` }),
input.config.table("destTable", { label: `Destination Table` }),
input.config.field("pasteField", { parentTable: `destTable`, label: `Select field to paste options into` }),
],
});
let { table, copyField, pasteField } = settings;
const options = copyField.options
const cleaned = options.choices.map(({ id, ...rest }) => rest);
await pasteField.updateOptionsAsync({choices: cleaned})
Thanks,

Any idea what that’s about? Is it that I have perhaps deleted an option in the original field that was present in the destination field?
Ah that’s happening because the field you’re trying to paste into already has options in it. Try deleting all the options first and then running it again. If this is something you’re doing constantly let me know and I’ll update the script to clear the options out automatically before trying to paste the new ones in
Ah, makes sense! Yeah, I had originally thought I’d just do it once, but have since realized my use case is actually going to involve updating it whenever new options are created in the original table.
I’ve actually added an automation to create the same options in the second table whenever the first one updates, but haven’t been able to make them match the colors. Do you think the best solution would still be to use the script extension above so it can update the whole field each time something new is added, or is there a script that can be added to the automation I have, to make the color match once I add a new single-select option? Just trying to think of what would be more straightforward. Thanks a lot for the help, as always!
Ahh, unfortunately at this point we can only update option colors via a scripting extension I’m afraid, here’re the docs: https://airtable.com/developers/scripting/api/field#update-options-async

Here’s the updated version that will delete all the options from the field you want to paste in before creating the options from the original:
let settings = input.config({
title: `Copy select field options`,
items:
input.config.table("sourceTable", { label: `Source Table` }),
input.config.field("copyField", { parentTable: `sourceTable`, label: `Select field to copy options from` }),
input.config.table("destTable", { label: `Destination Table` }),
input.config.field("pasteField", { parentTable: `destTable`, label: `Select field to paste options into` }),
],
});
let { table, copyField, pasteField } = settings;
const options = copyField.options
const cleaned = options.choices.map(({ id, ...rest }) => rest);
await pasteField.updateOptionsAsync({ choices: h]}, {enableSelectFieldChoiceDeletion: true});
await pasteField.updateOptionsAsync({ choices: cleaned });
thank you so much,
Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.