Inside this Article
What are controls?
Controls— like buttons, select lists, and sliders— make your doc easier to interact with and more intuitive for your team. For those familiar with programming, you can use controls as the front-end and tables as the back-end to make your doc more like an app for your team. Add a checkbox that filters a table or a scale of coffee cup icons to take the temperature in a meeting.
With controls, you’re able to define how and where others interact with your doc, and create safeguards so your more cautious teammates can add or edit a row without fear of breaking a table.
You may have seen many of these controls as types of column formats within tables, but you can also add these building blocks to other parts of your doc, including the canvas. This makes it possible to set up easily filtered views of your data. To read more about filtering your tables or views with controls, check out this article.
Different types of controls
There are a few different types of controls to choose from, each with its own powers and possibilities. We’ve listed out the current types below, plus some examples or helpful info (where applicable).
Text - similar to a search bar; check out this community post
Select - select a single item from a pre-set list of text values
Multiple select - select one or more items from a list of text values
Lookup - select row(s) from a specified table in the doc
Scale - a kind of discrete numeric control; set the range and choose the icons
Slider - another kind of numeric control, but with more flexibility; set the minimum and maximum value, plus the increment
Date - a pre-built date picker, with the option to modify the date format
Date & Time - same as the above, but with time included
Date range - a pre-built selection of date ranges, including past, present, and future options
Time - a pre-built time picker
Checkbox - a boolean control
Reaction - our newest type of control; check out this article
To get a full sense of how each control type works, add them to your doc and play around!
How to create a control in the canvas
On a new line, use the quick insert command “/” then type in “Control” to select the control of your choice.
Once created, right-click on the control to set your control’s properties. Although controls are given a name by default (e.g. "select 1"), we highly suggest personalizing the name of your control as this makes it easier to reference later on. Depending on the type of control, you’ll see different properties and options. The gif below shows the options available for the "select" control.
If you want your control to filter your table or view, you can alternatively create this control from within the filter builder for the table. Check out 5:00 of this video to see a walkthrough of this option.
How to create a control from a table
If you want your control to filter your table or view, you can alternatively create this control from within the filter builder for the table. To do this, navigate to the desired column with the data you want to filter against. Click on the menu at the top of the column. Choose “Filter,” then hover over “Interactive filter,” and select “Create control.” Based on the column type, Coda will automatically select the control it thinks is best and place it above your table.
How controls work
Once you’ve set up your control, you can reference that control’s value by calling the control name using formula language. On a new line, or in a formula editor, use the “=” sign to begin your formula and enter the control's name to reference it in formulas.
To interact with or filter a table with a control, be sure to use the Matches() formula. This makes it possible to match exact values, lists, and ranges. Controls used this way are also referred to as Interactive Filters (more on this here).
Control Mode (Personal vs. Collaborative)
Sometimes you may want a control that filters your data the same way for all users ("collaborative"). Other times, you may want a personalized control that allows each user to filter the data how they want ("personal"). To designate your control as either "collaborative" or "personal", right-click to view the control’s settings and choose the option that best fits your needs.
Personal: Each user has their own select value. Changes they make affect only them.
Collaborative: All users share the same select value. Changes affect everyone.
Note: All existing controls will stay collaborative by default, but new controls will be personal by default.
Setting a starting value
At the bottom of your control settings, you have the option to set a "Starting Value." This field allows you to specify the initial value that is populated until you choose to modify it.
For example, in the “Stage” control below, “Active” is the value that everyone will see if they haven’t modified the control value. Also, any buttons that contain the Reset control value action for the “Stage” control will revert it back to “Active.” Whether this reverts back just for you or for everyone depends on whether the control mode is personal or collaborative.
Watch a video on Controls.
The beginning of this video covers buttons, so skip to 2:37 to learn more about controls.