Video: 9.8 Beyond The Basics On Demand | Duration: 3208s | Summary: 9.8 Beyond The Basics On Demand | Chapters: Welcome to Beyond (0.08s), Tables and Formulas (37.9s), Conditional Formatting Features (95.73s), Grouping and Formatting (233.4s), Customizing Row Layouts (356.365s), Understanding Relation Columns (562.93s), Relation Columns Explained (673.88s), Formula System Automation (1143.765s), Formulas and Buttons (1750.695s), Advanced Button Features (1820.66s), Advanced Button Functionality (1924.595s), Integrating Coda Packs (2288.77s), Exploring Cotopax Packs (2650.2551s), Automations in Coda (2685.75s)
Transcript for "9.8 Beyond The Basics On Demand": Hi, everyone. Welcome to the Beyond the Basics how to use advanced features session. My name is Jen, and I have the privilege of doing some user education here at Coda. This session is designed for folks who have attended our building basic session, or if you're well versed in building docs that have tables, views, filters, and other basic features, this session is for you. We're gonna dive into some more advanced features that'll help you begin to build workflows and systems that are a bit more bespoke and truly tailored to you and your team's needs. The content is geared towards makers, but editors, you can still access most of the features that we're gonna discuss. In this session, we're gonna cover tables2.o. We're gonna talk about features that are gonna help you better visualize your tables and connect them together. We're gonna dive into formulas, when and why you should use them. We're gonna talk about buttons, which buttons are great. They help add clarity for your doc users, but they can also help you automate your work. Next up, we're gonna talk about packs, which is our word for integrations, which let you connect with hundreds, possibly thousands of tools for you to use and centralize your work. And then last up, who doesn't love to automate things? We're gonna talk about our Coda automations, which let's say you wanna send out messages when a task is overdue, you wanna add recurring items to your to do list, or you wanna send out a notification when survey responses come in, all achievable through automations. This session is here in your inbox for you to reference as many times as you need, so feel free to rewatch, pause, take notes, whatever it is you need to do. With that, let's talk about tables some more. We have a number of features that will help you and your doc users better visualize your data. So in this section, we'll talk about row layouts to see expanded views of your data, conditional formatting, and grouping. So let's start there. To find both of those, you'll come into the table options. Now conditional formatting, you can access here to be able to add coloring, styling, based on formulaic values in your doc. So we're gonna add a rule here, and we can choose any of the columns that we have in this table, whether they are hidden or not. And so let's do, let's do driver. And we're gonna use my favorite one, which is current user. So now this is kind of a formula builder on its own. You can access the formula if you want yourself here and show the formula to be able to edit it and add to this if you want. Hide the formula and go back into this. And so now let's do we're gonna turn it green. And you can see it's gonna highlight the, rows and the columns where I'm the current user, where I'm the driver. Now I can change this to apply to all of the columns if I want. So turn that on. And then we can add additional rules here. So, you could use the formula builder to write out conditional formatting that encompasses a lot of different things, or you could just add some rules. So let's do where the deadline is before today, and we could choose what we wanted to do there. Now you can see all of these are before today, so let's just adjust some of these. Perfect. Okay. Now you can move these around to adjust the hierarchy if you want. And you can also see here, that this is giving you the option to inherit any of the conditional formatting that you might have set up from the, original table. So this table is a view from this projects table. So I could turn this on, and it would, take on the conditional formatting from that original table. So that's conditional formatting. One little hack that I do a lot, so let's say I'm gonna change it to a card view. And now you can see it looks nice with the conditional formatting, but let's say I don't actually want the formatting to do as I've got it now. But I just wanna kinda have a header up here, so I'm gonna actually set this up. Let's delete this and start over. We're gonna add a rule and just say with the projects, if it is let's do, blank not blank. We want it to be purple up top. So now because we've set this up where it's automatically gonna apply, we've got this coloring up top, that kinda adds this kinda header setup here. Alright. Let's get rid of that, and we'll go back to this regular table view. The other thing that I wanna highlight is grouping. So grouping allows you to be able to combine similar values over on the left side of the table here or up at the top. So we're gonna add a group. Okay. Let's add by status. And so now you can see it has grouped the similar status here, and we can add additional groups. So if you want multiple layers, here and, again, you can move these. You can edit these and choose what shows up, and you can also adjust and have the groupings show up at the top here. Alright. Let's get rid of that. And then, yeah, go back to options here. Okay. And then last thing, the table displays. So what the options that show up here are gonna be different based off of what, table type you're using here. So right in the card view, this is gonna be different than what shows up with this traditional table view, so on and so forth. So always come in here when you're, trying to work on the design of your tables. This is a really helpful area to come to drill in on what you want to do. So one of the great things about tables in Coda is that you can open them up. Right? You can open up these rows, and it's gonna show you all of the values from within this row because a row is a unit. Right? And so if you open this up, there's a few ways that you could do it. You could right click here, and you could open it up this way, or you can just click on the expand. And then now you can see that it's showing me the columns here, from this table. I can go into these three dots, and I can edit this layout. You see there's a few different options here, but I can edit this layout to show whatever information I want, and it's not gonna impact what is showing up the columns that are showing up on the table that you were looking at. So I'm gonna just unhide. Perfect. Okay. So now we can see all of these right here, and I'm gonna edit this layout again. There's some preset quick styles that you could use if you wanted. So So you can click on any of these, and it might get you close to what you want. But a lot of times, I just format it myself. So I can see anytime I get that little hand that shows up, that means I can grab content. And, once you grab it, you can move it to where you want. Now there are some limitations with Canvas columns and image types and all that, that you might not be able to format it exactly how you want, but you can see now if I look for the little line here, it's showing me where that information is gonna be dropped into. So let's move I want the driver, the deadline, and the status to all be on one. And then great. And then I want the budgeted and, what's been spent here to show up on this one. And this one, I already actually have a linked relation set up, which we're gonna talk about next, but you can get kind of a sneak peek here of of the benefit of that. I'll go ahead and and delete this, though, just so that we can set it up from scratch together. Alright. And that impacts that one too, so we'll delete that. Okay. So now you can see anytime I open up any of these rows, it's gonna have that same formatting. You can encourage people to open up these rows, right, if you add a call out here with instructions. Or something that we see folks use a lot is to add a button. So we could add a button here, and let's just go ahead and choose open row. And it's already got the name open row in here. You could change that if you wanted. You could change the color. You can choose where you want the view to be, if you want it to be in the center, the right, full screen. And then you can also adjust which layout and view you want it to be connected to. So let's just leave that, and now you can see we've got that here. You now have the tools to customize and optimize row layouts in Coda. Row layouts not only help you clearly visualize tons of table data, they're also a place you can work in. Add a canvas column and how you can plan out the content that is related to what the row content is about. Try it out and make your data work for you. Shifting gears, let's talk about relation columns. And you might be wondering how to efficiently connect and manage data across multiple tables. That's where relation columns come into play. A relation column allows you to link rows from one table row into another. So think of it as creating a bridge between two sets of data, enabling them to communicate seamlessly. This is particularly useful when you have related information spread across different tables and you wanna establish a clear connection between them, like one table that has projects and another that has tasks, which is exactly what we're gonna talk about. Or let's say you have a table that has all of your customers and the customer information, and then you have a table that has a list of opportunities, also really useful with relations and link relations. So why are relation columns useful? Well, they're gonna help to enhance your document structure and functionality in several ways. The first one is data consistency. So by linking tables, you ensure that information is consistent and up to date across your document. For example, if you have that projects table and you have a task table, you can link each task to its corresponding project. This way, any update to a project detail are reflected wherever the project is referenced, so that'll show up in that task table. The second thing, efficient data management. Instead of duplicating data, relation columns allow you to reference existing information. This reduces redundancy and makes your data easier to manage. And the third thing, enhanced analysis. With linked data, you can perform more comprehensive analysis. For instance, you can easily see all the tasks that are associated with a specific project or all projects linked to a particular client. So let me show you how this works with this project and task setup. We're gonna add a new column here, and we are in a pick relation. And now what's gonna show up here are a number of the tables that you have in the doc. And I'm gonna pick the projects table because that's what I want. I wanna connect the projects that I've got to the tasks that I've got so that they are intrinsically related. So we're gonna click on that, and I'm actually gonna click out of this first, and and we'll come back to this. But what you can see here now are all of the projects from this table in this display column. And I can tell it's the display column because it's got this little flag here, and I can change this if I wanted. So let's say I didn't want the project names to be what's showing up in this drop down, and I actually wanted the doesn't really make sense, but we'll do the status. We're gonna set this as display column, and then now you'll see these come up. I'm just gonna undo that. Okay. So now it shows up here. I can go through and I can select which projects these tasks are associated with. And because I'm not actually doing this, I'm just gonna use AI drop down to fill some of these out. Perfect. And now these are color coded because we set up conditional formatting on that project's table. So it is respecting any of the conditional formatting that we have, and that's why it's showing up this way here. So when I hover over, I am seeing all of the displayed information from that projects table. I'm seeing the driver, the deadline, the status, the progress, all of that stuff. And I can choose to add these columns if I want it. So let's say I actually want the project driver in addition to the task driver. So we're gonna add a column here, and now we've got this information. And I'm gonna change this so it says project driver. So now anytime this has changed within this task table let's actually change me to the owner of this. You can see now it is updated here. So this is what we're talking about about that efficiency, making sure that your data stays updated across the board. Okay. I wanna open up those column options again here. So we're gonna go back into this. There's a few things to note. We're gonna edit column. One thing that I use a lot is creating this link relation column back in the table that you're referencing. So this allows you, as it says here, to enable two way editing with a linked relation column on that projects table. So we're gonna create this column. I'll show you what that looks like in a second. And then there's a few other things here that are helpful. If you have tasks that are associated with multiple projects, I could turn on the ability to be able to allow multiple selections. There are some options down here. I could choose how the drop downs are displayed, or I could filter them as well. So let's say maybe I only wanted it to be, showing where the driver equals the task owner, or setting on my own filter. And then I can also add those related columns this way as well. So I'm gonna come back in here, and I'm gonna unhide this task column. So this is what I just added. This added a column back in this projects table. So now this is gonna show me all of the tasks that are associated with the projects that I chose. And you can see, right, task one, aurora skies. Makes sense. If I change this to quantum leap, now you can see it has added it here. So that's really helpful, but there are some things that you can do with this that are gonna help to aggregate your data. Now this linked relation here, there are some cool things that I could do with this. So, again, I can add columns that are associated with the task table here, and I can aggregate stuff. So I'm gonna actually add a new column here. I'm gonna click on that plus, and it's gonna give me the options. Let's say I wanted to do, the average amount that has been spent thus far. We can click on this, and there we go. So now it's taking all of the values where the where the spent column has been filled in for the specific project, and it's doing the average. I could also change that to sum if I wanted or a number of other things. Let's say we had the progress going, and we're gonna add a progress column here. So I'm gonna add a number and progress, and I'm gonna go through and just kinda haphazardly. Now what I wanna do here is add the average of the progress for all of the tasks that will show me the progress for for the projects. So let's add task, and we're gonna come down here to progress. And, again, we're gonna do average for this one. So this is giving me a number, but I'm just gonna change the column type to progress. And now you can see it's giving me the averages here. So let's adjust for this Aurora Skies project. Let's say we are really, really behind on all of these tasks. So now you can see it's giving me the overall progress here. The other cool thing about relation columns is when I open this up as we did before with this row layout, let me go back into edit, and I want to display that link relation column that we had. So now what I'm seeing here is kind of a mini view of the table, the task table. And I can choose what columns I want displayed here. Let's say I just want the start date and the status. Cool. Okay. So now you can see I've got this here. And if I update anything here, it's gonna capture those updates in the task table and also this project's table as well because it is all connected. So this is a really helpful setup. We use these kind of sub tables a lot in, this open row layout here, and you could filter these down if you wanted, but it's automatically just gonna show you the tasks that are associated with the project that we've set up. So it's gonna show you what is showing up in that, layout that we had before. Relation columns are a powerful feature in Coda that help you organize and connect your data efficiently. When you're structuring your doc and your tables, consider how you wanna set up your tables to capitalize on the power of relations before you start building. Alright. Next up, we're gonna talk about formulas. And if you caught my other training, you may be wondering, Jen, you taught me so many ways for me to calculate and manipulate my data. Why do I even need formulas? Well, for many things. You don't have to, but having an understanding of our formulas will propel you even further to building exactly what you need to get more organized and efficient. Instead of manually updating numbers, tracking dates, copying pasting, Formulas let Coda do the heavy lifting automatically. This means less time spent on those repetitive tasks and hopefully more time focusing on what matters. One of the most powerful aspects of Coda's formula system is its real time automation. Instead of manually updating values, formulas continuously recalculate as data changes. Even if the name of your tables, the columns, anything like that changes, it's gonna stay updated and this ensures that information is always accurate. Whether you're tracking project progress, managing customer databases, or organizing your team workflows, our formula language will help you transform static documents into interactive self updating tools. In Coda, you can have formulas in tables and also in the canvas of your doc. Having formulas in your canvas allows you to do things like build dashboards and extract table data or have values like a personalized welcome so the user that is currently logged in. Formulas reference the entire row since we're using databases, and you'll no longer reference specific cells. Now it does end up being easier once you rework your brain a little bit if you're used to using spreadsheets. In tables, you can do simple calculations like sum expenses to advanced logic, like using if statements that dynamically update content based on a certain condition. We also have lookup formulas such as filter, which enables seamless connections between tables, making data retrieval and relationships effortless. Let's start by opening up our formula builder here in the canvas to get a little more familiar. And I've got this in a callout right now. What you're gonna do is go ahead and press equals, and that brings up our formula builder. There are a few things to note about it. You can expand it. This will give you a clearer view if you've got a long formula. You can tab to see suggested values here or to help you select the current value that you want to use. You've got some help down here for building out your formula. It's gonna show you the different tables of the doc here and other values like buttons or named formulas. And once you type out a formula, you will see some help here that can guide you through writing out your formula. And you can also see right now, this is showing errors. If you click on this or hover over this first, you can see issues with the formula and then click back in to make those changes. So there are a ton of different formulas. I can type user, and now I'm gonna have the name of the current user that is logged in and looking at the doc. So I'm logged in, so that's why it says my name. But this is a formula. It's a simple one, but it is purposeful. It helps create a little welcome page. Let's do another one here, and we are going to add today's date. So we're gonna type today. And now you can see it's telling me today's date. This is also a formula. With both of these, there's more I could do with each of these values. Like, let's say I just wanna show someone's first name. Well, this is a little more of a complex formula, but you can extract the person's name from this value. And then we could do something like this to split up the value. Don't worry if you don't know what I'm doing. And then we're just gonna take the first value. This is all a formula. Right? Or let's say with this date value here, I wanted to actually show the weekday name. I can use our dot operator, which lets us extract information. And let's see, weekday name. And we could do the same thing today. So these we've got three formulas already in our Canvas. Maybe I wanna show a list of tasks that aren't started. This is where you can start to build out a dashboard. Well, reminder, I can although also do this with the table summarize feature and do a slash command and do table, summarize table, but I can also use a formula to do this. And I want to spend a little time on this scenario because for this we're going to use our filter formula, which is my most used formula that I use both in the canvas and in tables a lot. In tables, it helps me link table data together when I don't have a relation column in the mix. And this is probably the closest thing to VLOOKUP if you're used to using that. Alright. So let's take a look. This filter formula. I'm gonna press equals, and I'm gonna go ahead and type in a table name here. So let's do TAS. Once I start typing, I can either click here on the value that I want or I could press tab. I'm gonna go ahead and continue to build this out, and then we'll talk through every component of this particular formula. CODA formulas are made up of two major components, the objects and functions. And let's think about a language analogy here. You can think of objects as nouns and functions as verbs. And objects, if you're used to using Excel or Google Sheets, you may be used to using coordinates to pinpoint a cell. But in Coda, all objects like tables like this or columns here have names. No coordinates needed. So simply type the name of the object you wanna reference, and the objects hold the data that we want to work with. So here a table is an object, a column is an object, and a row is an object, which we'll look at that in the next example when we look at table formulas. And now functions are the verbs. They do the things here. Functions are the things that we want to do with the given objects. So this here is a function where we're filtering, or we could be counting, or we could be turning all of the values from the output here to text. These are all functions. Now your objects show up as chips like this in your formulas, and when you click on a chip here, you can learn more about that specific object. When we click on the task, Chip, you can see that this is coming from the table on the admin page. If we click on the task owner, you can see that this is a column in the tasks table. Now color coding tells you the location. Now, in this scenario, both of these objects are coming from the same table, so they're both green. We'll look at color coding again when we look at a table formula to show you when the color coding can be really helpful to understand which object is being referenced. Next up here are icons. Now, icons tell you the type and the quantity of the data. So I've got this little reference table here that we'll look at. These icons will be at the far right of your chip in your formula, and they will note the type of data you're working with. You can see this is a table, and this is a people column. The icon will also tell you whether you're referencing a single value, a list of values, or an array of values. You can see in this little table that we have here as an example that the stacked icons mean that there are multiple values here. Okay. Last thing I wanna cover. Okay. Much like in math, things inside of parentheses, like this, can be viewed as one statement or as one sentence. So Coda is gonna look at that one statement and evaluate it as a whole. And in lengthy formulas, parentheses really help because they know where one sentence ends and the next begins. And additionally, just like in math, you can use parentheses to separate values, like using and or or functions, so that all of your calculations happen in the right order. Coda is going to calculate anything in those parentheses first. But you can see here, we are asking Coda to filter task by user. And we could add additional values to filter by, and we would put AND the status equals in progress. Or status equals done. We could continue to build this out, but we are talking about one sentence here. Right? We are looking at what we want to filter from this task table. So we only need filter once, and then we can use and or or to tell us what to do with it. So that's the setup in the Canvas, and it's similar in a table. So to access the formula builder, so we can come into an existing column, and you can see we can add a formula. If you're using the calculation builder already, you may need to come here and click edit calculation. But either way, whether you have a formula in the column or not, you can just press equals, and it's gonna bring up the formula builder or calculation builder where then you can access the formula here. Okay. Instead of adding a new formula for Scratch because we have our relation column here, I want to show you this linked relation column because it is doing what the filter formula would do. So I'm gonna press equals, and I want to show you the formula. So we have the task, which is the table that we want to reference. And then we use the dot operator to say, hey, we want you to filter. And then we start our sentence here, where we say, we want to look at the projects column here, and we want to check to see if it contains, and then we say, this row. So you can see these are both referencing the task table, and this is referencing the current row that we're in, which is the projects table here. And because Coda uses rows and not cells, it's referencing this row value here, which is Aurora Skies. And you can see now it is gonna spit out all of the tasks that are associated with this project. So while Coda did this formula for us, this is the exact formula you would use if you wanted to do this manually. You can also access formulas in buttons, automations, filtering, conditional formatting, calculation builder, and more. You're gonna wanna look for that little italicized f, or there might be three dots for things like automations or conditional formatting. This will show you the formula Coda created, and you can add to this if you wanted, like in buttons or automations. But I also find it really helpful for learning to see what the formula is and the action that I expect it to take. So this is a great scenario of how you could learn how the formulas are set up. When you combine these formulas, you unlock Coda's true power, turning a simple doc into a dynamic system that keeps itself updated. Whether you're managing projects, tracking inventory, or planning events, formulas help you stay organized with less effort. Let's shift gears and talk about buttons. I love buttons. They're really clear and really helpful for doc users to let them know what it is that you want them to do. You can think of them as shortcuts that help you automate a task with a single click. Instead of manually editing data, opening different sections, or running repetitive actions, buttons let you do all of that instantly, and they create a clear user experience. As a reminder, you can have buttons here in the canvas or in the table as well. One thing I do want to bring up though as we talk about buttons in the canvas are the ability for you to be able to create a new button from scratch where you can decide what it is that you want it to do either using the formula or you can pick any of these actions here. So this scenario, I'm gonna do add row. Obviously, we have the ability to be able to just use this add row button here in a table that you can toggle on and off. But, couple things I wanna point out. If we pick the table that we want to add a row to, you've got the option to be able to open up the row for editing. And I know I mentioned this last time, but this is super helpful. If you don't turn this on, it is let's turn that off, it's just gonna add a blank row here to a table, and that's not always clear to users that that's happened. So if you go back in here and we turn on the open row for editing, you can now see that when we click, it opens up this row layout here. Much clearer user experience for folks. Other features that are useful in buttons, general buttons, you can change how it is named so that you can reference it later on. You can do this the disable if, which we will talk about more when we do the, table button. And then you can also turn on or off alerts. And so you could turn this off that it never gives you an alert. Let me show you what this looks like every time. So an alert is just this here. And so if you want to disable this, that you can. Alright. Jumping back in here again, if you want to also create your own formula for a button, you can click on the little f here. And now this is showing you what the formula is. It's showing the back end of what we created. And you can create buttons yourself that can do multiple things, and to do that you would use our run actions formula. And this is just saying what are the actions that you want this button to do. And right now, right, we've got this to open Realm. If we put a comma in here after this parenthesis, it's gonna indicate what the next action is. So as we talked about with formulas, this is kind of one sentence here. This is one aspect of this run action formula. So we could then use another one to say modify rows or copy doc, copy page to doc, copy to clipboard, anything you want, and you could build out a button to do multiple things. One thing that I do a lot in especially in table buttons is use the formula for the visuals. So, actually, let me pop in and show you that now. So I'm gonna go back to edit column here. And for the label here, I'm actually gonna use a formula, and I'm going to say, we'll use the concatenate formula, and we're gonna do parentheses. Let's say open, up, and we'll just type projects. So now this is gonna take the value from each row here, and let's just, for the sake of this, do that. Okay. What you'll see is that it's automatically, for the label, gonna take the project for each row. So if we change this to just the horizon, open up horizon row. So I end up using this a lot for our table rows. So in my tables, instead of using the formula to create buttons that do multiple things, I kind of break that down by just creating multiple button columns. So I'm gonna start by creating a button here. This is gonna modify my rows. And we're gonna pick this row because I want each button to modify this row. And now we can pick the values. So I'm gonna say, status. If I press enter or equals here, this is gonna bring up the four options that are in my select list here, and I'm gonna type done. And then I also want it to update the progress to 100. Let's change this. So you press this button. Great. There we go. So we have one button here that's gonna mark these as completed, and then I'm gonna set up another button here that's gonna notify the project owner, not the task owner, but the project owner that the task is done. So I can accomplish this with PACS as well, which we'll talk about in a second, but let's just use this internal Coda notification system here. So we're gonna send a notification, and we're gonna select the recipient to be the project driver. And I can type out a message here. Okay. So we've got this, and now we're gonna do a button that pushes buttons. So I'm gonna select push buttons, and we're gonna pick our two buttons here, which we want to modify row two, and we want to send message or notify user. Okay. And let's change the label. And so even though the button what it's actually doing is pushing buttons, For our users, we want them to know that this button is going to mark done and notify. We could put in more description here, but we'll leave this pretty simple. Okay. Cool. Now disable if. What I want here is to disable these buttons or this button to be able to be pressed if it's been pressed already. So So I'm gonna set up a result column here. I'm gonna add a new column, and I'm gonna come down here to advance and say disable if. And I'm gonna click and say if the results one is blank or not blank, and I'm gonna say if it's not blank here. I'll show you. Let me unhide that. Results one. Great. So I could just put something in here, and now you'll see that this button is not able to be pressed. So I use this when I'm using automations a lot, and I'll show you why in a little bit. So I'm gonna hide both of these. Shift right click and click hide. And now we can hide well, we'll leave this showing. So now when I press this, you can see it spits out the information from this row here, and it said that we notified. So it's updated the progress, spit out the results. And now what we could also do here if we wanted is add a button to push all of these buttons. Let's see. We're gonna go to task and push buttons. And, if we wanted here, we could also set up additional disable conditions here. Maybe we also want a condition where we don't want it to send if the status is blocked. K. So now we wouldn't be able to send this message here. But if we press this, you can see it's done all the work for us. When you start using buttons, you'll see how much time they save. Whether you're managing tasks, tracking sales, or organizing projects, buttons make your workflow smoother, faster, and a whole lot more interactive. Alright. Packs. Packs are so incredibly helpful. Imagine having all of your essential tools seamlessly integrated in one platform, and that's where Coda Packs come into play. Coda Packs are a powerful extension that enhances your documents by connecting them with the apps and services that you use daily. From Slack to Jira, Google Calendar to Salesforce, Packs, which are our word for integrations, bring external data directly into your CodaDoc, streamlining your workflows. By integrating these tools, you're gonna reduce the need for constant tab switching, manual data entry, which is gonna allow for more cohesive and efficient work. You can also reduce the number of licenses you need for those other tools because packs bring visibility of data from other tools right into your docs. Let's take a look. Now let's dive in and add a pack. So I'm gonna come over here to insert. I could also do this with the forward slash, but I wanna explore a little bit. So if I click on packs, I can see all the installed packs that I have in my dock, and I can also see the available packs. There are lots of them. So for this scenario, let's start out with just the Gmail pack here. We're gonna go ahead and we are gonna add this to our doc. You can scroll down to see more information if you want. But now the first thing I'm gonna do is actually go into settings and set up the PAC connection here. I have two options. I can use a private account or a shared account. There's a little bit of information here that you can see. So a private account is what I would recommend in most scenarios because that is gonna mean that only you are the person that can press the button or do things to be able to sync the data coming in from these PACS accounts. So I'm gonna set up a private account for this. Now if you have a scenario where you're using a tool where you're the only one that has a license, but you need people to do a lot of stuff, maybe you do set up a shared account. But there are certain security risks obviously at hand with that because in this scenario, I would not want every single person to be able to send an email on my behalf from this CodaDoc. So we're gonna stick with private account. Now the daily refresh rate for this doesn't really matter. But if you have things where you're pulling in reports or even if I'm using the Gmail pack to show me emails right here in my Coda doc, I would wanna adjust the refresh rate. Alright. A couple other things to note here. You could manually refresh here. You can see more about the pack here, or you can go ahead and remove this from your dock altogether if you decide you don't want it. If ever you're having issues with your pack, it doesn't seem to be connecting as you need it to, come in here and sign in again. That's always my first step to take when the pack isn't working as I expected. So I'll come in here and sign in again. There are certain packs that are not gonna require any account for you to sign up or connect to, like, weather. You can access the weather here in your Coda doc without having any kind of account to do that. We come back here into building blocks. These are all the things that I could do with this pack in particular. I could have a table that is pulling in all of my messages based off certain filters if I wanted, threads. I can have a button that can send an email, that can create a draft in my inbox, and then there's some formulas here as well that I can use to access data from within these tables. So I'm gonna add a button here that's gonna send this email. So let's come in here, and we're gonna add button. And then there's all these options that we're used to seeing, and we're gonna come to packs. And we are gonna add a button to send an email. Now this is gonna build bring up the same kinda button builder setup that we're used to, but it's a little different with the pack. And now you again have the option, do I wanna set this up as a private or a shared account? And for this scenario, again, we're gonna use private. Now I can choose who to send this to. Maybe I wanna send it to a value in my table, or maybe it's a static value. For this scenario, I'm gonna type in my email. And the subject, we can use the value from the rows if we want to. So let's do project updates. So now for this row, it is gonna say Aurora skies updates as the subject. And the content, we could build this out as we do with the compose feature and, bring in text and values from the, rows here, the different columns. Or because we've already built this out using AI, I'm gonna use this. So I built out a message to send to Erin. So let's do message for boss here. Great. And I'm gonna set up the same approach here where if there is anything there in the results column I want it to disable. Let's adjust this. Perfect. Okay. I can send this email, and you'll see one row modified and one external action performed. So it has now sent an email on my behalf to Aaron. So this is the Gmail pack. Right? I use Gmail and Slack to be able to send external communications because those are two tools that we use a lot. But there are a lot of other ways that you can use packs. Salesforce, I could pull in a report of all of the opportunities happening with customers, and I could also update in Coda that will push those updates back to Salesforce. Google Calendar, this is also one that I use a lot, so I can create and schedule calendar appointments right from a Coda doc as well. And something fun that our team uses a lot is the weather pack. So when we have team meetings, on the page where we run our team meetings, we have everybody's name and location, and it pulls in the weather. So it just helps with a distributed team to make us feel a little more connected to each other. With all of our packs, you can click into them. You'll be able to explore all of this content. You can see the security. You can see releases about those packs for more information. I encourage you to explore the packs in the gallery as well. It's gonna give you some inspiration as to what you could do with those packs. And if you are interested, let's say there's a tool that you use a lot at your work, you can always create your own pack. We have some great resources to be able to do that. By leveraging Cotopax, you transform your document into dynamic workspaces, integrating the tools you rely on and enhancing your overall productivity. Speaking of productivity, let's talk about automations. With Coda's automations, you can do more than just manipulate how you see the information in a doc. You can put your repetitive tasks on autopilot. You can change the content in your doc and take actions. You can, in essence, make your doc a responsive, customized piece of software for whatever your use case is. In other words, you can build those bespoke solutions for your least favorite or hyper specific chores. In this section, we're gonna walk through how to build automations so you can start saving time right away. To access automation, you come up here to the three little dots. You're gonna click on doc settings, and from here you'll be able to find automations. We're gonna go ahead and add a rule. And you do wanna name your rules. That's really important because if you have a lot of automations and a lot of people using the doc, it's really helpful. So we're gonna set up this automation to send email to, yep, to Erin. Okay. Now you can add a more detailed description here if you wanted. So first things first is you're gonna set up the when. This is the trigger. And you can choose from a few things. You can choose if the row has changed, and this automation will start when a column in a row has changed or an entire table has changed. You're gonna set up an option for time based. That's another thing here where you can set it up to begin on a certain day of the week or at a certain time. Form submitted. This means the automation will begin when someone submits a form to a table or if a webhook is invoked. Automation will begin when a post request is made to the URL you choose. For this scenario, let's just go ahead and do a time based one. So we can pick and choose we're gonna just do Mondays at 9AM. It's gonna set up whatever the time zone is for the doc, but we could change the time zone if we wanted to here. And you can set up an expiration for this to only do for a certain amount of time. Next up is the action you want Koda to take when the automation is triggered, And the results are pretty wide. You can do a lot of different things. So I'm gonna skip over the condition for a second, and then we'll come back to that. But we can choose the then options here. And we can do things like modify rows, duplicate pages. We can send messages to notify users, and you can do this either through packs, obviously, or through our note our notifications, push buttons, set control values, and access all of our packs here as well. So there's a lot that automations can do. In this scenario, let's set it up to press the button that we had built. Now we could set all this up right here within the pack to send message or notify user, but we've already set up the button. So let's just have the action be to push a button. And we're gonna pick project, and pretty sure that's send email to. That's a terrible naming convention that I did send email to. Okay. Okay. So we have it set up now so that Mondays at 9AM Pacific Standard Time, these buttons are going to get pressed if they are not grayed out. Okay. Going back to our if statements here. In this section, you're able to add a condition that essentially is gonna filter down the automation to only do depending on what you have set up here. So when you click into it, it's gonna pull up, probably at this stage, depends on when you set it up in the stage, but, either step one result or step three result. So step one result, it is looking at what's happening in this first step, and it's saying, alright. You had us create this little formula that is only sending on Mondays, 9AM Pacific Standard Time, and it never ends. What do you want us to do with that? And so that is what step one result is asking. It's combining all that together essentially to create a formula where you don't have to build that out. So then you would press the dot operator and decide what it is that you want to do. Do you wanna filter? That's likely what you're gonna be doing, but there may be some other options there with your step one result. Some other things to note here. You have the option to take actions as either the automation bot or as yourself. What you choose here may end up being important. The automation bot allows anybody to be able to come in and edit your automation that you've set up, but you won't be able to use this to send emails from a private pack account. So if I have set up the automation to send out an email with my private pack account, it won't work with the automation bot. So there's trade offs there. You can set it up to take actions as yourself, but that means that only you can edit this rule. But you can use private Slack accounts. So it's important to think through as you're setting it up what you wanna do. You can change this if you're encountering errors. Now with the rules, you are gonna see the activity here once you've turned it on. You can also test out the rule here. The test won't work for every single thing. If you're testing on a row change or something like that, it might not capture that, and so it won't test it. But you can always turn it on and then come in here and change the row to see it working. But if we click test rule, we click test rule, and now we can see that it spits out information here. You will see a red exclamation point if the automation didn't fire, and you can hover over to see more information about why it may have not worked. Okay. So let's say I wanted to do, an automation based off of a row change. So let's get out of this, and then we're gonna add a new rule here. So we'll do row change, and we're gonna pick our table. Now this is looking at the base table name rather than the the view. So the view of this is project table, but we want project. And then here, you can pick any of the columns that are editable in this table, or you can choose for it to be any editable column. So if there's any change in the table, you could fire an automation. Or if you wanted it to be off of a specific column, you could do that. So let's do budgeted, and let's do we'll do notify user here. Actually, we'll just build notification through Coda rather than the Gmail pack. And let's just keep the recipient as me just for ease here. And then, this is the same compose builder message builder that we've seen before, but what we need to do there is get the step one result. So this is saying, it's wrapping that up as a little present, creating it as a kinda named formula in there, and then it's asking you what you wanna do there. So let's pull it up as a formula. So it equals step one result and then message for boss. And then let's go back into that automation. And it looks like that has been fired. Alright. And that worked. I just got a notification. That came through via email and also through Slack because I have, the integration with Slack set up. So they get notified on Slack for Coda notifications as well. So looks like that worked. The options with automation, much like a lot of the things that we've talked about, are kind of endless. And the more you get familiar with them, you'll start saving yourself more time and hopefully more mental energy. Y'all, that's a wrap on all of the content that we have for this session. As always, go ahead and click on that question mark in the bottom right hand side of your doc or workspace for resources and support. At the end of this session, you're gonna be directed to share some feedback, so please, please do that if you're willing. It's really helpful for us. Thank you so much for joining me today, and I hope you get started building some docs that save you and your team some time and energy.