Case Study: I created a Programmatic Facebook and Instagram Content Provisioning and Posting System That Saved My Agency 50K+/YR
I work at an agency (I don’t own it) that primarily does three service lines, those being productized social media content creation and management, email marketing, and website provisioning.
This system solved the following problems for social content customization from templates for similar retail clients within our niche.
Our old process was outdated, but to give our founder credit, she did a great job selling and making it work with a large number of clients even with a non-optimal process.
We used to create content templates designers would make in Canva in a set of between 50-100 posts options per month. We’d send to our clients all the choices in a word document with a table in it and they would go through and say yes or no to each design, provide details for customizations whether it was image text or elements, post text, etc. They’d email it back and an account manager would manually parse the choices and comments and then clone and modify a canva template and do the data insertion into the image template.
Then, they would go into Meta business manager and start the equally arduous process of scheduling the posts manually. In total, this process took about 30 hours per account manager per month, and we had many. We hired part time, lower pay workers to help bring the cost down, but it was always just miserable to watch or do even still.
I felt bad that someone had to spend hours doing this, so I baked up a low-code automation system with the following goals:
- Eliminate the need for documents going back and forth via email, and humans parsing that data manually
- Achieve mass customization of social media image and text content programmatically, filling image layers and text into images and post captions like variables.
- Get the posts scheduled and posted without having someone sit and do it for hours per week manually
I reached for the following component software:
-
A form builder that would support an easily controllable JSON structure and field labeling with good field support without breaking the bank. I arrived at Cognito Forms.
-
A backend for storing the client post selections, scheduled and ready to post via the Meta APIs. We already used Monday for project management, so I used it for this purpose.
-
A way to do programmatic image generation. I looked at Canva Enterprise with fillable fields, Placid, and Bannerbear, but ultimately went with BannerBear because it’s API was easier and more intuitive to use than Placid, and it was still considerably cheaper than a Canva Enterprise upgrade in our case.
-
A low-code automation tool - I used Make but you could also use N8N. I might have used self hosted N8N if I did it again to save costs, but Make is hosted, still pretty cheap, and just works without keeping me up at night with self-hosted software concerns.
-
Posting to Facebook & Instagram — this was the hardest part because we couldn’t easily get page access keys. We didn’t have any clients in Meta Business Portfolio yet, and instead had been operating with delegated logins, page level access, or access via Meta Business Manager. The migration process, which we are just now wrapping up after 6 months, has been hellish on our team. Meta does not make it easy to create and get your clients assets into their own business portfolios, and then into yours with delegated portfolio access.
However, once we had that, I created a Meta Business Portfolio system user, a Meta App, and used the system user to create page level access tokens for all our clients. We connected the instagram accounts with the facebook pages and were then able to use the Meta API to post to both Facebook and Instagram with programmatic cross posting. The clients choose their post date in the online intake form each month, and we store the post date in Monday and fire a webhook when the date and time arrives to post to Meta.
It’s been pretty incredible to see us make this change after years of doing it sub-optimally, and we have saved a lot of menial labor hours and suffering as a result.
As an aside, the part time workers whose canva template cloning and meta scheduling roles were replaced were offered outreach/business development jobs instead, which they either accepted or declined based on their preference for sales. But, we were able to feel good about still providing an alternative employment option to those employees and not just chopping them in a period where people are afraid of losing their jobs to AI.
AMA. This process has been insane and a lot of work on me and the account team who transitioned the clients but it’s been really rewarding to see it all working now, having solved all the issues it set out to fix.
The worst part was just dealing with Meta’s shoddy documentation and the long process of getting client calls set and completed to move them into the Portfolio.
I have also made a short video documenting the basic system implementation for those who want to do something similar.
Video Walkthrough: https://youtu.be/GtJLCIpv9T8?si=-wXfv3YGJbcF8rzj
Posted Jul 9, 2025, 4:21 AM UTC · edited