Inside this article
Automations are rules that you give your Coda doc to follow, defined by formulas, tables, & row references. These rules can be set to trigger at defined times or when changes are made to a table in your doc.
How to create Automations
To create an automation, click the gear icon in the toolbar:
Then select the Automations option:
To create a new rule, click Add Rule in the panel that appears:
Automations have three (or more) parts
When - What should trigger the automation. The trigger will return a Step 1 Result value that can be referenced in the following steps.
If - The conditions that determine whether the automation should proceed further (this is optional).
Then - The first action you want Coda to take.
And Then - The action(s) you want Coda to take after the first. Use this when you want an automation to trigger another automation.
Let's start with When. You can choose from the following triggers:
a. Row changed automation lets you monitor how your doc develops over time.
Step 1 Result for row changed automation will return the row that triggered the automation. You can then call that row forward in the following steps to pull specific column data. E.g. [Step 1 Result].[Status].
For row changed automation, Step 1 Result is comparable to thisRow in column formulas.
Views cannot be referenced in automation rule triggers. You'll need to target the original table in order to trigger based on a view. Ideally, the original table should remain unfiltered.
b. Time-based automation lets you pre-schedule tasks for regular updates.
Step 1 Result for time-based automation will return the exact date and time that the automation runs, which can be up to 5 minutes after the scheduled time depending on your doc's performance.
This field is optional. In many cases, you can skip it. However, sometimes you only want the automation to do something if a certain condition is true. To access it, click on the + button that shows up when you hover in-between steps. That being said, you can be as creative as you like using Coda's formula language.
In the example below, I am using row-change automation. I only want the automation to move forward if the status is modified to "In Progress" but not when a new row is added. This assumes that the Display column is always blank for new rows.
Finally, you'll choose what you want Coda to do on your behalf. You have the following options:
Add row to any table in your Coda doc
Add or modify rows will add new rows or modify row if matching rows already exists
Modify rows will change rows based on your criteria
Delete rows will remove content
Push buttons can push buttons inside your Coda doc
Notify will send out a Coda notification, similar to Coda comments.
Write-in formula will allow you to circumvent the formula builder and write your own. A popular option includes using Step 1 Result to specify users to notify (e.g. the assigned column for that row) instead of pinging the entire column. To access, click on the f button in the top-right corner.
If you've installed Packs, you'll be able to use them as well in your Then actions.
4. And Then
If you have more steps you'd like to see in your automation, simply click the + icon to add And Then statements:
You can see every time the automation runs under the Activity tab. The final step is to turn your automation on by toggling the on/off switch:
Watch a video about Automations
Weekly summary notifications
This automation lets you receive a notification every week with reminders and details. We've chosen to receive a notification every Monday at 9:00 am in this automation:
Note using Coda Packs, you could choose to receive an email instead.
Changing the task owner based on phase
If you need to hand off work based on the status of an item, you can let Coda take care of assignments. In the following example, we want Maria Marquis to be assigned if Escalation is needed:
What we've done in the following example is to have Coda notify Maria Marquis every day at 9:00 if there are incomplete tasks with end dates that have passed :
When - Time-based
Tasks.Filter(End > Today())
Then - Notify, Specific Users
Connecting Automations and packs
Automations can become even more powerful by combining them with packs. Here are a few of our favorites.
If you want to send an email update to your project team every Monday morning, you could set up the following automation:
Post Updates to Slack
If your team prefers to use Slack rather than email, you could create a similar automation posting to slack instead:
Sometimes an automation rule will fail and produce an error that needs attention. You can find those errors by clicking the Doc Settings gear in the top right-hand corner of your docs, then clicking on the Automations menu, then choose the Automation Rule that has an error from the list. Finally, click Activity to see a full list of recent automation attempts to find the error.
Now that you've located the error, you reveal the detailed error message by hovering over the red error icon.
_DEREF_OPT expects parameter input to be either a row from an unknown table or a list of rows from an unknown table, but found value (*), which is a text value
This error means your automation expected a row, or a list of rows as an input and the value you've provided through your automation is not a row. That can also mean that you did provide a list of rows but that list was blank. Check your automation rule to make sure you're pointing it at a row or list of rows. If you're still having trouble, write in to our support team and we can help!
Can I test an automation rule?
Yes! In the automation panel, you'll see a Test Rule button. Click it to see how the rule will function, and to ensure that you've set it up appropriately.
How do automation rules work with formulaic columns?
Currently, the modified row trigger can only work with columns that are manually updated (via direct edits, button-generated edits, or API edits). They do not work on value changes in columns that are populated by formulas. Stay tuned for updates!
Can automation rules trigger other automation rules?
Not at this time, but stay tuned! As a workaround, you can use And Then statements to add multiple actions to the first automation using the plus button.
Looking for inspiration? Check out the Gallery for tons of great Docs using automations examples.