BlogHow-to GuidesFrom Airtable to Live Posts: How Buy An A-Frame Publishes Their Entire Social Media Presence with Storylayer
How-to Guides

From Airtable to Live Posts: How Buy An A-Frame Publishes Their Entire Social Media Presence with Storylayer

A complete guide to building a consistent content publishing workflow — no coding required. Turn your Airtable database into a multi-channel publishing system.

Storylayer Team··14 min read
From Airtable to Live Posts: How Buy An A-Frame Publishes Their Entire Social Media Presence with Storylayer

No developers. No coding. No manual posting. Just a database and a checkbox.


Who This Guide Is For

If you manage social media for a business that regularly publishes similar types of content — property listings, job postings, product launches, event announcements, weekly roundups — this guide is for you.

You don't need to know how to code. You don't need a developer. You need:

  • An Airtable account (free plan works)
  • A Storylayer account
  • About 2 hours to set everything up

After that? You add a row to Airtable, check a box, and Storylayer handles the rest — designing the graphic, writing the captions, and posting to Instagram, Facebook, X (Twitter), and your blog automatically.


The Problem This Solves

Here's what most social media managers go through every time they want to post a new listing, product, or piece of content:

  1. Find the raw data (price, photos, description, location)
  2. Open Canva or Photoshop and manually design a graphic
  3. Write a caption from scratch
  4. Log into Instagram, upload the graphic, paste the caption
  5. Repeat for Facebook
  6. Repeat for Twitter
  7. Write a blog post
  8. Schedule everything

For Buy An A-Frame — an Instagram account curating A-frame properties for sale across the United States — this meant spending 30–45 minutes per listing. They post multiple times per week. The math adds up fast.

With Storylayer, that entire process is now zero minutes of human time. A property gets added to their Airtable database, and within 5 minutes it's live on Instagram, Facebook, X, and their Ghost blog — complete with a professionally designed stats card, an editorial caption, and a full blog article.

This guide shows you exactly how to build that.


Why Storylayer Instead of Other Tools?

There are other automation tools out there — Zapier, Make, Buffer, Hootsuite. Here's why Storylayer is different for content-heavy workflows:

| | Storylayer | Zapier / Make | Buffer / Hootsuite | |---|---|---|---| | AI caption writing | Built-in per post | Requires OpenAI setup | None | | Branded graphic design | Creatomate templates | No design layer | Basic image posting | | Airtable field mapping | Visual, no-code | Possible but no AI/design | Not supported | | Multi-channel from one record | IG + FB + X + Ghost | Complex to set up | Limited | | Writes results back to Airtable | URLs + status | Manual | None | | Built for recurring content types | Core feature | One-off automations | Manual scheduling |

The key difference: Storylayer is built specifically for recurring, structured content — the same type of post, over and over, with different data each time. Listings. Products. Events. Jobs. It's designed for exactly this use case.


What You'll Build

By the end of this guide, you'll have a pipeline that works like this:

New row added to Airtable
         ↓
Storylayer picks it up automatically (every 5 min)
         ↓
AI generates a property name and captions
         ↓
Creatomate renders a branded stats card graphic
         ↓
Posts to Instagram carousel
Posts to Facebook
Posts to X / Twitter
Publishes to Ghost blog
         ↓
Writes back to Airtable:
  ✓ Storylayer Posted
  ✓ Posted Date & Time
  ✓ Instagram URL
  ✓ Facebook URL
  ✓ X URL
  ✓ Ghost URL

Part 1: Setting Up Your Airtable Base

The Columns You Need

Your Airtable base is the source of truth. Every piece of data that appears in your posts comes from here.

For Buy An A-Frame, the base has these columns:

| Column Name | Type | What It Contains | |---|---|---| | Address | Single line text | Street address | | City | Single line text | City name | | State | Single line text | State abbreviation (WA, CO, AZ) | | Full Location | Formula | City + ", " + State name | | Price | Currency | Listing price | | BD | Number | Bedrooms | | BA | Number | Bathrooms | | sq. ft. | Number | Square footage | | Year built | Single line text | e.g. "Built in 1965" | | Days Listed | Number | Days on market | | Image | URL | Main photo URL (or attachment) | | Description | Long text | Property description | | Instagram Name | Formula / AI | AI-generated property name | | Post to Storylayer | Checkbox | Triggers the automation | | Storylayer Posted | Checkbox | Set by Storylayer after posting | | Storylayer Posted Date | Date | Set automatically | | Instagram URL | URL | Written back by Storylayer | | Facebook URL | URL | Written back by Storylayer | | X URL | URL | Written back by Storylayer | | Ghost URL | URL | Written back by Storylayer | | Storylayer Error | Long text | Populated if something fails |

