Memuat
Memuat
Want to go deeper?
Join one of our courses or ask us directly on WhatsApp.
Picked from the software, topic, and level of “Agentic AI Without Coding Class #30: Practice: Save to Sheets, Send an Email Notification, and Activate the Workflow”.
Other ways we can help with Agentic AI.
Learn with a mentor
Scheduled AI & Machine Learning courses with live guidance and a certificate.

MATLAB Agentic AI Course: Building Autonomous AI Agents with MATLAB & Simulink

Midjourney Course: Create Stunning AI Images from Text
★ 4.9

DALL-E Course: Creating Professional AI Images from Text
★ 4.9
Have it built for you
No time to learn Agentic AI? Our team can do the project for you.

MATLAB & Simulink Development — Agentic AI for Simulation Automation and Data Analysis

AI Image Creation with Stable Diffusion — Unlimited Custom Visual Production
★ 4.9

AI Image & Video Creation with Leonardo AI — All-in-One Visuals for Business
★ 4.9
Get notified about new Agentic AI classes
At most one email a week. Unfollow anytime with one click.
The full narration of this video. The current sentence is highlighted while the video plays; click any sentence to jump there.
Welcome to Episode 30, the closing episode of Session 6. The Sunset Coffee order workflow already has a form trigger and an AI step that summarizes and categorizes orders. Today we finish it: saving the results to Google Sheets, sending an email notification to Dimas, testing from start to finish, handling errors, and then activating the workflow so it runs on its own.
First, prepare the storage. Create a new Google Sheet called Sunset Coffee Order Recap, and name the tab at the bottom: Orders. The first row holds the column headers: Time, Name, WhatsApp, Order, Summary, and Category. The first four columns come from the form, the last two from the AI. Write the column headers neatly and don't change them often. The Google Sheets node reads these headers to decide what goes in each column. The Google Sheets and Gmail nodes need credentials. This is easier than an API key: just click Sign in with Google, then sign in with the business account, the account that owns the spreadsheet and the shop email. Sheets and Gmail each have their own credential. Both are created the first time the node is used, and can be reused in other workflows. As in Session 5, read the permissions requested before approving. Sheets asks for permission to manage spreadsheets, Gmail asks for permission to send email. If any permission feels excessive for what you need, stop and ask first.
Open the Sunset Coffee Orders workflow. The form node and the AI node are already green from the previous test. Click the plus sign to the right of the Summarize and categorize node, then search for Google Sheets. Choose the Append row action, which adds a new row below the existing data. The node appears on the canvas. Rename it to Save to Sheets. In the panel, choose the Google Sheets credential you just created. Operation is already set to Append Row. Then choose the Sunset Coffee Order Recap document, and the Orders sheet, straight from the list. Choosing from the list is safer than typing the name, because n8n knows right away which file you mean. For Mapping Column Mode, choose Map Each Column Manually. n8n reads the column headers and shows six input boxes. There's also the Map Automatically option, which fills columns when a field name exactly matches a column header. Because our data comes from two different nodes, manual mapping is clearer and easier to check. The Time, Name, WhatsApp, and Order columns come from the Order form node. Because that node is two steps back, drag its fields from the Order form section of the input panel. The result is expressions that name the node, just like the practice in Episode 27. Read it as: take the Name column from the Order form node. For the Time column, we use the automatic submittedAt field. The Summary and Category columns come from the node right before, the AI node. Open the output field in the input panel, then drag summary and category. Read it as: take the summary from the AI's result. Click Execute step. The Save to Sheets node turns green. Now let's open the spreadsheet and see whether the row really arrived. For Make users, the equivalent is the Google Sheets module with the add a row action, and mapping is also done by choosing data from the previous module. The concept is exactly the same. The second row is now filled in: Sari's data from the form in the first four columns, then the summary and category from the AI in the last two. The green color marks the newly added row. Look at the Time column. It's in a standard time format: the date, the letter T, then the time. That's normal, and it still sorts correctly. If you want it neater, change the column's display format in Google Sheets. If any column is empty, the cause is almost always one of two things: a column header in the spreadsheet changed, or the wrong field was dragged. Open the mapping again, and drag the field again.
The last step of this flow: click the plus sign to the right of the Save to Sheets node, search for Gmail, then choose the Send a message action. Rename it to Email Dimas. Choose the Gmail credential, created with Sign in with Google using the shop's email account. Resource Message, Operation Send, and the recipient is Dimas's email address. If Laras also wants a copy, add her address to the recipient box, separated by a comma. But think it through: too many emails make people stop reading them. Send only to those who need to act. Look at the input panel. The Sheets node's output holds the newly saved row, with field names matching the column headers: Name, Order, Summary, Category. So we just take data from the node right before. We build the subject dynamically. Type an opening square bracket, drag the Category field, type a closing square bracket, then write New order from, and drag the Name field. The preview for Joko: Complaint in square brackets, New order from Joko. From the subject alone, Dimas knows right away which one to handle first. Then the email body. Start with a greeting, then the name and WhatsApp number, the order, the summary, and the category. All of them are dragged, so each email holds its own order's data. In the additional options there's Append n8n Attribution, which adds a note at the bottom of the email saying it was sent automatically through n8n. For an internal email to Dimas, you can leave it on or turn it off. Click Execute step. The Email Dimas node turns green. Let's peek at Dimas's inbox. In Dimas's inbox, the automatic email from Sunset Coffee appears at the top, with a categorized subject: Regular order, New order from Sari. Open the email. It's exactly what we built: Sari's name and WhatsApp number, her order, the AI summary, and the category. Dimas doesn't need to open the form or the spreadsheet. All the information he needs to act is in one email, and the full data is still neatly saved in Sheets. One tip: create a filter in Dimas's Gmail for emails from this automatic sender, for example with an Orders label. His inbox stays tidy, and all order notifications are gathered in one place.
Now let's test from start to finish. Unpin the data on the form node, click Execute workflow, then fill in the test form with Joko's data. As soon as the form is submitted, the nodes light up green one by one from left to right. The one item on each line shows one order flowing all the way to the end. The whole process takes just a few seconds. Repeat for Rina, Andi, and Putri. Remember, each test submission needs another click on Execute workflow before filling in the form. What if two customers fill in the form at almost the same time? No problem. Each submission becomes its own execution, with its own data, so orders don't get mixed up. Open the spreadsheet. Below Sari's row, Joko's row appears with the category Complaint. Then Rina, Regular order, and Andi, Question. And Putri, Urgent, for an office event tomorrow at eight in the morning. Five rows, complete with summaries and categories, and not a single one copied by hand. Laras can now filter the Category column, for example to show only complaints, for her weekly review. The recap Dimas used to do every night now fills itself in. Now Dimas's inbox. Four new emails are lined up, and their subjects show the priority right away: Urgent, Question, Regular order, and Complaint. Dimas opens the most important one first: the urgent one from Putri. Five hampers packages for an office event tomorrow at eight in the morning. He can set up production right away and contact Putri on WhatsApp. After that, the complaint from Joko, then the question from Andi. Dimas's work order is now decided by category, not by who sent a chat first.
A good workflow isn't one that never fails, but one whose failures are easy to find. Let's simulate a problem: Laras renames the Orders tab in the spreadsheet to Orders Oct. Run the test again. The form and AI nodes are green, but the Save to Sheets node is red with an exclamation mark. The nodes after it don't run, so the email to Dimas isn't sent either. Click the red node. The panel shows an error message. It looks technical, but if you read it slowly, it says: a sheet named Orders was not found. An error message usually says what it was looking for and couldn't find. Here it's clear: n8n is looking for the Orders tab, but its name has been changed. If you're confused, copy the error message without any customer data, and ask an AI assistant what it means. The fix: choose the sheet again from the list, or change the tab name back. Click Execute step, the node turns green again, and the next email is sent. Better still, agree with the team that tab names and column headers aren't changed casually. Here are the four most common errors. First, the AI node fails because the key is invalid. The cause is an API key pasted wrongly, already revoked, or out of credit. Check the credential and the credit on the provider's platform. Second, the Sheets node fails because the sheet isn't found, like the one we just simulated. Choose the document and sheet again from the list. Third, the workflow succeeds but the spreadsheet columns are empty. Usually a column header changed or the wrong field was dragged. Remember, a green check doesn't necessarily mean the result is right. Fourth, Gmail fails because permission is denied. Google credentials can expire or be revoked, for example after a password change. Reconnect with Sign in with Google. Three habits so errors get caught fast. First, in the node settings there's a Retry On Fail option, which retries automatically when a service has a brief outage. It's a good fit for the AI and Gmail nodes. Second, check the Executions tab every day in the first week, then once a week once the workflow is stable. Failed executions are clearly marked there. Third, as a next step, n8n can use an error workflow: a small workflow that automatically emails you whenever another workflow fails. It's worth setting up once you're more comfortable.
All tests pass, and we've practiced errors too. Before activating, save the workflow, and make sure the email recipient is right, Dimas's address, not a test address. Click the Inactive toggle above the canvas until it turns into a green Active. In some recent versions, this step is called Publish. From this moment on, the workflow runs by itself. Open the Order form node and copy the Production URL. This is the link for real customers. The Test URL is still there, but only for you when testing. When customers fill in the form, you won't see the nodes light up in the editor. The log goes into the Executions tab, marked as a production execution, with a success or failure status. One important thing: every production execution calls the AI model, so there's a small cost per order. Watch your usage bill in the first week, as we discussed in Episode 29. If the shop is closed and you want to pause it, click the toggle again until it's back to Inactive. While it's inactive, the production form doesn't accept orders, so let customers know on social media. Then share the Production URL with customers. For example, Rina asks on WhatsApp whether she can order an iced coffee for tomorrow. Dimas just replies with the form link. The same link can also go in the Instagram bio, in WhatsApp quick replies, or be printed as a QR code at the counter. Rina fills in the form and replies: done, I've filled it in. At the same moment, without anyone touching n8n, a categorized email reaches Dimas, and a new row appears in the spreadsheet. This is a workflow that runs by itself.
Let's check the Session 6 output. First, the Form Trigger is active and the Production URL is shared where customers can find it. Second, the AI node summarizes and gives four categories. Third, every order is saved as a new row in Google Sheets. Fourth, Dimas receives emails with categorized subjects. Fifth, the workflow has been tested from start to finish with four test entries. Sixth, you can read error messages and monitor the Executions tab. And seventh, the API key and Google credentials are stored safely in Credentials. If anything isn't ticked yet, go back to the episode that covers it: Episode 28 for the form, 29 for the AI, and this episode for Sheets, email, and activation. The pattern you built, trigger, AI step, save, then notify, can be reused anywhere. For Dewi, the trigger is a supplier quote email. AI summarizes the prices and deadlines, then the result is saved and sent to the purchasing team. For Mr. Hendra, the trigger is a homework submission form. AI summarizes the answers and gives a first grade, which he still reviews before announcing it. For Nadia, the trigger is a client brief form. AI gives a category of urgent, routine, or revision, so Nadia knows which brief to work on first. Pick one of the five tasks on your list, and build your version this week. Congratulations. You've just built your first automatic workflow that really runs, without writing a single line of code. Save a backup too. From the workflow menu, download the workflow as a file. If something ever gets deleted, or you move to self-hosting, this file can be imported again. Credentials aren't included, so the file is safe to keep. This workflow's flow is fixed: always form, AI, Sheets, then email. In Session 7, we go up a level. AI no longer just fills one step, but becomes an agent that chooses for itself which tools to use.
Let's sum up Session 6. We met triggers, actions, and workflows, learned to read data between nodes, and then built the Sunset Coffee order workflow: a form comes in, AI summarizes and categorizes, it's saved to Google Sheets, and Dimas gets an email. We also tested it, handled errors, and activated it. In Episode 31, we enter Session 7 and meet the AI Agent node in n8n: the model as the brain, tools to take action, and memory to remember conversations. See you in Episode 31.
Try these on your own after watching to lock in what you learned.
Type a question or keyword; we find the part of this episode that explains it and jump the video there.
Notes are saved with the current video time and are only visible to you.
Stuck on a step? Ask here; the instructor and other learners can answer.
No questions yet.

Cerdas Inovasi Digital Team
Software developers, BIM & 3D engineers, and AI practitioners
We build software, BIM models, games and AI automations for clients every day, and turn that hands-on work into step-by-step classes: every step is shown on screen and comes with a PDF guide you can keep.
See our clients →