Several actions for button

Is it possible to make a several actions for different tables on a one button?

For example: i have two tables - tasks and sprints. Tasks table have a lookup column to sprints table. I want to place button “Start new sprint”. It needs to make 2 actions: in sprints table - create new entry. In tasks table - set value in lookup column for not closed tasks to new sprint

For now i can make only several steps in action for button.

Hey @Alexander

what you can do is to push multiple buttons with one button.

If you want to insert something into two tables:

  • Button 1 Add Row to Table 1
  • Button 2 Add Row to Table 2
  • Button 3 Push Buttons -> Button 1, Button 2

BUT there is one restriction:
The buttons are kind of triggered simultaniously. That means, your Button 2 does not wait for results of Button 1 and can therefor not reference a row that is created with Button 1.

This will NOT work:

  • Button 1 makes a calculation and creates a new row in table A
  • Button 2 reads the value of the new row of table A and uses it for table B
  • Button 3 Push Buttons -> Button 1, Button 2

Example workaround I used in the Game: LIP2: Out of the dark 🕯 :

  • Formula Z on the Canvas makes a calculation
  • Button 1 refernces the calculation Z for table A
  • Button 2 references the calcuation Z for table B
  • Button 3 Push Buttons -> Button 1, Button 2
1 Like

Hey @Alexander @Daniel_Stieber, I’ve been wondering the same thing regarding buttons. I’m trying to make a submit button for a row of information, but I want to have more than one thing happen as a result of hitting the button. Is there a simpler way to do this than creating 3 buttons as Daniel has suggested?

The forms with pre-defined actions are rather limited (with Push Buttons as a possible workaround), but you can do some very advanced stuff without creating extra buttons by switching to a formula in the actions area and using RunActions(). As an example, I am modifying the current row and creating a new one for some “carry over” button through something like this: RunActions(AddRow(...) ,ModifyRows(thisRow,...))

Based on my experience, the actions are executed in order of appearance.

2 Likes

Yep. That works. And Coda confirm that RunActions() performs the actions in sequence, not in parallel. So you can do things like moving thisrow from one table to another by Runactions(Addrow(…), DeleteRows(thisrow))

That’s correct. This was a change we made before launching buttons and automations (https://blog.coda.io/new-building-block-automation-811a4d604f91) because of feedback on this (like @Daniel_Stieber’s above) – actions are run sequentially now.

2 Likes