For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

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

  1. You are on Details, Content, or a form where a secondary action makes sense (Cancel, Call client, Open contract).

  2. 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

  1. Add Button.

  2. Set the label (“Call client”, “Open invoice”).

  3. Set color style DARK or LIGHT.

  4. Set On click to one of OPEN_URL, DIAL_PHONE, OPEN_EMAIL, OPEN_SMS.

  5. Bind the value (literal or property).

  6. Set visibility if only some users should see it.

  7. Publish and tap the button on a phone and on desktop.

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

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

  • 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_URL to another screen’s public URL is brittle. Prefer go_to_screen on submit, or a hidden-nav screen opened from Screen Actions.

  • SMS and dial need a real device capability.

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_submitgo_to_screen → Thank you content page.

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.

Form submit: Form submit redirection. Screen record actions: Screen Actions. Workflow triggers: Trigger catalog.

Last updated