Industry · Marketing agencies
AI for marketing agencies: systems, not prompts
We build systems around your process: content in three languages for every channel, client reports written from the numbers, topic ideas every week. Your team approves.
- In each client’s voice
- FR · DE · EN for every channel
- Drafts approved by your team
What AI can do for an agency
In a communication or marketing agency, much of the time goes into production. The same message has to exist as a LinkedIn post, an Instagram caption and a newsletter, in French and German, sometimes in English. At the end of the month, every client’s numbers need commenting; every week, the team needs fresh topics.
Your team probably uses ChatGPT already. But with a chat, the result depends on who writes the instruction. We build systems around your process: each client’s voice is written down once, every brief goes through the same steps, and drafts land where your team works.
Three automations to start with: a multilingual content engine, monthly reports written from the numbers and a weekly topic brief for each client. Nothing is published or sent without your say-so.
The problem
Where the time goes today
Production takes over
One message becomes a LinkedIn post, an Instagram caption, a newsletter and a Google Business Profile update. Each version is redone by hand, client by client.
Everything in French and German
Your clients want their content in French and German, sometimes in English. Translation is not enough: the client’s tone has to carry over into each language.
Reports and topics
Compiling and commenting on the month’s numbers takes hours for each client. And every week, someone has to find topics worth writing about.
Interactive demo
Try the content engine
Pick a fictional company and a topic. One brief becomes LinkedIn and Instagram posts, a newsletter and a Google Business Profile update in French, German and English, with a publishing plan for the week.
Multilingual content agent
One brief, four channels, three languages. Nothing is published without your go-ahead.
For agencies: the agent prepares your clients’ posts. Choose a client and a topic: it writes each version for four channels and three languages, code checks it, and everything waits for your client’s approval.
1 brief → 4 channels × 3 languages = 12 posts
Client brief
Boulangerie Dumoulin (fictional)Sourdough week
Sourdough week from 16 to 21 November, with a free tasting on Saturday 21, from 9 am to 12 noon. A different loaf every day, and starter to take home.
Artisan bakery near Fribourg · French- and German-speaking customers
Brand rules
- French: formal ‘vous’
- German: formal ‘Sie’, Swiss spelling (‘ss’, never ‘ß’)
- English: British spelling
- Banned words: empty superlatives (‘amazing’, ‘number one’…)
| FR | DE | EN |
|---|---|---|
| pain au levain | Sauerteigbrot | sourdough bread |
| tresse | Zopf | tresse loaf |
| dégustation | Degustation | tasting |
- Waiting: choose your options, then run the agent.
Generated texts
Your texts will appear here: one card per channel, each language one click away, with brand checks and a copy button.
Everything runs in your browser: nothing is sent or stored. Simplified demo: answers are prepared in advance or computed by simple rules in your browser. In production, a language model suited to your data does this work, and someone on your team signs off.
I want this for my businessWhat’s happening, step by step
-
You give a brief Input
A few lines are enough: the topic, the dates, the offer. Just as you’d explain it to a colleague.
-
Your rules are loaded Code
Formal address, glossary, ‘ss’ instead of ‘ß’: your brand rules are written down. The agent gets them before it writes a single line.
-
The AI writes each version AI
A language model writes one version per channel and language: short for Google, with hashtags for Instagram, with a subject line for the newsletter. Adapted, not translated word for word.
-
Code checks Code
Each channel’s length limit, ‘ß’ replaced by ‘ss’, informal address, banned words: every text goes through fixed checks. No AI here: rules.
-
The week’s plan Tool
Each post gets a slot from Monday to Friday, following the rhythm agreed with you.
-
You approve Human
You read, adjust if needed, then approve. Nothing is published without your say-so.
Run the demo: each step lights up here.
ModelApertus 70B · Swiss open source
Data processedA server in Switzerland or yours
Picture a copywriter who knows your tone, your vocabulary and your rules, and turns a simple idea into ready-to-post content for LinkedIn, Instagram, your newsletter and your Google profile, in French, German and English. It writes fast, never tires, and always waits for your approval.
Words to know
- Brief
- The few lines that say what to announce: the topic, the dates, the offer. It’s all the agent needs.
- Style guide
- Your writing rules: tone, formal or informal address, words to use or avoid. The agent follows them, and code checks they’re respected.
- Adaptation
- Rewriting a message for another language and other readers, instead of translating it word for word: ‘9 h’ in French, ‘9 Uhr’ in German, ‘9 am’ in English.
Why it’s safe
- Nothing is published without your approval: the agent prepares drafts and a plan, you decide.
- Your brand rules are checked by code, not by the AI: lengths, ‘ss’, formal address, banned words.
- Dates, prices and times come from your brief: a figure found nowhere in it is flagged to a person.
- You choose where the AI runs: a confidential brief can stay on a server in Switzerland.
The agent’s pipeline
- Input Brief A form, an email or a row in a shared sheet (Microsoft 365 or Google Workspace). A new brief starts the pipeline.
- Code Style guide and glossary Versioned brand rules: tone, formal address, required and banned terms, character limits per channel.
- AI Multichannel drafting The model gets the brief, the style guide and a few of your past posts as examples. It returns schema-validated JSON: one entry per channel and language.
- Code Checks Lengths, ‘ß’ → ‘ss’, informal address, banned words, glossary terms. A text that fails is rewritten or flagged to a person.
- Tool Scheduling One slot per post, following your rhythm. Drafts go to your publishing and email tools through their API or an export.
- Human Approval You, or your client if you’re an agency, approve each post in an approval queue.
AI reads and writes. Code checks. Humans decide.
Stack
Guardrails
- Structured output: each version must match the schema (channel, language, text). If not, it’s rewritten or sent to a person.
- Checks in code: lengths, ‘ß’, informal address and banned words are checked by rules, not by the AI.
- Verifiable facts: dates, prices and times come from the brief or your company fact sheet. A figure found in neither is flagged to a person.
- Nothing goes out on its own: the agent prepares drafts, and a person approves every post.
What the agent produces (JSON, excerpt)
{
"brief": {
"company": "Boulangerie Dumoulin (fictional)",
"topic": "levain",
"tone": "warm"
},
"versions": [
{
"channel": "linkedin",
"lang": "fr",
"chars": 507,
"limit": 3000,
"checks": {
"vouvoiement": true,
"banned_words": 0,
"within_limit": true
},
"slot": {
"day": "tue",
"time": "08:30"
},
"status": "awaiting_approval"
},
{
"channel": "newsletter",
"lang": "de",
"subject_chars": 53,
"limit": 60,
"checks": {
"sie_form": true,
"swiss_spelling": true,
"banned_words": 0,
"within_limit": true
},
"fixes": [
{
"from": "Grüße",
"to": "Grüsse"
}
],
"slot": {
"day": "tue",
"time": "07:30"
},
"status": "awaiting_approval"
},
{
"channel": "instagram",
"lang": "en",
"chars": 500,
"limit": 2200,
"checks": {
"british_spelling": true,
"banned_words": 0,
"within_limit": true
},
"slot": {
"day": "fri",
"time": "18:00"
},
"status": "awaiting_approval"
}
],
"versions_total": 12,
"published": 0
} Choose the engine
How we set it up
- Day 1 Free audit 30 minutes to look at your channels, your languages, how often you post and who approves what.
- Weeks 1–2 Test on your content We write your style guide and glossary from your existing posts, then test the agent on real briefs.
- Weeks 2–4 Go-live We aim for a first automation in service 2 to 4 weeks after the audit, with your channels and your approval rules.
- Every month Care Monitoring, style-guide updates and a monthly report.
What we need from you
- About ten posts you’re happy with, in each language
- Your rules: tone, formal address, words to avoid, terms to always translate the same way
- Who approves what, and which channels you post on
What we set up
Systems built around your production
Three automations to start with, built around your clients, your channels and your approval steps.
Multilingual content engine
One brief becomes FR, DE and EN versions for LinkedIn, Instagram, the newsletter or Google Business Profile, in the client’s voice. See multilingual content.
Monthly client reports
The month’s numbers, taken from your tools’ exports, are explained in a written report. Your team adds its analysis.
Weekly topic brief
Every week, for each client, topics from sources you choose, with a summary and links.
A process, not a prompt
Instructions and client voices are written down once and shared by the whole team.
In the tools you use
We connect the tools you already use (email, Microsoft 365 or Google Workspace, your business software) through their API, an export or email.
Team training
Half a day on using AI safely with your clients’ data and writing your AI usage policy. See the training.
How we work
How it goes
-
Free audit
In 30 minutes we look at your channels, languages and reports, and at what takes the most time.
-
Voice and process
Together, we write down the voice of one or two pilot clients and the steps of your production.
-
Test on your briefs
We test the system on recent briefs; your team judges the quality before anything goes live.
-
Go-live and care
We aim for a first automation in service 2 to 4 weeks after the audit, then fine-tune it every month.
Our commitments
Your agency stays in charge
A human approves
By default, content and reports stay drafts: your team decides what goes to the client or online.
You choose where data is processed
Leading models or, for sensitive data such as a campaign not yet announced, open-source models such as Apertus, the open Swiss language model, hosted in Switzerland.
Built with Swiss data protection (FADP) in mind
A data processing agreement (Art. 9 FADP), only the data the task needs, Swiss hosting available.
Frequently asked questions
We already use ChatGPT. What do you add?
A system built around your process, rather than prompts. With a chat, quality depends on whoever writes the instruction; a system applies the same voice and the same steps to every brief, all the way to drafts ready for approval.
Will the texts sound like AI?
That is the main risk, and it can be managed. We write a voice guide with you for each client (tone, vocabulary, words to avoid), and a person reviews every text. Their corrections are used to refine the guide.
Can we rely on the German versions?
As a first draft, yes; before publication, a German speaker should review them. Each version is written from the brief, not translated word for word, and follows Swiss spelling (ss, never ß).
What happens to our clients’ data?
You decide where it is processed, and a data processing agreement covers the processing. For sensitive data, Apertus, the open Swiss language model built by EPFL, ETH Zurich and CSCS, can be hosted in Switzerland or on your own infrastructure.
How long does it take to set up?
We aim for a first automation in service 2 to 4 weeks after the audit. We start with one or two pilot clients, then extend the system to the others.
How much does it cost?
On quote, depending on the number of clients, channels and languages. The audit is free; you then get a clear quote with a set-up cost and a monthly fee. Request a quote.
NotHuman
How many versions of the same message does your team write each week?
In a free 30-minute audit, we look at your production and propose a first system to build.