Skip to content
JamFrame
How-to Instagram Automation

How to turn a Google Sheet into a week of Instagram posts

Design one post, mark the parts that change, and let JamFrame fill it in from each row of a Google Sheet and post it on schedule. A step-by-step walkthrough.

The JamFrame team 3 min read
Spreadsheet rows of café specials turning into three branded Instagram posts

Most weekly posts look the same. A café posts its special, a shop posts a new product, a coach posts a quote. The design hardly changes, and the words, prices and photos change every time. Making each one by hand means opening a design tool, swapping the text, exporting, and uploading. Five posts a week takes an afternoon.

JamFrame does that loop for you. You design the post once, tell JamFrame which parts change, and keep the changing parts in a Google Sheet. Each row becomes a finished post.

This guide walks through the whole setup with a café’s weekly specials as the example.

What you need

  • A free JamFrame account
  • A Google Sheet with one row per post
  • An Instagram account, connected to JamFrame (Business or Creator)

1. Start from a template

Open Templates in JamFrame and pick an Instagram post. Change the fonts, colors and logo so it looks like your brand, or design your own from a blank 1080 × 1350 canvas.

You can also bring in a design you already have. JamFrame imports a public Canva design link, and the Figma plugin exports frames straight into a template.

2. Mark what changes

Select the headline and open its API settings in the side panel. Give the layer a short parameter name, such as headline. Do the same for the price and the photo.

These names matter: JamFrame matches them to the column names in your sheet. Everything you don’t mark, like the logo and the background, stays exactly as you designed it.

3. Set up the sheet

Make a Google Sheet with one column per parameter, plus any columns you want for yourself:

headline price photo status
Cold brew is back $4.50 https://… Ready
Oat latte season $5.20 https://… Ready
Matcha Fridays $5.50 https://… Draft

A status column is handy. It lets you write posts ahead of time and only send the rows you mark Ready.

4. Build the workflow

Open Workflows and create a new one. A workflow is a straight line of steps:

  1. Trigger. Choose Schedule to run every weekday at 9:00, or New or changed rows to post as soon as you add a row.
  2. Source. Choose Google Sheets and pick your sheet. Add a Filter rows step that keeps rows where status is Ready.
  3. Render. Pick your template, then Use suggested mapping under Preview & mapping. JamFrame matches each column to the parameter with the same name.
  4. Deliver. Choose Post to social accounts, pick your Instagram account and write the caption. Captions can use your columns too, like {{headline}}.

Press Run Now once to check the first post, then leave the schedule on.

Prefer the tools you already use? The same steps work in Zapier, Make and n8n: a new row in Google Sheets triggers a JamFrame render, and the result goes wherever you like.

5. Check the result

Every post shows up under Posts with its status: scheduled, published or failed. A failed render never uses credits, so a typo in a photo link costs you nothing but a retry.

What it costs

Each image uses one credit. A week of daily posts uses seven credits, and the Free plan includes 100 credits a month, so a single account can run this for free. Carousels use one credit per slide.

Where to go next

  • Resize the same template for Stories and LinkedIn with Smart Resize.
  • Add a template form so teammates can fill in a post from a simple page, without touching the sheet.
  • Connect ChatGPT or Claude and ask for the week’s posts in a chat.

Ready to try it? Start free and make your first post from a sheet today.

Found this useful? Share it:

Your first 100 credits are on us.

Pick a template from the library, connect a source and make your first post in minutes.

Start free