Cross-doc actions are only available in the Team tier. So, if you are seeing an error message, double-check your account type. 

There are currently 4 Cross-doc actions available:

  1. Push Button
  2. Add Row
  3. Modify Row
  4. Delete Row

While this isn't quite a two way sync, it will cover a bunch of the cases we've heard Coda customers share with us.

Initial setup

First, add the Cross-doc table you wish to use to perform actions.

By default, tables you drag in can only display data rather than  perform actions. If you're the Doc Maker, you can change the permissions to allow for actions.

Here are the steps:

  1. Go to the Settings tab under the gear in the top right
  2. Click on Packs
  3. Click on Cross-doc
  4. Click on Settings
  5. Under shared accounts you should see something labelled "Read-write access to <table name>". Click on this option.
  6. Change the drop down from View data to Take actions and view data.

Push Button Action

The push button action allows you push buttons in other docs from your current Coda doc. Here's how to configure this action:

  1. Add a button column
  2. In the actions list select Cross doc > Push Button
  3. Select the read-write account that matches the table 
  4. Enter the Row URL you wish to change, if it's in a table you can just use the formula =Row.RowURL to get the current rows URL.
  5. Click the dropdown list for Column and you should see a list of available buttons to push
  6. Push the button to test it. You should see a notification that says "1 External action performed"

If you are changing data, you'll see the changes come through once you sync the table again. Note, if you're pushing a button that would open a row view or open a URL that will not be reflected here.

Add Row Action

There are a few ways you could set up this action. Your setup depends on if you have a fixed type of data you want to add each time (like today's date and time for a timesheet table), or if you want to be able to manually input the data. Since manual inputs are a bit more complex, let's walk through them here: 

  1. Set up a new table below your Cross-doc table and add the matching columns you want to input
  2. Add a button to this table
  3. In the actions list select Cross doc > Add Row
  4. Select the read-write account that matches the table 
  5. Press the f icon next to action to change to formula mode. You should see Crossdoc::AddRow([Read-write access to X]) in the formula builder.
  6. Add a comma and then a link to the table in your source document. The easiest way to get this link is to click the "here" link in your crossdoc table below the title.
  7. Now we need to map the columns from this table to your original table. Do this by typing the name of the column you want to update in quotes (e.g. "Column1")
  8. Then add a reference to the column in this table which had the updated value. It should look like a colored reference to the column.
  9. For more columns keep alternating this pattern of target column name in quotes and then the reference to the current table (all comma separated). The formula help text should make it clear what goes where

You're all set! To test your action, click the button and you should see the notification "1 external action performed". 

Modify Row Action

You might want your cross doc action button to modify rows elsewhere. If that's the case, you'll choose this action.

  1. Add a column for each column you wish to edit. Think of one of them as the output column for the ones already in your Cross-doc table, and this new column as the input column to modify the data.
  2. Add a button column
  3. In the actions list select Cross doc > Modify Row
  4. Select the read-write account that matches the table 
  5. Enter the Row URL you wish to change, if it's in a table you can just use the formula =Row.RowURL to get the current rows URL.
  6. Press the f icon next to action to change to formula mode. You should see Crossdoc::ModifyRow([Read-write access to X],Row.RowUrl) in the formula builder.
  7. Now we need to map the columns from this table to your original table. Do this by typing the name of the column you want to update in quotes eg "Column1".
  8. Then add a reference to the column in this table which had the updated value. It should look like a colored reference to the column.
  9. For more columns keep alternating this pattern of target column name in quotes and then the reference to the current table (all comma separated). The formula help text should make it clear what goes where

Now you're all set. Hit the button and you should see the notification "1 external action performed". 

Delete Row Action

If you want your cross doc action button to delete rows in other Coda docs, you'll choose this option.

  1. Add a column for each column you wish to edit. Think of one of them as the output column for the ones already in your Cross-doc table, and this new column as the input column to delete the data.
  2. Add a button column
  3. In the actions list select Cross doc > Delete Row
  4. Select the read-write account that matches the table (you should have changed the permissions for this earlier)
  5. Enter the Row URL you wish to delete, if it's in a table you can just use the formula =Row.RowURL to get the current rows URL.

Now you're all set. Hit the button and you should see the notification "1 external action performed". The next time you sync, the row will disappear.

Did this answer your question?