Inside this article

How to use automations
Watch a video about automations
Automation examples
Debugging automations

  • Can I test an automation?
  • How do automations work with formulaic columns?
  • Can automations trigger automations?

How to use 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 parts:

  • When - what should trigger the automation
  • If - the conditions that determine whether the automation should proceed further  (this is an optional setting)
  • Then - the action you want Coda to take 


Let's start with When. You can choose from several triggers:

Row changed lets you monitor how your doc develops over time:

And, Time-based lets you pre-schedule tasks for regular updates:


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 only want the automation to move forward if the task belongs to the Mapping team:


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.

If you've installed Packs, you'll be able to use them as well in your Then actions. 

If you have more steps you'd like to see in your automation, simply click the + icon:

You'll also see every time the automation ran under the Activity tab. The final step is to turn your automation on by toggling the on/off switch:

Using outputs of previous steps

As you're building out your automations, you may want to use the results of previous steps in later steps of your automation.  For example, you may want to notify the owner of a row when it is updated.

Watch a video about automations

Automations examples

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:00am 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:

Overdue notifications

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
  • If 
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.

Emailing Updates

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:

Debugging Automations

Sometimes an automation 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.

Common Errors

_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 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?

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 automations 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 formula based columns that are manually updated rather than columns that are populated by formulas. Stay tuned for updates!

Can automations trigger other automations?
Not at this time, but stay tuned!

Did this answer your question?