Where the social hours actually go

Ask a small business owner how much time social media takes and you get a number. Ask what the time was spent on and the answer is almost never "writing." Four things eat the hours, and none of them are creative work.

The calendar is mostly archaeology

Planning a month of content sounds like a thinking task. In practice most of the session is spent reconstructing what already happened: scrolling back to check what was posted three weeks ago so you do not repeat yourself, hunting for the photo from that job in March, finding the one video where the lighting was decent, cropping it, and then writing captions that are slightly different for each platform.

Then there is approval. In a small business, the owner wants to see it before it goes live, which means the calendar is really a spreadsheet plus a text thread plus a memory of who said yes to what. Nothing about that is scalable, and the first busy week breaks it.

Cross-posting is not copy and paste

Putting the same content on four platforms is treated as a five minute job and is closer to twenty five. Aspect ratios differ. Caption length limits differ. Links behave differently on each network, so a post that works on Facebook needs a different call to action on Instagram. Hashtag conventions differ by platform and by audience. Alt text and tagging get skipped entirely because they are the last step and the person is already done.

And the shortcut is visible. An identical asset dropped on every network reads as an afterthought on at least two of them, which is how businesses end up posting more and getting less.

The inbox has more than one door

Customer questions do not arrive in one place. They arrive as Instagram DMs, replies to Stories, comments under a post, Facebook page messages, and increasingly through Google Business Profile. A person asking "do you deliver to my area" in a comment is a lead. A person leaving a complaint under a photo is a reputation event. Both look identical to a notification badge.

Because the inbox lives on somebody's phone rather than in a system, nobody really owns it. Messages get read at a red light and answered later, or not at all. Response expectations, meanwhile, are set by whichever competitor answers fastest, which is a standard nobody agreed to and everyone is judged against.

User-generated content evaporates

The best content most small businesses will ever have is made by customers, and almost all of it is lost. Someone tags you in a Story that disappears in 24 hours. Someone posts a photo of your work with your handle in the caption and you see it a week later. A five star review with a great line in it sits in a platform nobody exports from.

Collecting that material is not hard, it is just relentless. It has to happen every day, forever, and it competes with running the business. So it does not happen, and the business goes on producing content from scratch while free content it already earned expires unwatched.

The pattern across all four is the same. Distribution and capture are mechanical and repeat on a schedule. Judgment, taste, and the actual reply to a customer are not. Automation belongs entirely on the first side of that line.


What's actually worth automating

Social media has two distinct jobs: creating content and distributing it. Automation handles distribution. It does not help you create better content, and it will not fix an account that's posting things nobody wants to see.

What it does well: takes content you've already made, drops it on the right platform at the right time, and frees you from the daily act of logging in, uploading, and hitting publish. For a business owner posting 3–5 times a week, that's a genuine 2–3 hours recovered every week, every week, indefinitely.

The tool trap: Buffer, Later, Hootsuite, Sprout Social: they all do this. They also cost $15–$80/month, add another login to manage, and lock your content inside their platform. A custom build does the same job, uses tools you already have (Google Drive, Google Sheets), and has zero monthly fees after the one-time build cost.

The workflows worth building are the ones that run on a schedule and follow the same steps every time: feed posts, stories, and cross-platform publishing. Everything else: DMs, comments, community management: still needs a person.

Workflow 1: Google Drive to Instagram and Facebook feed posts

This is the core build. Content lives in Google Drive. A Google Sheet is the schedule. A script reads the Sheet every 15 minutes, picks up any rows marked "ready" that are due to post, grabs the file from Drive, and publishes it to Facebook and Instagram via the Meta Graph API.

The client's entire interaction with the system is the Sheet. They never touch n8n, Zapier, Buffer, or any other tool. They fill in a row, set status to "ready", and the post goes live at the time they set.

Step 1 Drop image or video into Google Drive folder Step 2 Paste Drive link into Google Sheet row with caption, date, time, platform Step 3 Set status to "ready" Auto Script uploads file to Cloudinary for a public URL Auto Meta Graph API posts to Facebook and/or Instagram at scheduled time Auto Status updates to "posted"

Tools used
Google Drive Google Sheets Google Apps Script Meta Graph API Cloudinary (free tier)

Workflow 2: Story automation

Stories are a different API endpoint but the same basic pattern. The Sheet row gets a "story" value in the Type column instead of "post". The script routes it to the story upload flow: which on Facebook requires a two-step process (upload the photo, then publish it as a story) and on Instagram requires setting the media type to STORIES before publishing.

Stories disappear after 24 hours, so they're right for time-sensitive content: a same-day special, an event reminder, a flash promotion. The client batches these in the Sheet exactly like feed posts: same workflow, same columns, different type.

