Button component
Canonical page for button click actions. Form submit is a different system — that lives on Form submit redirection. Cross-link, Form submit actions are documented separately — cross-link instead of duplicating.
What this is / when to use it
Section titled “What this is / when to use it”A Button (BUTTON) is a component the user taps. It does not submit the form. It runs one click action:
| Action | Enum | What it does |
|---|---|---|
| Open URL | OPEN_URL |
Opens a link (http/https, or an in-app path you control). |
| Dial phone | DIAL_PHONE |
Opens the device dialer with a number. |
| Open email | OPEN_EMAIL |
Opens a mailto. |
| Open SMS | OPEN_SMS |
Opens a sms: draft. |
Use a button when the user should leave the current context without writing the form.
Use form on_submit when the user should save the row and then change data, go to a screen, or redirect. Those subtypes are change_data, go_to_screen, redirect_url.
When not to use a button:
- “Save” / “Submit” — that is the form submit control.
- “Start approval” — attach a workflow to submit or to a workflow button in Automation, not
OPEN_URL. - “Pick related rows” — use a reference input with
SELECTION.
Before you start
Section titled “Before you start”- You are on Details, Content, or a form where a secondary action makes sense (Cancel, Call client, Open contract).
- The URL / phone / email / SMS value is either a literal or bound to a property (Show URL vs Button — prefer Button when you want a labeled control).
Build it
Section titled “Build it”- Add Button.
- Set the label (“Call client”, “Open invoice”).
- Set color style
DARKorLIGHT. - Set On click to one of
OPEN_URL,DIAL_PHONE,OPEN_EMAIL,OPEN_SMS. - Bind the value (literal or property).
- Set visibility if only some users should see it.
- Publish and tap the button on a phone and on desktop.
Every control
Section titled “Every control”| Control | Options | What it does |
|---|---|---|
| Label | Text | Button text. |
| Color | DARK / LIGHT |
Visual style. |
| On click | OPEN_URL / DIAL_PHONE / OPEN_EMAIL / OPEN_SMS |
Click action. |
| URL / phone / email / body | Literal or field | Payload for the action. |
| Visibility | Shared visibility enums | Hide for some rows or users. |
Screen-level actions (create/update/delete/bulk) are not button components. They are Screen Actions.
What users see
Section titled “What users see”A tappable control. It does not validate the form and does not write Notion. If the device cannot dial (desktop without a tel handler), the browser shows its default failure.
Limits and plans
Section titled “Limits and plans”- Buttons do not start Workflow Foundation by themselves. Use a form submit trigger or a workflow button_clicked attachment when the workflow builder offers it — that is an Automation binding, not
ButtonOnClickAction. OPEN_URLto another screen’s public URL is brittle. Prefergo_to_screenon submit, or a hidden-nav screen opened from Screen Actions.- SMS and dial need a real device capability.
Example
Section titled “Example”Details of a vendor: Button Call = DIAL_PHONE on Phone, Button Email = OPEN_EMAIL on Email, Button Portal = OPEN_URL on the vendor’s URL property.
The form’s Submit still uses on_submit → go_to_screen → Thank you content page.
Fix problems
Section titled “Fix problems”| Symptom | Likely cause | What to do |
|---|---|---|
| Button “does nothing” on submit | You expected it to save | Use the form submit button. |
| Workflow does not run | Click action is not a workflow trigger | Bind button_clicked in Automation, or use form_submitted. |
| mailto empty | Email property empty | Bind a filled property or a literal. |
Related
Section titled “Related”Form submit: Form submit redirection. Screen record actions: Screen Actions. Workflow triggers: Trigger catalog.