How to Append a Tag to a Multi-Select Field in Airtable (Without Overwriting the Existing Ones)

You have a base where each Contact has a Tags field, a multi select field you use to track how people interact with your business.

Some contacts are tagged as Newsletter Subscriber, some as Webinar Attendee, and some as Customer.

Now you want to create an automation that adds a tag when someone submits a form.

For example, whenever a person fills out your Product Feedback Form, you want Airtable to automatically add a tag called Feedback Submitted to their record.

So you set up an automation like this:

Trigger: When a new Product Feedback Form submission is received.
Action: Update record → Tags → Feedback Submitted

But instead of adding the new tag, Airtable replaces everything that was already in the Tags field.

If the contact originally had Customer and Webinar Attendee, those tags get deleted, leaving only Feedback Submitted.

This is not what you want.

You want the automation to add the new tag to the Tags field while keeping all the existing ones.

If the contact already has Customer and Webinar Attendee, you want it to become Customer, Webinar Attendee, Feedback Submitted.

Append a Tag in a Multi Select Field (No Code)

You don't need a script for this. If you insert the current value of the field from the trigger record, add a comma, and then type the tag you want to add, Airtable's Update record action will append it correctly.

Here is how to set it up step by step:

  1. Add an Update record action in your automation.
  2. Choose the record ID from the trigger step.
  3. Under Fields, select your multi select field, for example Tags.
  4. Click the small gear icon next to the field name to switch it to dynamic mode.
  5. Click the plus icon and select the Tags field from the trigger record. This brings in the current tags.
  6. After that, type a comma and then the new tag you want to add, for example {Tags}, Feedback Submitted

Airtable automation showing how to append a new tag to a multi select field without replacing existing tags

When the automation runs, Airtable keeps all the existing tags and adds Feedback Submitted to the list.

The Empty Field Caveat

There is one edge case to know about. If the Tags field is empty when the automation runs, the formula {Tags}, Feedback Submitted does not just write Feedback Submitted on its own. It creates a blank multi select option in addition to Feedback Submitted.

You will end up with an unwanted empty tag sitting alongside the one you meant to add, and it will show up every time this path runs on a record that started with no tags.

Handling the Empty Field Case

The fix is to branch the automation based on whether Tags is empty, so the record only ever gets the clean value.

  1. After your trigger, add a Conditional logic (If/Then) step.
  2. Set the condition to check if Tags is empty.
  3. In the If empty branch, add an Update record action that sets Tags to just Feedback Submitted, with no formula.
  4. In the Else branch, add an Update record action that sets Tags to {Tags}, Feedback Submitted, the same as above.

This adds one extra step to the automation, but it means every record ends up with a clean tag list, whether it started with existing tags or none at all.

When to Use a Script Instead

The conditional logic approach above covers the common case: adding one tag, keeping the rest, and handling the empty field. For anything more involved, a Run a script action gives you more control.

Reach for a script if you need to:

  • Avoid duplicate tags, for example if the automation could run more than once on the same record and you don't want Feedback Submitted added twice.
  • Validate the tag against the field's existing options before writing it, instead of letting Airtable create a new option automatically.
  • Add or remove a tag based on more complex conditions than a single If/Then can express.
  • Work with a tag name that comes from a dynamic source, such as a lookup or a value computed earlier in the automation.

In those cases, the script reads the current tags with getCellValue, checks whether the new tag is already present, and writes the combined list back with updateRecordAsync. The same pattern also removes a tag by filtering it out of the array instead of adding to it, and it applies to collaborator fields, which have the same overwrite on update problem.

For most single tag, single condition setups like the Product Feedback Form example above, the no code method with conditional logic is enough. Save the script for when the logic outgrows what If/Then can handle.