Type: story Script detects "story" in the Type column Facebook Photo uploaded as unpublished → published as photo story Instagram Media container created with STORIES type → published Auto Status updated to "posted"

Tools used
Meta Graph API v19 Google Apps Script Cloudinary

Workflow 3: Cross-platform scheduling

The Platform column in the Sheet handles this. Set it to "facebook", "instagram", or "both". The script reads the value and fires the appropriate API calls. One row, one piece of content, published to both platforms at the same time if needed: or held to one if the content only makes sense on one.

This is the part that saves the most time. Manually posting the same content to two platforms doubles the daily friction. The Sheet eliminates it: write the caption once, check the platform column, done.

Buffer, Later, Metricool, Hootsuite: the line they draw

Every business managing its own social presence eventually looks at a scheduling tool, and the honest answer is that these are good products. It is worth knowing what each is actually for before deciding whether a custom build makes sense.

Buffer is the simplest of the group. A queue, a set of connected accounts, and a clean interface for putting posts into time slots. If the only problem is "I want to write five posts on Sunday and have them go out during the week," Buffer solves it with almost no learning curve.

Later grew up around Instagram and still shows it. Visual planning, a media library, and a grid preview so you can see how a feed will look before publishing, plus link-in-bio handling. It suits businesses where the feed is a storefront and the look of the grid matters.

Metricool bundles scheduling with analytics and competitor tracking in one place, which appeals to people who want performance reporting without paying for a second tool and stitching the two together.

Hootsuite is the most enterprise-leaning. Many accounts, team permissions, approval steps, stream-based monitoring, and a unified inbox view. It is built for a team managing social as a job rather than one owner managing it between other jobs.

Here is where all of them stop, and the pattern is consistent:

They begin where your content already exists. Every one of these tools assumes you arrive holding a finished asset and a caption. None of them reach into the place your business actually produces content, which is the phone of the person doing the work, a shared Drive folder, or photos attached to a completed job in your field service app. The hardest part of the calendar is filling it, and that is upstream of every scheduling tool.

Approval assumes everyone logs in. Approval workflows exist on the higher plans, and they work if your team lives in the platform. In a small business, approval happens by text message to an owner who is not going to open a scheduling app to click approve.

Inbox coverage varies and does not know your business. Where a unified inbox exists, it collects messages. It cannot tell a buying question from a supplier email from a spam comment, because it has no idea what your business sells or which questions mean money. The triage judgment stays with you.

Nothing collects what customers make. Mentions, tagged Stories, and photo reviews are not a scheduling problem, so no scheduling tool owns them. There is no library building itself in the background.

The queue lives on their side. If the subscription lapses, publishing stops and the archive of what you scheduled goes with it.

The decision is not really custom versus off-the-shelf. It is where your friction sits. If your only problem is posting on a schedule, buy a scheduling tool, it is cheaper than anything we would build. If the friction is upstream, getting content into the queue at all, or downstream, handling what comes back, that is the gap a build closes. Plenty of clients run both.

The case for a custom build

When the friction is upstream or downstream, the arguments below are what tip the decision:

The workflow stays inside Google Workspace. No new logins, no new tools to learn. Content doesn't leave Drive. The script runs on the client's own Google account, so if anything happened to us, it keeps running. That's different from Buffer or Later, where the whole thing stops if you cancel. And the one-time cost pays for itself inside 18 months against a mid-tier subscription.

The real advantage: A custom build can be extended. Need to pull captions from a Google Doc template? Add that. Need to notify Slack when a post goes live? Add that. Off-the-shelf tools are fixed. A custom build grows with the business.


What this costs

Build What's included One-time cost
Feed posts (FB + IG) Google Drive → Sheet → Facebook and Instagram feed posts, status tracking $2,000
Feed posts + Stories All of the above plus story automation on both platforms $2,000
Full build + LinkedIn Facebook, Instagram, LinkedIn via LinkedIn API. Feed only (LinkedIn stories deprecated) $2,500

No monthly fees. No per-post charges. No subscription tools required beyond a free Cloudinary account. Built in 1–2 weeks.

Those figures sit inside our single automation tier, which runs $2,500–$7,500 fixed for one workflow. Builds that connect several systems at once run $8,000–$20,000 and take 2–3 weeks. Full custom platforms run $30,000+. Everything is priced in writing before work starts, and every build carries a 30-day window where we fix anything that is not right.


The three builds worth doing before you buy another tool

If a business managing its own social presence asked us where to start, these are the three, and none of them is a scheduling tool replacement. Each fits the single automation tier at $2,500–$7,500 fixed, delivered in 1–2 weeks, with a 30-day fix-anything window. You own the workflow and the credentials, any ongoing Aplos support and third-party costs are defined in writing, and the only ongoing cost is the vendor tools themselves, typically $20–$150 per month, paid by you directly.

