{"slug": "make-ai-agents-md", "title": "Make_AI_agents.md", "summary": "A developer published a step-by-step guide showing how to rebuild a fixed-path Make automation scenario as an AI agent that decides per article whether to check Google Sheets, log the item, or save a blog idea to Notion. The walkthrough covers writing agent instructions, testing without tools first, then granting tools and inspecting the agent's Reasoning log, and notes that Make's AI agents remain in beta, run only on Make's AI Provider on the free plan, and consume credits per operation and tool call.", "body_md": "In your first Make scenario, *you* decided everything in advance: every article went through the router, into the sheet, through the LLM and into Notion. Every article took the same path.\n\nToday you rebuild that scenario with an **AI agent**. You don't draw the paths anymore. You describe the goal, hand the agent some tools, and it decides what to do with each article:\n\n- Is this article new, or did I already log it?\n- Is it relevant for the blog, or not?\n- Is it worth a blog idea in Notion?\n\n``` php\nBefore:  RSS -> Router -+-> Google Sheets (every article)\n                        +-> LLM -> Notion (every article)\n\nAfter:   RSS -> AI agent ··· tools it can choose from:\n                          ├─ Check if article is already logged (Google Sheets)\n                          ├─ Log article (Google Sheets)\n                          └─ Save blog idea (Notion)\n```\n\n- **New** parts use things you haven't seen yet. They come step by step.\n- **Known** parts use things you did in your first scenario. You get the goal and a few hints.\n- **Checkpoint:** what you should see before you move on.\n- **Stuck?** Quick fixes for the usual problems.\n\nSave your scenario often (Ctrl/Cmd + S).\n\nMake's AI agents are still in beta and change regularly. If a button or label looks a bit different from what's described here, look for the closest match.\n\n1. Prepare your sheet and scenario (Known)\n2. Add the agent and write its instructions (New)\n3. First test: an agent without tools (New)\n4. Give the agent its tools (New)\n5. Test in the chat (New)\n6. Run it on the real feed (Known + New)\n7. Experiments: see how the agent reacts\n8. Choose your path\n9. Reflection\n\nParts 1–6 are the core. Parts 7 and 8 are for exploring and going further. Take the time you need.\n\nThis table sums up what today is about.\n\n|  | Your first scenario | With an agent | \n|---|---|---|\n| **Who decides what happens** | You, while building it | The AI, while it runs, for each article | \n| **How you tell it what to do** | Modules, router, mapping | Instructions in plain language, plus tools | \n| **Every article…** | takes the same path | can take a different path | \n| **Module fields** | You map every field | You fix some fields, the AI fills the others | \n| **Testing** | Run once, look at the bubbles | Chat with the agent, Run once, read the **Reasoning** | \n| **Same input twice** | Always the same path (only the AI text may vary) | The path itself can change too | \n| **Good for** | Fixed rules that never change | Decisions that need judgment | \n\n| Word | What it means | \n|---|---|\n| **Instructions** | The agent's job description: role, steps, rules. Same for every run. | \n| **Input** | The task for *this* run, e.g. one article. | \n| **Tool** | A module the agent is *allowed* to use. It decides if and when. | \n| **Tool description** | Tells the agent what a tool does and when to use it. The agent reads it to make its decisions, so write it clearly. | \n| **Let AI agent decide** | A field the agent fills in itself while it runs. | \n| **Reasoning** | The agent's log: what it thought, which tools it called, and why. | \n\n- On the free plan, agents only run on **Make's AI Provider** . You can't use your Gemini or Groq key here.\n- Every agent run costs credits: 1 per operation, 1 per tool call, plus credits for the AI's tokens.\n- Testing in the chat costs credits as well. And the agent uses its tools for real there: if it calls \"Log article\", a new row appears in your sheet.\n- Keep runs small: **1 article** while building, 3 at most when testing.\n- You can see how many credits you have left on your organization's dashboard (left sidebar > **Organization** ).\n\n- Logged in to Make\n-  Your first scenario still exists, but it's switched **off** in the scenario list. On the free plan, only 2 scenarios can be active at once.\n- Your Google Sheet and Notion database still exist. The agent reuses your Google and Notion connections, so there's nothing new to connect.\n- Your blog topic in one sentence, e.g. \"Tech news explained for beginners\", or anything that fits your RSS feed\n\n**Goal:** a fresh place for the agent to log articles, and a copy of your scenario to rebuild.\n\n**The sheet**\n\n**Hints:**\n\n- In your `Blog inspiration` spreadsheet, duplicate your tab: right-click the tab at the bottom >**Duplicate** . Rename the copy`Agent log` .\n- In `Agent log` , delete all rows except the header row: select the rows by their numbers on the left, right-click >**Delete rows** .\n- Add two new headers in the next free columns: `Relevant` and`Reason` .\n\nYour headers now look like this (plus `Date`, if you had it): `Title` | `Description` | `Link` | `Relevant` | `Reason`\n\n**Why a fresh tab?** The agent will check the log for duplicates. Old rows from your first scenario would make every article look \"already logged\".\n\n**The scenario**\n\n**Hints:**\n\n- In the **Scenarios** list, open the three-dot menu next to your first scenario and**Clone** it. Name the copy`Content curator (agent)` .\n- Open the clone and delete everything **after** the RSS module: router, Google Sheets, LLM, Notion. Right-click each one >**Delete module** . Only RSS stays.\n- In the RSS module, set **Maximum number of returned items** to`1` .\n\n**Checkpoint:** a scenario with just the RSS module, and a sheet tab `Agent log` with 5 headers and no data.\n\n**Goal:** an agent that knows what its job is. It can't do anything yet. That comes in Part 4.\n\n**Add the agent**\n\n1. Click the **+** on the right of the RSS module.\n2. Search `Make AI Agent` . Choose**Make AI Agent (New)** >**Run an agent** .\n  - You might also see an older app called **Make AI Agents** (plural). Don't use that one.\n3. You might also see an older app called \n4. **Connection:** choose**Make's AI Provider** . If you have to create a connection first, click**Add** and pick Make's AI Provider. No API key needed.\n5. **Model:** the model names start with Small, Medium or Large. Pick one that starts with**Medium** .\n  - Large models are smarter but use about 5 times more credits per token. Start with Medium, and only switch to a larger model if the agent doesn't do what you expect.\n\n**Write the instructions**\n\nInstructions are the agent's job description. They're the same for every article. Good instructions have five parts: **role**, **input**, **tools**, **workflow** and **rules**.\n\n1. Copy this into **Instructions** . Replace`[YOUR BLOG TOPIC]` with your topic:\n\n```\n# Role\nYou are the content curator for a blog about [YOUR BLOG TOPIC].\nYou get one article from a news feed at a time and decide what to do with it.\n\n# Input\nEach task contains an article's title, summary and URL.\n\n# Tools\n- Check if article is already logged: searches the article log by URL.\n- Log article: adds one article to the article log.\n- Save blog idea: saves a blog post idea to the Notion idea database.\n\n# Workflow\n1. Use \"Check if article is already logged\" with the article's URL.\n2. If a row comes back, the article was already processed. Stop and reply: \"Duplicate, skipped.\"\n3. Decide if the article is relevant for the blog. Relevant means: our readers would want a blog post inspired by it.\n4. Use \"Log article\" to log it. Set Relevant to \"yes\" or \"no\", and give a one-sentence reason.\n5. Only if it's relevant: write ONE blog post idea (a catchy headline plus a 2-sentence outline) and use \"Save blog idea\".\n6. End with one short line that says what you did.\n\n# Rules\n- Never save an idea for an article that isn't relevant.\n- Never log the same URL twice.\n- If the summary is too short to judge, decide based on the title and say so in the reason.\n- Plain text only, no markdown.\n```\n\n**Note:** the tool names in the instructions must match the tool names you'll create in Part 4 *exactly*. That's how the agent connects \"use Log article\" to the right tool.\n\n**Map the input**\n\nThe input is the task for this one run: the article.\n\n1. In **Input** , type the labels and map the RSS fields, like you did in your first scenario:\n\n```\nArticle title: [RSS Title]\nArticle summary: [stripHTML(RSS Description)]\nArticle URL: [RSS URL]\n```\n\n Use`stripHTML()` from the text functions, just like before.\n2. Leave **Conversation ID** empty. The agent then starts fresh for every article, without memory of earlier ones. That's what we want here, and it also saves credits.\n3. Leave all other settings as they are.\n4. Click **Save** in the module, then save the scenario.\n\n**Checkpoint:** the agent module is on the canvas after RSS, with instructions and an input.\n\n**Goal:** see what an agent does when it knows its job but can't act.\n\n1. Click **Run once** .\n2. Click the agent's bubble and open the output. Find **Response** .\n3. Click the agent module. After a run, you'll find a **Reasoning** tab there. Open it.\n\n**What you'll probably see:** the agent explains what it *would* do, maybe even writes a blog idea. It might even claim it logged the article. But check your sheet and Notion: nothing's there.\n\nThis is worth remembering: an agent can *say* it did something without having done it. Always check the actual result, and the Reasoning.\n\n**Why:** without tools, an agent is basically a chatbot. It can think and write, but it can't change anything outside itself. The tools are what let it actually do things.\n\n**Checkpoint:** a response in the output, nothing in the sheet, and you've looked at the Reasoning tab once.\n\n**Goal:** three tools the agent can choose from.\n\n**How tools work:**\n\n- A tool is a normal Make module, like the ones you already know. The difference: the agent decides *if* and*when* to run it.\n- **Name and description:** the agent reads these to decide which tool to use, so make them clear and specific.\n- **Fixed fields vs. AI fields:** some fields are always the same, like which spreadsheet. You set those yourself. Others depend on the article, like the title. For those, you choose**Let AI agent decide** , and the agent fills them in while it runs.\n\n**How to add a tool:** hover over the agent module and click the **+** that appears, then **Add tool**. Or open the agent and click **Add tool**. Then choose the app and module.\n\n1. **Add tool** >**Google Sheets** >**Search Rows** .\n2. **Name:**`Check if article is already logged`\n3. **Description:**\n\n```\nSearches the article log for a URL. Use it first for every article. If it returns a row, the article was already processed. If it returns nothing, the article is new.\n```\n\n4. **Connection:** your existing Google connection.\n5. **Spreadsheet:**`Blog inspiration` .** Sheet Name:**`Agent log` .** Table contains headers:** Yes.\n6. **Filter:** column`Link` (it may be shown by its letter, e.g.`C` ), operator**Equal to** , value:**Let AI agent decide** .\n7. **Limit:**`1`\n8. Save the tool.\n\n**Fixed vs. AI here:** the spreadsheet, sheet and column never change, so you set them yourself. Only the URL to search for comes from the agent.\n\n1. **Add tool** >**Google Sheets** >**Add a Row** .\n2. **Name:**`Log article`\n3. **Description:**\n\n```\nAdds one article to the article log. Use it once per new article, after you have decided if it is relevant.\n```\n\n4. Same spreadsheet and `Agent log` sheet as tool 1.**Table contains headers:** Yes.\n5. For **all five columns** (`Title` ,`Description` ,`Link` ,`Relevant` ,`Reason` ):**Let AI agent decide** . Have a`Date` column too? Let the agent decide that one as well, or leave it empty.\n6. Optional: for `Relevant` , click**Add details** (if available) and type`Only \"yes\" or \"no\".`\n7. Save the tool.\n\n**Why \"Let AI agent decide\" for everything?** Only the agent knows `Relevant` and `Reason`. And it already has the title, summary and URL from the input.\n\n1. **Add tool** >**Notion** >**Create a Data Source Item** .\n2. **Name:**`Save blog idea`\n3. **Description:**\n\n```\nSaves a blog post idea to the Notion idea database. Only use it for relevant articles, after logging them.\n```\n\n4. **Connection:** your existing Notion connection.\n5. **Data Source ID:** click**ID Finder** and pick your`Blog ideas` database. It's the same for every article, so you set it yourself.\n6. For `Name` ,`Blog post idea` ,`Source URL` and`Source summary` :**Let AI agent decide** .\n7. Save the tool.\n\n**Checkpoint:** three tools connected to the agent, with exactly the names from the instructions. Save the scenario.\n\n**Stuck?**\n\n- **Tool names don't match:** compare them letter by letter with the`# Tools` section of your instructions.\n- **Notion database not in the ID Finder:** same fix as in your first scenario. The database must be shared with your Notion connection.\n- **Error about the active scenarios limit:** the free plan allows 2 active scenarios. Switch off all other scenarios in your scenario list.\n- **No \"Let AI agent decide\" option for the filter value in tool 1:** remove the filter and set**Limit** to`100` instead. Change the description to:`Returns all logged articles. Check if the article's URL is among them. Use it first for every article.` The agent then checks the list itself.\n\n**Goal:** check the agent's decisions before running it on the real feed.\n\nThe chat lets you send the agent a task by hand, without running the scenario. Keep in mind that the agent uses its tools for real here, so your tests create actual rows in your sheet and items in Notion.\n\n1. Right-click the agent module > **Chat with agent** . Or hover >**+** >**Chat** .\n2. Get a real article to test with:\n  - Set the RSS module to 5 items, right-click it > **Run this module only** . This doesn't start the agent.\n  - Click the RSS bubble and pick an article that fits your blog. Copy its title, description and URL into a note.\n  - Set the RSS module back to 1 item.\n3. Set the RSS module to 5 items, right-click it > \n4. **Test 1, a relevant article:** send\n\n```\nArticle title: [paste the title]\nArticle summary: [paste the summary]\nArticle URL: [paste the URL]\n```\n\n Watch which tools it calls. Check your sheet and Notion.\n5. **Test 2, a duplicate:** start a new chat if there's a button for it, then send*exactly the same message* again. The agent should find the URL in the sheet and skip it.\n  - Why a new chat? In the same chat, the agent might just remember the article instead of checking the sheet. Then you're not really testing the tool.\n6. **Test 3, an irrelevant article:** send a made-up one that doesn't fit your blog at all, e.g.:\n\n```\nArticle title: Local bakery wins award for the biggest pretzel\nArticle summary: A bakery in Hannover baked a 3-meter pretzel for the city festival.\nArticle URL: https://example.com/pretzel\n```\n\n It should be logged with`Relevant: no` , and nothing should go to Notion.\n\n**Checkpoint:**\n\n| Test | Sheet | Notion | \n|---|---|---|\n| 1. Relevant | new row, `yes` | new idea | \n| 2. Duplicate | nothing new | nothing new | \n| 3. Irrelevant | new row, `no` | nothing new | \n\n**Stuck?**\n\n- **The agent skips a tool:** make the tool description clearer, and check that the workflow in the instructions names it exactly.\n- **It logs duplicates anyway:** check the filter in tool 1. The column must be`Link` , and the value must be set to**Let AI agent decide** .\n- **It saves ideas for irrelevant articles:** make your blog topic more specific in the instructions.\n\n**Goal:** let the agent work on real articles from your feed, just like your old scenario did.\n\n1. Delete the test rows in `Agent log` (keep the header) and the test ideas in Notion.\n2. Click **Run once** . With 1 RSS item, the agent runs once.\n3. Open the **Reasoning** tab and read through it step by step:\n  - Which tool did it call first?\n  - Why did it decide the article is relevant or not?\n4. Set RSS to **3** items.**Run once** again.\n  - Like any other module, the agent runs once per bundle, so this means 3 separate agent runs.\n5. **Run once** one more time, without changing anything.\n\n**Checkpoint:** on the last run, all articles are skipped as duplicates. Your old scenario couldn't do that: it added the same articles again on every run.\n\nIf your feed published a new article in the meantime, that one gets processed. That's correct.\n\n**Compare old and new.** Fill this in for yourself:\n\n| Question | Old scenario | Agent | \n|---|---|---|\n| How many articles ended up in Notion? |  |  | \n| Did duplicates get caught? |  |  | \n| How many credits did one run use? (open each scenario > **History** ) |  |  | \n| How easy was it to see *why* something happened? |  |  | \n\nAgents behave differently from normal modules. The best way to understand them is to change one thing and watch what happens.\n\n- Use RSS with 1 item for these.\n- Before each experiment, delete the rows in `Agent log` . Otherwise the agent skips the article as a duplicate.\n\n**Pick at least three:**\n\n1. **Change the topic.** Change`[YOUR BLOG TOPIC]` to something very different. Run the same article. Does the decision flip?\n2. **Weaken a tool description.** Change tool 1's description to just`Searches the sheet.` Delete the log rows and run twice. Does it still check for duplicates?\n3. **Remove a rule.** Delete \"Never save an idea for an article that isn't relevant.\" Test with the pretzel article in the chat. What happens?\n4. **Same input, three times.** Delete the log rows between runs and run the same article 3 times. Is the decision always the same? Is the blog idea?\n5. **Count the steps.** In the agent's output, open**Metadata** >**Execution steps** . How many steps did one article take? How many tokens?\n6. **Change the model.** Try a Small and a Large model on the same article. Compare quality and tokens.\n\nAfter each experiment, undo the change.\n\n**What to take away:**\n\n- With an agent, your instructions are the logic. The vaguer they are, the less predictable the agent becomes.\n- Tool descriptions matter as much as the instructions.\n- The same input doesn't always give exactly the same result.\n\nPick one or more.\n\n**Path A: Hybrid: the agent decides, the scenario acts**\n\nAgents are good at judging, and normal modules are good at doing the same thing reliably. Combine them:\n\n- Clone your agent scenario.\n- Remove the `Save blog idea` tool.\n- In the agent, set **Response format** to**Data structure** with two items:`relevant` (Boolean) and`blogIdea` (Text).\n- Update the instructions:\n  - Remove `Save blog idea` from the`# Tools` section.\n  - Replace workflow step 5 with: `Return relevant (true or false) and blogIdea (a catchy headline plus a 2-sentence outline, empty if not relevant).`\n- Remove \n- After the agent, add a normal **Notion** module,**Create a Data Source Item** . Map`Name` ,`Source URL` and`Source summary` from the RSS module, and`Blog post idea` from the agent's`blogIdea` .\n- Click the connection line between the agent and Notion and set up a **filter** :`relevant` ,**Boolean operators** >**Equal to** ,`true` .\n- **Think about it:** what got more reliable? What got less flexible? How did the credits change?\n\n**Path B: Give the agent knowledge**\n\n- Write a short style guide: who your readers are, your tone, topics you never cover, examples of good headlines. Google Docs works fine: download it as PDF or `.docx` .\n- Hover over the agent > **+** >**Knowledge** > upload the file. Uploading costs a few credits.\n- Add to the instructions: \"Follow the blog style guide in your knowledge when writing blog ideas.\"\n- Compare blog ideas before and after.\n\n**Path C: Stricter guardrails**\n\nAdd rules to the instructions and test whether the agent follows them:\n\n- \"Never save more than one idea per article.\"\n- \"Mark articles as not relevant if they are mainly advertising.\"\n- \"If you're unsure whether an article is relevant, log it as not relevant and start the reason with UNSURE.\"\n\nMake up a test article for each rule and send it in the chat.\n\n**Path D: Second opinion**\n\nWrite your instructions with AI's help. Give ChatGPT, Claude or Gemini your current instructions *plus* the Reasoning of a run that went wrong, and ask: \"Improve these instructions so this doesn't happen again.\" Test the result. Make itself recommends this way of improving agents.\n\n1. In your first scenario, where were the decisions made? And where are they made now?\n2. Name one task where you would **not** use an agent. Why? Think of cost, predictability and rules that must never break.\n3. The agent decided differently on the same article. Is that a problem or a feature? How can you make it more consistent?\n4. In a normal scenario, you map fields. What's the agent's version of mapping?\n5. Which was cheaper per article, the old scenario or the agent? Is the difference worth it?\n\n**Coming up:** you'll meet agents again in n8n.\n\n| Problem | Fix | \n|---|---|\n| \"Run an agent\" not found | Search `Make AI Agent` and choose the app with**(New)** | \n| No Gemini/Groq connection possible | Free plan: agents only run on Make's AI Provider | \n| Agent answers but nothing happens | No tools yet, or the tool names don't match the instructions | \n| Agent says it logged the article, but the sheet is empty | It didn't actually call the tool. Check the Reasoning, then the tool names and descriptions. | \n| In the chat, the agent skips the sheet check | It remembers the article from the chat. Start a new chat. | \n| Error about the active scenarios limit | Free plan: max. 2 active scenarios. Switch off the others. | \n| Every article is \"duplicate\" | Old rows in `Agent log` . Delete them, keep the header. | \n| Duplicates aren't caught | Tool 1's filter: column `Link` , value set to**Let AI agent decide** | \n| Ideas saved for irrelevant articles | Make the blog topic and the \"relevant\" rule more specific | \n| Sheet fields filled in strangely | Add more detail to the tool description, or use **Add details** on the field | \n| Notion error | Check the property types: `Source URL` must be a URL, and`Name` must not be empty | \n| Credits going fast | 1 RSS item while testing, Medium model, no unnecessary chat tests | \n| A button looks different than described | Open beta: look for the closest match, or ask your instructor |", "url": "https://wpnews.pro/news/make-ai-agents-md", "canonical_source": "https://gist.github.com/ReaganS94/5c5ca5d934ad784805f3ee10c1e82da4", "published_at": "2026-10-19 20:11:57+00:00", "updated_at": "2026-10-20 09:47:33.200112+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools"], "entities": ["Make", "Google Sheets", "Notion", "Google", "Gemini", "Groq"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/make-ai-agents-md", "markdown": "https://wpnews.pro/news/make-ai-agents-md.md", "text": "https://wpnews.pro/news/make-ai-agents-md.txt", "jsonld": "https://wpnews.pro/news/make-ai-agents-md.jsonld"}}