· Tutorial · 5 min read
How To Automate Quotes Images for Posting on Social Platforms using Templated & n8n
Learn how to automate quote images for social media using Templated & n8n. From setting up templates to connecting Google Sheets and APIs, this step-by-step tutorial shows you how to save time, reduce manual work, and keep your content consistent.

Do you know you can automate quote generation for any social platform?
Yes, if you are a speaker, coach, or even a content creator, this automation can help you save time and focus on other important tasks for your business.
In this tutorial, we have built a basic workflow that can help you understand how things work. And then you can do tweaks in it as per your business requirements or use case.
Let’s get started!
Tools We Will Need To Automate Quotes Generation
We have built this automation using Templated, an image automation API. With Templated, you can generate images automatically from pre-selected templates.
The second tool we’re using is n8n, a no-code automation platform. If you’re already comfortable with other automation tools, you can apply the same logic there as well.
To maintain our database of quote types and template choices, we’re using Google Sheets.
In case you would like to see a video tutorial, here’s a quick one on this whole automation ⬇️
In case you would like to read, you can follow along.
Prepare Your Database (Google Sheets)
We select quote_type & industry, which our AI agent takes from this database. The columns C, D, E & F are the outputs that get recorded here when the automation runs.
n8n Nodes Setup
The first node is for scheduling. Let's say we want our automation to look for a new row every day. The second node in our workflow extracts rows from our database, and we made it with some conditions.
It is that if our column “Automation Complete” is empty, then only the rows are extracted. We are doing this on purpose so as to avoid our system from taking any row that has been processed earlier.
The next node in our setup is “Limit”.
We want our system to take one row at a time; the Limit is set to ‘1’. The next node is of ‘AI Agent’, our Agent has access to AI through Openrouter, it has a memory, and we want output in a structured format, therefore, a tool for structured input.
For the User Message, we are giving the quote type and industry from our Spreadsheet.
Here’s the system message that we are giving.
You are a web-enabled automation assistant. Return STRICT JSON only — no prose, no markdown.
GOAL
Produce ONE short quote aligned to the QUOTE_TYPE and INDUSTRY given in the user message.
Choose ONE template_id at random from the two IDs below, and output valid JSON.
TEMPLATE_IDS (choose uniformly at random, 50/50):
[
"6ab89290-8072-4d94-916e-184097ea15d8",
"e848d8fc-b8a4-41e3-accc-5776de983d29"
]
MEMORY RULE
From your last 10 replies in this session, collect the “writer” values and DO NOT reuse any of them.
If unavoidable, set writer = "Unknown".
QUALITY RULES
- Keep the quote concise: target ≤ 140 characters or ~4–5 short lines (the text box auto-fits).
- The quote must reflect BOTH the requested QUOTE_TYPE (tone/theme) and INDUSTRY (context/audience).
- If using the web: prefer widely attributed/public-domain quotes. If attribution is uncertain, use writer = "Unknown".
- Output must match the schema exactly. No extra keys, no commentary.
SCHEMA
{
"template_id": "string", // one of the two IDs above
"quote_type": "string", // echo back QUOTE_TYPE
"industry": "string", // echo back INDUSTRY
"quote": "string", // the quote text
"writer": "string" // e.g., "Maya Angelou" or "Unknown"
}
Let me explain to you the system message in brief: -
- We want our AI assistant to act as an automation expert and return only the JSON
- The goal is to prepare a render for quote automation.
- We have selected two templates from Templated’s dashboard. We want the agent to select a random template from these IDs every time the system runs.
- There are then some memory rules & quality rules given. The quotes are taken from the web since our agent has access to OpenRouter (openAI-4o)
- The schema in the system prompt defines the output it should prepare.
For more consistency, we have toggled on the button “Specific output parameter” in our agent. The output parser has been configured with a specific JSON format that specifies where the data should be located.
Cool, now it's time to give all this data to Templated to prepare images.
Before diving further into our n8n, let’s head to Templated and set our base templates in there.
Setting up Templates in Templated
Once you sign up to Templated, you would land on the dashboard, which would look something like this ⬇️
Now, from here, you have the option to create a custom template from scratch in the editor.
If you already have a base template made somewhere else, you can copy that and add layers that you want to programatically change.
Or you can use our AI template generator, wherein you have to give the prompt & your base template will be made with layers on it.
For the sake of this tutorial, we have taken 2 templates from the gallery only, and we are specifically changing 2 layers on them as we render quotes.
This is one of the templates, and you can see the layers we are changing in here. ⬇️ Similarly, in the other template, we are changing 2 layers.
Quick Note: — You could see that we have kept the layers name same in both the templates, so text-1 is quote in both templates, and text-3 is the writer name. This will avoid confusion in building our workflow & keep it seemless.
Connecting Templated to n8n
If this is the first time using Templated, you need to install the node. Once you do that, you need the API_KEY to connect to it.
When you sign up, you get 50 free credits to spin the API. Once Templated’s node is installed, open it and get your API_KEY from Templated’s dashboard. Here are other configuration settings of Templated’s node.
And since we are also taking the writer’s name, we are mapping it too.
The output will be a rendered URL, which I am taking with date back to my Google sheets, so as to maintain the database in the following nodes.
📥 Download the exact workflow blueprint 👉 here.
Conclusion
And like this, you can automate your social media images, blog post featured images, and many more.
In case you need any help integrating Templated’s API to your workflows, you can reach out to us on the website’s chat! We will be happy to help you.
Also, we have other automation tutorials that you can check out: -
Automate your content with Templated