Base
RequiredTextThe base's ID — it starts with app.
appuy3nUR6Lbdz4YB
Change the record whose fields match, or add one when none does.
First, connect Airtable in Services. Then open Actions → + → Airtable and choose Add or Update a Record.
To find this direct request action, choose Every Airtable endpoint in the integration’s picker. The setup guide also explains the dedicated forms for common tasks.
Running or testing this action changes something in your connected service.
Match On names one to three fields — by ID or name — whose values find the record: text, long text, number, single or multiple select, or date. No match adds a record, one match changes it (fields left out keep their values), and more than one match fails without changing anything.
Fields are written as for Create a Record; they're sent as the one record in `records`, and the step hands on that record.
Open an input to choose its value. Keep a fixed value with Text, receive it from Shortcuts, ask when the action runs, or use an Earlier Step. Read how input sources work.
The base's ID — it starts with app.
appuy3nUR6Lbdz4YB
The table's ID (tbl…) or its name. The ID keeps working after a rename.
tblPB4GqFZqIMqIuK
A list of one to three field IDs or names. Each must be filled in below.
["Name"]
Keyed by field name or ID. Leave empty when the step fills the fields one by one.
{"Name":"Buy milk","Status":"Todo"}Yes lets Airtable convert text into the field's type — and create a select option that doesn't exist yet. Left off, a value that doesn't fit is refused instead.
In the action editor, open Output → Returned Value to choose fields for your shortcut. These are the response fields described by the app; a service may omit an optional field or return an empty list. JSON File contains the full response.
| Returned field | Type | Meaning |
|---|---|---|
id | string | The record's ID. |
createdTime | string | ISO 8601. |
fields | object | Keyed by field name. A field with nothing in it isn't listed at all. |
If the result is unexpected, open Logs in Shortcutify, select the run, and inspect this step’s inputs and response.
Request: PATCH https://api.airtable.com/v0/{base_id}/{table_id}
Action identifier: airtable.records.upsert.v1
Permissions declared for this action: data.records:write. The account’s own access rules also apply.
| Input | Request key | Location |
|---|---|---|
| Base | base_id | path |
| Table | table_id | path |
| Match On | performUpsert.fieldsToMergeOn | body |
| Fields | fields | body |
| Convert Values | typecast | body |