In Coda, it's possible to create a single button that triggers multiple other actions. These secondary actions can be other buttons or other action formulas like AddRow() or Notify(). The ability to perform multiple actions with a single button is especially useful for bundling related actions, automating multi-step processes, or coordinating changes across rows.
Under the hood, this functionality is powered by the RunActions() formula. In this article, we’ll show you how to use this action effectively!
Within this article, you’ll find...
The “Push buttons” button
Coda provides a Push Buttons action within button settings that allows you to trigger the actions of other buttons.
This button action offers a no-code approach to setting up a button that can "press" multiple buttons across rows in tables, or elsewhere on the canvas in your doc, without writing out a RunActions() formula. This is useful for triggering batch updates, conditional logic, or coordinating steps in a workflow with a single button press.
Create a “Push buttons” button
To create a button with the Push Buttons action, follow these steps:
Add either a button column or a canvas button, depending on your needs
Right-click on the new button or button column to open the button settings
Click into the On click dropdown, and select Push buttons from the options
Then select which other buttons in your doc this button should push. You should be able to find any existing buttons in your doc, both in tables and on the canvas. If you want to push multiple buttons at once, use the + Add button option to add even more.
The RunActions() formula
RunActions() is a Coda formula that allows you to execute multiple actions in order. Unlike the Push Buttons button, this formula can do more than just push other buttons. It supports a wide range of actions, including:
Button actions (like those found in button columns)
So if you wish to take other actions besides just pushing buttons, or if you prefer to write your own formulas, you can use the RunActions() formula.
💡 Fun fact: When you use the Push Buttons button - as described in the previous section - you’re actually using the RunActions() formula behind the scenes.
RunActions() example
Let’s go over an example. Imagine you have a table of tasks you’re working through, and each task has a stakeholder. You want a button that, when pressed, will simultaneously mark the task as “Done” and notify the stakeholder of the status change. You can do this by adding the RunActions() formula to the button. The formula might look something like this:
RunActions(
ModifyRows(thisRow, thisRow.Status, Done),
Notify(thisRow.Stakeholder, "Your requested task has been completed!") )
Example use cases
Here are common scenarios where a Push Buttons action is especially effective:
Combining canvas and table buttons
The Push Buttons action works with both buttons on the canvas and button columns in tables. This makes it flexible for coordinating logic across different parts of your doc.
Batch actions across a table
Use a canvas button to apply the same logic to multiple rows by targeting a button column. For example:
Mark all tasks of a particular status as "Completed"
Approve all requests with a specific status
Send reminders for overdue items
Send out several messages from Coda via the Slack Pack or Gmail Pack button actions. Check out the “Send all emails” button in this example doc.
Archive or move data between tables
Use a row-level RunActions() button in a table to accomplish two actions with each click:
Add a row to an archive table (e.g., “Archived Projects”)
Delete or update the original row in the source table (e.g., “Projects”)
Then use a canvas button to push those row-level buttons with a filter (e.g., Status = "Completed"), allowing you to archive multiple items in one click.
💡 Interested in building out this example? Check out our Guide on this here.
Modify and add rows across tables
You can also use row-level buttons to coordinate actions between tables. For example:
A row-level button in an “Opportunities” table could accomplish both of these actions in one click:
Modify the opportunity’s stage
Add a record to a Sales Activity log
By pushing that button for several rows using a canvas button, you can update multiple records and create associated entries in another table simultaneously.
FAQs
What happens if a target button is disabled?
What happens if a target button is disabled?
If a target button is disabled due to a “disable if” condition, its action will not run when your button that pushes buttons is pushed. Make sure your button logic allows it to be triggered when expected.
Can I use “Push Buttons” inside an automation?
Can I use “Push Buttons” inside an automation?
Yes. Coda automations support the Push Buttons action. You can configure an automation rule to push buttons in a specific table or buttons located on the canvas in your doc.
Does the “Push Buttons” button (and the RunActions() formula) run sequentially?
Does the “Push Buttons” button (and the RunActions() formula) run sequentially?
Yes, the Push Buttons button (and the RunActions() formula) will process each action sequentially, in order from top to bottom (or left to right). Each action must complete before the next action can run.
Related resources
Button basics | Coda Help Center
Adding formulas to buttons | Coda Help Center
Take actions with Pack buttons | Coda Help Center
RunActions() on a Subset of Rows | Shishir’s Community Tips and Tricks