The bold columns are the ones Storylayer reads and writes. The rest are your data.

Tip: The column names don't have to match exactly — you'll map them to Storylayer fields in the next step. But keeping them consistent makes setup easier.

How Data Gets Into Airtable

You have several options for how rows get added to your base:

  • Manually — type in each row yourself. Full control, most effort.
  • Bardeen — a browser extension that can scrape Zillow (or any website) and write directly to Airtable on a schedule. This is what Buy An A-Frame uses.
  • Zapier / Make — connect any data source to Airtable automatically.
  • Airtable forms — let a team member or external source submit entries.
  • CSV import — bulk upload from a spreadsheet.

Storylayer doesn't care how rows get into Airtable. It just watches for the checkbox.


Part 2: Designing Your Template in Creatomate

Storylayer uses Creatomate to render your branded graphics. You design the template once, and Storylayer fills in the data fields automatically for every post.

What Is Creatomate?

Creatomate is a template-based image and video rendering platform. Think of it like Canva, but instead of you filling in the fields manually, an automation fills them in for you.

You design a template with named text fields and image placeholders. Storylayer sends the data, Creatomate renders the final image.

The Buy An A-Frame Template

Buy An A-Frame uses a 1080 × 1350px portrait template (the ideal Instagram feed size). It contains:

  • A large hero photo of the property
  • The AI-generated property name in bold display type (e.g. GLASS GROVE GALLERY)
  • The price in large type (e.g. $1.6M)
  • Location, bedrooms, bathrooms, square footage
  • Year built and days on market
  • The month and year of posting
  • The @buyanaframe Instagram handle
  • The brand logo

Every text element has a named field in Creatomate. When you connect it to Storylayer, you map those field names to your Airtable columns.

Creating Your Template

  1. Go to creatomate.com and create a free account
  2. Click New Template and set the size (1080 × 1350 for Instagram portrait)
  3. Add your design elements — background, text boxes, image placeholder
  4. Name every element — these names are how Storylayer finds them
  5. Use descriptive names like Price.text, Location.text, Hero-Image.source

The most important step: Every element you want Storylayer to fill in must have a name. In Creatomate, click an element → Properties panel → set the Name field.

Once your template is saved, copy the Template ID from the URL or template settings page. You'll need this in Storylayer.

Template Sizes by Channel

For best results, use different template sizes for different channels:

| Channel | Recommended Size | Aspect Ratio | |---|---|---| | Instagram Feed | 1080 × 1350 px | 4:5 portrait | | Facebook | 1080 × 1350 px | 4:5 portrait | | X / Twitter | 1200 × 675 px | 16:9 landscape | | Ghost (feature image) | 1200 × 675 px | 16:9 landscape |

You can use the same template for Instagram and Facebook if you prefer a single template.


Part 3: Connecting Everything in Storylayer

Step 1: Connect Your Social Accounts

In Storylayer, go to Dashboard → Social Accounts and connect:

  • Instagram — Business account required, connected via Facebook OAuth
  • Facebook Page — connected automatically with Instagram
  • X / Twitter — OAuth flow
  • Ghost — your Ghost site URL and Admin API key (found in Ghost Admin → Settings → Integrations → Add custom integration). Ghost custom integrations require the Publisher plan or higher.

Step 2: Connect Airtable

Go to Dashboard → Data Connectors and click Connect Airtable.

You'll need a Personal Access Token from airtable.com/create/tokens with these scopes:

  • data.records:read — so Storylayer can read your records
  • data.records:write — so Storylayer can write post URLs back
  • schema.bases:read — so Storylayer can list your bases and tables

Select your base and table. Storylayer will show a preview of your columns immediately.

Step 3: Create a New Automation

Click Create A Story and select Recurring / Automated.

The wizard walks you through 5 steps:

Step 1 — Choose Your Channels

Select Instagram, Facebook, X, and Ghost. You can enable or disable channels at any time.

Step 2 — Connect Your Data Source

Select Airtable as your data source. Your connected base and table will appear automatically.

For the trigger, choose Airtable — when record is created and select the "Post to Storylayer" checkbox column as your trigger field.

