How to build a multi-client social content generator
This guide is based on the We Spent The Last 6 Months Talking to Marketers (Then We Built AI Lab) webinar, published on the AI Lab by ActiveCampaign.

Get the quick-start guide
What will I accomplish with this guide? By the end of this guide, you’ll have a Make workflow that pulls client brand context out of Notion, runs it through two layers of GPT, and drops a week’s worth of on-brand social ideas into a Notion review board. It’s based on the workflow Laryssa from Joy Joya walked through in this webinar — the same one her five-person agency uses to serve ten clients without context-switching.
Before you start, you’ll need:
- Make account with a workspace you can build in
- Notion workspace with a database per client (or a single database with a “Client” property)
- ChatGPT API key (or another LLM API your Make scenario can reach)
- Slack workspace where the team already requests content
- Brand strategy material per client: brand voice, content pillars, product categories, current promotion or events
- A Make-comfortable developer for the initial build (Laryssa hired one through Upwork)
Quick reference
- Total time: Two to four weeks for the initial build (mostly populating the Notion brand-context entries), then ongoing per-client maintenance
- Tools needed: Make, Notion, ChatGPT, Slack
- Key output: A weekly run that produces a slate of on-brand social ideas per client, pre-organized in Notion for review
Watch this section
For full context on the following topics, watch these sections of the webinar:
- Laryssa’s setup and the agency context — [08:22]–[09:27]
- The Make scenario walkthrough (Slack trigger to Notion review) — [09:27]–[10:33]
- Why the second GPT pass is a different prompt than the first — [10:00]–[10:33]
The workflow
Phase 1: Capture each client’s brand context in Notion
After this phase, you’ll have: a Notion database where every client has a populated record of brand voice, content pillars, product categories, and current promotions.
- Create a Notion database for client context: one row per client, with properties for brand voice, content pillars, product categories, current promotion, and current events.
- Populate the brand voice field: paste a short voice description plus 2–3 example posts the client has approved before.
- Populate the content pillars field: list the 3–5 themes the client wants to talk about (e.g., founder story, product education, customer wins).
- Populate the product categories field: list the SKUs or service lines the client wants social to cover this quarter.
- Populate the current promotion and events field: add the date-bounded campaigns running right now (sales, launches, conference appearances).
- Set a maintenance cadence: decide who on your team updates each client’s row weekly so the inputs stay current.
Phase 2: Build the Make scenario that reads Notion and calls GPT
After this phase, you’ll have: a Make scenario that, when triggered, pulls a single client’s context from Notion and sends it to ChatGPT for an idea generation pass.
- Add a Slack trigger: the scenario starts when someone posts a message like social ideas for [client] in a designated channel.
- Add a date check module: read the current date so the prompt knows what’s seasonally relevant and skips outdated promotions.
- Add a Notion search step: look up the row whose Client property matches the name in the Slack message.
- Pull the four context fields: brand voice, content pillars, product categories, current promotion and events.
- Call ChatGPT with a generation prompt: pass the four fields plus a request for a week’s worth of social ideas across the client’s pillars.
I’m looking for someone to help me build out a workflow in Make. Upwork is my go-to for those kinds of more exploratory projects.
Phase 3: Add the second GPT pass for cleanup
After this phase, you’ll have: a second LLM step that reviews and cleans the first pass’s output before anything reaches your team.
- Add a second ChatGPT module after the first: pass the generation output plus a different prompt that critiques and edits the first pass.
- Write the cleanup prompt: ask the LLM to remove off-brand suggestions, flag anything that contradicts the client’s voice, and rewrite weak hooks.
- Test the two-prompt chain on one client first: run it manually before connecting the rest, so you can iterate on the prompts in isolation.
Phase 4: Drop output into a Notion review board
After this phase, you’ll have: a Notion board called “Review” where the cleaned ideas appear as cards your team can approve or reject.
- Create a Notion database called Review: with properties for Client, Idea, Pillar, Status (approve/reject), and a free-text Notes field.
- Add a Notion create-page step in Make: for each idea returned by the second GPT pass, create a row in the Review database.
- Set the default Status to “needs review”: so nothing reaches the publishing queue until a human approves it.
- Establish the team review cadence: Laryssa’s team approves about a third and rejects two thirds — plan for that ratio so you don’t under-stock the publishing pipeline.
Phase 5: Roll out to remaining clients
After this phase, you’ll have: a single workflow serving every client your agency manages, triggered by a Slack message naming the client.
- Add each new client’s row to the brand-context database: the scenario already supports any number of clients because it looks up by name.
- Run a manual smoke test per client: post a Slack request, check the Review board for output, scan for off-brand suggestions.
- Calibrate per client: if one client’s output drifts, refine that row’s brand voice or content pillars rather than the prompt. The prompt stays the same across clients.
Use this prompt:
I’m working on [DECISION POINT] for [TASK]. The context you already have in this workspace applies.
Before we generate options, what 4–6 questions would the smartest [ROLE — e.g., market researcher, creative director, channel strategist] ask before answering?
Related
More data from the AI Lab.