I need help with creating a template

Hi everyone! I am new here. I am trying to build a simple n8n template. Basically, I want the workflow to be like that on command, agent researches internet for all music classes nearby, next sends them email enquiring about facilities and prices, next collates that data in a word document, next create a table comparing the facilities, ratings and prices of these music schools. Also, I don’t want to share API key for security concerns. How do I operate this task? Your guidance will be really appreciated. Can you share a copy-paste template?

Hi Shal, welcome to the community!

What you’re describing is a pretty powerful use case — and totally possible with n8n, but it does involve multiple steps and tools. Here’s how I’d break it down:


:brain: High-Level Workflow Outline:

  1. Trigger: Manual trigger or keyword (e.g., via webhook or Telegram).
  2. Agent search: Use an AI agent (e.g., OpenAI or DeepSeek) to search for nearby music classes (you’d need internet search capabilities via API like SerpAPI or a scraping service).
  3. Email outreach: Send emails to the collected list (via SMTP or Gmail node).
  4. Collect replies: Could be automated via an IMAP Email node + parser (this part will require careful setup).
  5. Generate summary: Use AI again to extract and format the received info (facilities, pricing, rating).
  6. Document creation: Use the Google Docs or Microsoft Word (via HTTP + API) to generate a Word file with a table.
  7. Security tip: You can use environment variables to avoid exposing your API keys in public workflows.

:rocket: First Steps You Can Try:

Since you’re new, I suggest starting with this smaller prototype:

  • Trigger manually
  • Use Set node to input 3 example schools manually (just fake data for now)
  • Add Function node to structure the data
  • Use Markdown node to create a table
  • Export that as a .docx via Google Docs node or even PDF

Once that’s working, you can slowly automate the parts with AI + scraping.


I’d be happy to help you set up a basic example — just let me know:

  • Which AI provider you plan to use (OpenAI, DeepSeek, Claude, etc.)
  • Whether you prefer to use Google Docs or another format
  • If you’re comfortable installing nodes or using external APIs

Let’s build it step by step.

1 Like

Yes would love an example. And yes, I do not want to share API keys. I prefer OpenAI, Google Docs. Not sure what’s the difference when we Install nodes and when we use external APIs

Hey! Glad to hear you’re up for building this step by step — here’s a quick explanation of the difference between installing nodes and using external APIs in n8n:

1. Installing nodes
When a node (like Google Docs or OpenAI) is already included in n8n, it just means the functionality is built-in — you don’t need to write code or call the API manually. These nodes usually:

  • Have fields you can fill in (URL, prompt, document content, etc.)
  • Handle authentication via credentials inside n8n
  • Simplify the request structure for you

For example, using the Google Docs node to create or export a file is easier than crafting the HTTP request yourself.

2. External APIs
Sometimes, a service you want to use doesn’t have a built-in node. In that case:

  • You use the HTTP Request node to call the service manually
  • You’ll have to set the method, URL, headers, body, etc.
  • You’re basically replicating what the native node would do under the hood

This gives you more control, but requires knowing how the external API works.


If you’re using OpenAI and Google Docs, you’re in a good spot — both have official nodes in n8n. No need to install anything or call them manually unless you want to.

Let me know if you want me to set up a basic sample for you using only those native nodes (no API key exposure).

Let’s keep it simple at first and expand once it’s working

1 Like

Yes definitely, I would love to see a sample

How to work this out?

Can you send the error details of the first node?

Error is because I haven’t integrated anything

You have to configure each node, show me the configuration of the first node

Don’t know how to do that

To configure an Assistant node in n8n, you’ll first need to create an Assistant in your OpenAI account and then use its ID in the node.

:wrench: Here’s how to do it step by step:


Step 1: Create the Assistant in OpenAI

Go to this page in the official docs for guidance:

Create an Assistant – n8n Docs

Or go directly to the OpenAI platform here:
https://platform.openai.com/assistants

Once you’re there:

  • Click “+ Create”
  • Set up the name, instructions (this is your system prompt), and tools you want the Assistant to use
  • Once saved, copy the Assistant ID (looks like asst_abc123...)

Step 2: Add the Assistant Node in n8n

  1. Add the Assistant node in your workflow
  2. Choose or create your OpenAI credential
  3. Paste the Assistant ID from step 1
  4. Optionally: you can set thread ID, input message, etc., if you’re continuing a conversation

Pro Tip

If you’re building a chatbot or AI agent, you can pair this with:

  • Chat Trigger node (to start the chat)
  • Memory node (to keep context)
  • Tools like Function, Google Sheets, HTTP and others

Isn’t this workflow created by pasting a template?

It seems you need to use the ai agent node, which would work better.

You can share you workflow with us via
n8n attach workflow
Just hit paste once u click the code button,

Why do u have serp tools, this can only connect to an ‘ai agent’ node? @shai

Step 1 done. In Step 2, to create the assistant node, which of these OpenAI actions should I select?

u can create one, or make one in openai site, if u make one in open ai site, u just reference the assistant id and use message an assistant.

But id probably try with ai agent or basic llm chain… try the ai agent as you can connect tools to it.


you can pick which model easily too, you can give user prompt and system prompt which then will help tell the model what todo,

Setting up an assistant is more time-consuming, I think u can use open router also and attach model which have internet access, or u can scape by visiting sites via request, or using apis from company who offer it etc

The ai agent one I mentioned earlier has tools, so likely serpAPI and other tools are readily available, you can even connect HTTP request tool.

This would make the flow very simple but would require some API subscriptions which isn’t much, but other wise maybe manual scape page via HTTP request, and use code nodes to extract data etc, and connect ure other nodes too for other steps.

Like this? Is this correct or needs some change? And what should be the next step for next node?

Should Gmail node the next step? If yes, what should be written for ‘To’?

click tool, and add another for send email

Like this?


But it shows error- I need to mention parameter ‘To email’.
What should be the next step?

u should be able to let the model define it? what setting do u have?