Airtable buttons are the smallest interface element with the biggest impact on day-to-day workflow. A well-placed button collapses a manual sequence — open record, copy email, open Gmail, paste, write subject, write body — into a single click that does all five steps with the record's data already filled in.
In 2026 buttons can do four distinct things: open a URL, open another record, run an automation, or navigate inside an Interface. This guide covers each, with the formula syntax for URL buttons and the automation patterns that turn buttons into real one-click workflows.
What an Airtable Button Is
A button is a field on a table. The field stores no data — it renders a clickable button in every row, with optional dynamic label, color, and behavior. Click the button on a row and Airtable performs the configured action for that row, using that row's data.
Buttons appear:
- In grid view as a button in each row
- In gallery and Kanban views on each card
- In expanded record cards
- In Interface Designer as a standalone button element
The button field is the bridge between the database and an action — the "do something with this record" affordance that data alone cannot provide.
The Four Button Actions
| Action | What it does | Common use |
|---|---|---|
| Open URL | Opens any URL, optionally built from a formula | Email, calendar invites, Stripe, docs |
| Open record | Opens a linked record | Jump from invoice to client |
| Run automation | Triggers a When a record is clicked automation | Sending emails, status changes, integrations |
| Run extension | Activates the Scripting extension with the row context | Bulk operations, complex data work |
The first two need no automation builder; they are pure UI affordances. The last two are where buttons become real workflow tools.
Setting Up a Button Field
- Open the table where the button should live.
- Add a new field, choose Button as the type.
- Set the Label — either static text ("Send Invoice") or a formula that builds the label dynamically.
- Choose the Style — color and optional icon.
- Set the Action — one of the four above.
- Save.
The button now appears in every row. Test it on a sample record before deploying.
Dynamic labels. Use a formula in the label to make the button text reflect the row's state:
IF({Status} = "Draft", "Send for Approval", "Resend")
The button reads differently depending on the row's current state — a small touch that makes the UI feel responsive.
Pattern 1: Open URL Buttons
The Open URL action is the simplest and most versatile. Set the URL to either a static value or a formula. The formula approach is what makes the button useful for real workflows.
Compose a personalized Gmail.
"https://mail.google.com/mail/?view=cm"
& "&to=" & ENCODE_URL_COMPONENT({Email})
& "&su=" & ENCODE_URL_COMPONENT("Quote for " & {Company})
& "&body=" & ENCODE_URL_COMPONENT(
"Hi " & {First Name} & ",\n\nFollowing up on our call..."
)
Click the button on any contact and Gmail opens with the To, Subject, and Body filled in.
Open Stripe customer page.
"https://dashboard.stripe.com/customers/" & {Stripe Customer ID}
Open the record in Google Calendar to schedule.
"https://calendar.google.com/calendar/render?action=TEMPLATE"
& "&text=" & ENCODE_URL_COMPONENT({Meeting Title})
& "&dates=" & DATETIME_FORMAT({Start}, "YYYYMMDDTHHmmss")
& "/" & DATETIME_FORMAT({End}, "YYYYMMDDTHHmmss")
& "&details=" & ENCODE_URL_COMPONENT({Notes})
Open a Loom recording prefilled with title.
"https://www.loom.com/record?title=" & ENCODE_URL_COMPONENT({Topic})
Open a prefilled Airtable form for this record. (For the update-via-form pattern see Airtable form to update existing record.)
"https://airtable.com/app123/shr456?prefill_Record+ID=" & RECORD_ID()
& "&hide_Record+ID=true"
The two essential formula functions:
ENCODE_URL_COMPONENT(value)— URL-encodes spaces and special characters. Wrap every dynamic value in it.RECORD_ID()— returns the current record's ID. Useful for prefill URLs.
Pattern 2: Run Automation Buttons
The Run Automation action is where buttons become real workflow triggers. The flow:
- Create a button field with action Run automation.
- In the automation builder, create an automation with the trigger When a record is clicked from a button.
- Select the button field as the trigger source.
- Add actions — send email, update fields, create record, send Slack, run script, send webhook.
The clicked record becomes the trigger record, so every downstream action has access to its field values.
Example: "Send Welcome Email" button on Contacts.
- Trigger: button clicked
- Action 1: Send email (to
{{Email}}, subject "Welcome to Acme", body templated with{{First Name}}) - Action 2: Update record — set
Welcome Email Sent At=NOW() - Action 3: Send Slack message to #sales — "Welcomed {{First Name}}"
The salesperson clicks one button, three things happen.
Example: "Approve Expense" button on an expense report.
- Trigger: button clicked
- Condition: only run if
Status = Pending(use a script action to guard) - Action 1: Update record —
Status = Approved,Approved By = {{User who clicked}},Approved At = NOW() - Action 2: Create record on Payments table with the expense details
- Action 3: Send notification email to the requester
For the full approval flow pattern, see the approval workflow tutorial.
Tip: feedback that the click worked. Buttons fire automations silently. Users worry their click did not register. Two solutions: (1) have the automation update a Last Clicked field that the user can see; (2) configure the button label as a formula that changes after the action runs:
IF({Approved At}, "✓ Approved", "Approve")
Pattern 3: Buttons in Interface Designer
Interface buttons are more flexible than field-level buttons. In an Interface page:
- Drag a Button element onto the layout
- Set its label (static or formula)
- Configure the action: Open URL, Open Record, Run automation, Navigate to page, Copy to clipboard
The Interface button supports actions a field-level button cannot — navigating between Interface pages, copying values, opening records in a different layout. The Run automation trigger from an Interface button is When a button is clicked in an Interface, which is a separate trigger from the field-level button trigger.
Common Interface button patterns:
- "New Project" button on a Projects dashboard that opens a Record Creation page
- "Mark Complete" button on a task detail page that runs an automation
- "Copy Customer ID" button on a billing page
- "Open in Stripe" button on a subscription detail page
Interface buttons feel more like buttons in a real app — they are not bound to rows, they sit wherever you place them.
Pattern 4: Button Field Comparisons
| Need | Use |
|---|---|
| Open an external app pre-filled | Open URL |
| Send a personalized email | Run automation → Send email |
| Jump to a linked record | Open record |
| Generate a PDF / invoice | Run automation → Script + webhook |
| Trigger a Make / Zapier flow | Run automation → Send webhook |
| Navigate between Interface pages | Interface button → Navigate |
| Copy a value to clipboard | Interface button → Copy |
| Conditionally available action | Formula label that returns "" when not applicable |
Real-World Examples We Build
Buttons we have shipped on client projects:
Sales team — "Push to HubSpot." Button on a Lead record that sends a webhook to Make. Make creates the contact and deal in HubSpot, then writes the HubSpot IDs back to Airtable.
Ops team — "Generate Invoice." Button on a Project that runs an automation: script generates a PDF via DocsAutomator, uploads it to the record, sends email to the client. See the invoice processing automation.
Recruiting — "Schedule Phone Screen." Button on a Candidate that opens a Calendly link pre-filled with the candidate's email and the role.
Customer success — "Send Renewal Reminder." Button on a Subscription that triggers an email + creates a follow-up task assigned to the account manager.
Content team — "Approve and Publish." Button on an Article that flips status, runs a publish webhook to Webflow/Ghost, and notifies the editor in Slack.
The pattern is always the same: identify the manual sequence the team does today, replace it with a button.
Limitations and Gotchas
- Buttons cannot be triggered from formulas or automations. They only run on user click. If you need a non-interactive trigger, use the underlying automation directly with a different trigger.
- Buttons require Editor access. Commenters and viewers see the button greyed out.
- Mobile button support is partial. Open URL and Open Record work on mobile. Run Automation works in the mobile app on most plans in 2026.
- One action per button. A button can only do one thing. Need two? Run an automation with multiple actions, or add a second button.
- Run Automation buttons hit your automation run limit. A button-heavy workflow on a Free plan can exhaust the monthly run cap. Check your plan in the Airtable pricing guide.
- No native confirmation dialog. Clicking a button immediately runs the action. For destructive operations (delete, refund), add a confirmation field — "Type CONFIRM and click Submit" — and gate the automation on it. Or use an Interface form layout.
Common Mistakes
No visual feedback after click. Users do not know if the click worked. Always update something in the automation — a timestamp, a status field, a Slack message — so the user can see it ran.
Button labels that lie. Setting the label to "Send Email" when the action is a webhook to Make confuses the team. Be literal: "Send Welcome Email", "Push to Stripe", "Generate PDF."
Forgetting to encode URL components. Email addresses with + aliases break URLs. Subjects with & break URLs. Always wrap dynamic values in ENCODE_URL_COMPONENT.
Putting buttons on every table. Buttons are most useful where the workflow stops at the record. Tables that exist only to support other tables (lookups, junctions) rarely need buttons.
Skipping the script step for complex logic. Some teams chain three Run Automation buttons to do one workflow. Better: one button, one automation, one script action that does all three things in code. Cleaner, faster, easier to debug. See the scripting guide.
Where to Go Next
Buttons are most powerful when paired with automations and Interface Designer. The pattern that comes up on every project is: design an interface page → add buttons → wire each button to a small focused automation. The result is something that feels like a real internal application, built with no code.
For Airtable's official documentation on the button field, see the Button field support article. For the broader story of how buttons fit into workflow design, the business process automation guide covers the strategy.