Configure AI guidance: set your tone (casual, professional, inspiring), add "Always include" and "Never include" rules.

Step 3 — Map Your Fields

Tell Storylayer which Airtable column maps to which template field.

For Buy An A-Frame, the mapping looks like this:

| Template Field | Airtable Column | |---|---| | Name | Instagram Name | | Price | Price | | Location | Full Location | | Hero-Image | Image | | Bedrooms | BD | | Bathrooms | BA | | Square-Feet | sq. ft. | | Year-Built | Year built | | Days-on-Market | Days Listed |

Storylayer shows a live preview of how your template will look with real data from your first Airtable row.

Set your brand defaults (handle and logo) and optionally choose a caption source column from Airtable.

Step 4 — Configure Each Channel

For each channel, set:

  • The caption style and tone
  • Any channel-specific settings (Instagram hashtags, Ghost tags, tweet format)
  • The Creatomate template (each channel can use a different one)

Step 5 — Activate

Click Save to create the automation, then click Enable Automation. Storylayer will now poll your Airtable base every 5 minutes.

Step 4: Trigger Your First Post

In Airtable, check the Post to Storylayer checkbox on any row.

Within 5 minutes, Storylayer will:

  1. Find the row
  2. Generate the property name and captions with AI
  3. Render your Creatomate template with that row's data
  4. Post to all configured channels
  5. Write back the URLs and check Storylayer Posted

Part 4: Seeing It Live

Here's what the Buy An A-Frame pipeline produces for every listing, on a consistent schedule:

Instagram

A branded 4:5 graphic with the property stats card. Caption pulled from the "Instagram Content" column or AI-generated — editorial, 200–300 words, ending with hashtags.

Facebook

The same stats card image, with a caption adapted for Facebook's format.

X / Twitter

A 1:1 or 16:9 graphic optimized for X's feed. Short punchy tweet under 280 characters with key stats and hashtags.

Ghost Blog Post

A full blog article with the stats card as the feature image. AI-generated title, 500–700 word article body with property details, neighborhood highlights, and a lifestyle angle. Auto-tagged from location and property type.

Airtable Write-back

After all channels post successfully, Storylayer checks Storylayer Posted and fills in every URL column. You have a permanent record of everything that's been published, directly in your database.


Part 5: What Happens When Something Goes Wrong

Storylayer is designed to be resilient:

  • If one channel fails, the others still post. The error is written to the Storylayer Error column in Airtable.
  • If a post is duplicated, Storylayer has multiple dedup layers — in-memory checks, database constraints, and Airtable's own filter — to prevent the same record from being posted twice.
  • If you add a new channel later, Storylayer will catch up existing records automatically. The Storylayer Posted flag is only set once all configured channels have queue items, so new channels always get picked up.

Part 6: Scaling Up

Once your pipeline is running, here's how to scale it:

Adding new listings: Use Bardeen, Zapier, or any tool that writes to Airtable on a schedule. New rows appear, the checkbox gets checked, posts go live. No human involvement.

Reviewing before posting: Set the automation to Approved mode. Posts land in the Storylayer queue for you to review, edit, or reject before publishing.

Editing captions: Every post in the queue has an Edit Caption button. Tweak the AI-generated caption before it goes live without touching any other settings.

Pausing the automation: Click Pause on any automation in the queue. No new posts will be created until you resume.

Adding new channels: Add X or Ghost to an existing automation that already handles Instagram and Facebook. New records post to all channels. Existing records that haven't been posted to the new channel will be caught up automatically.


Results: What Buy An A-Frame Achieved

Before Storylayer:

  • 30–45 minutes per listing
  • Manual design, manual captions, manual scheduling
  • Inconsistent posting frequency
  • No audit trail

After Storylayer:

  • 0 minutes per listing — runs consistently on schedule
  • Consistent branded design on every post
  • Posts go live within 5 minutes of a row being added
  • Full audit trail in Airtable with post URLs and timestamps
  • Content published to 4 channels simultaneously

Getting Started

Ready to build your own pipeline?

  1. Create a Storylayer account
  2. Connect your social accounts and Airtable base
  3. Design your Creatomate template (or use a built-in one)
  4. Create your automation and activate

Your first Airtable-to-social automation can be live in under 2 hours.

Start your free trial →

No credit card required.


Related Guides


Buy An A-Frame is a real Storylayer customer. All posts shown in this guide were created automatically using the pipeline described above.

Start automating today

14-day Pro trial. No credit card required.

Start free trial