1. Field-to-feed capture. This one attacks the empty calendar rather than the schedule. Staff text a photo to a dedicated number or drop it into a shared album or Drive folder from wherever they are. The workflow files it with the date and whoever sent it, creates a draft row in the content calendar, and texts the owner a preview to approve by replying yes. Approved items publish on the schedule already built. The business stops running out of content because capture now happens at the moment the work looks good instead of on a Sunday afternoon from memory. Scope covers one capture path, the calendar, and one or two publishing destinations.

2. Inbox triage router. Comments and messages from your Facebook page and Instagram account are pulled into one place and sorted by rules you define: likely buying question, complaint, spam, or general chatter. Anything that looks like a lead or a complaint goes straight to a phone with the original text and a direct link to reply. Everything gets logged so you can see what people actually ask. The automated part is routing and acknowledgment only. Real replies stay human, because an auto-reply to a complaint makes it worse. Scope covers two platforms, the classification rules, and the notification path.

3. UGC and mention library. Tagged posts, mentions, and reviews are captured to a Drive folder and a sheet as they happen, each row carrying the source, the handle, the date, the text, and a link back to the original. A permission-request message template is included so you can ask before reusing anything. The result is that the disappearing content customers make for you becomes a library you own, which is the cheapest source of good posts a business has. Scope covers the monitored sources and the capture destination.


Frequently asked questions

Can you automate posting to Instagram and Facebook from Google Drive?
Yes. Using Google Apps Script and the Meta Graph API, you can build a system where content stored in Google Drive posts automatically to Instagram and Facebook at a scheduled time. The client manages a Google Sheet: drop a file in Drive, paste the link, set a date and time, and the post goes live automatically.
Do I need Buffer or Later for social media automation?
No. Buffer, Later, and similar tools work for basic scheduling but cost $15–$80/month and add another login to manage. A custom build using Google Apps Script and the Meta Graph API does the same job with no monthly fee: and connects directly to Google Drive, which most small businesses already use.
What platforms can you post to automatically?
Facebook (feed posts and stories) and Instagram (feed posts and stories) via the Meta Graph API. LinkedIn is also possible via its API. TikTok has very limited API access for automated posting and is not recommended for custom builds.
Does the client need any technical knowledge to use it?
No. After setup, the client only touches a Google Sheet. They drop content into a Drive folder, paste the link into the Sheet, fill in the caption, set the date and time, and change status to "ready". Everything else runs automatically.
How much does custom social media automation cost?
A Google Drive to Facebook and Instagram automation with scheduling, feed posts, and stories runs $2,000–$2,500 as a one-time build, inside our single automation tier of $2,500–$7,500. Multi-tool builds that connect several systems run $8,000–$20,000, and full custom platforms run $30,000+. Everything is fixed-price and one-time with ongoing Aplos support and third-party costs defined in writing. The only ongoing costs are the vendor tools themselves, typically $20–$150 per month paid directly by you, and for this build that is often just a free Cloudinary account. Every build includes a 30-day window where we fix anything that is not right.
How do you keep a content calendar full instead of just scheduled?
Scheduling tools assume you already have content. The build that fixes an empty calendar works upstream: staff text a photo to a dedicated number or drop it into a shared album or Drive folder while they are still on site, and the workflow files it, creates a draft row in the calendar with the date and source, and texts the owner a preview to approve by replying. Capture happens at the moment the work looks good rather than during a Sunday planning session reconstructing the month from memory.
Can you automate DM and comment triage?
Routing yes, replies no. Comments and messages from your Facebook page and Instagram account get pulled into one place and sorted by rules you define, so a likely buying question or a complaint goes straight to a phone with the original message and a direct link to respond, while spam and general chatter are logged and left alone. The actual reply stays human, because an automated response to a real complaint reads as dismissive and makes the situation worse in public.
Can automation collect user-generated content and tagged posts?
Yes, and it is one of the most undervalued builds on the list. Mentions, tagged posts, and reviews are captured into a Drive folder and a sheet as they arrive, each entry carrying the source, the handle, the date, the text, and a link to the original, with a permission-request template so you can ask before reusing anything. Stories disappear in 24 hours and tagged posts scroll past unnoticed, so without capture the best content your customers make for you is simply lost.
Does cross-posting the same content to every platform work?
Not well, and automation should not pretend otherwise. Aspect ratios, caption limits, link behavior, and hashtag conventions differ by network, so an identical asset dropped everywhere reads as an afterthought on at least a couple of them. What the automation handles is the mechanical part: the platform column decides where a piece of content goes, and per-platform caption fields let you write the variants once in the calendar rather than retyping them at publish time. The judgment about what belongs where stays yours.
Done-for-you build

We build it. You run it.

Tell us what you're posting to and how often. We scope the build, price it flat, and deliver in 1–2 weeks.

Get a free audit →