Personalized Cold Outreach Messages — 3 Minutes Instead of 30
An internal agency tool: the script opens a business's public Instagram profile, pulls the context out of it, and drafts three versions of a personal message in different tones. A manager picks one, edits it if needed, and sends it herself.
- Client
- Concept Agency
- Goal
- Lead generation
- Channel
- Instagram Direct
- AI Model
- GPT-5 (OpenAI)
// Problem
Personalization Works. It Just Doesn't Scale.
A cold message only gets read when it's obvious it was written for that specific business. To write one like that, the manager opened the profile, read the bio, scrolled the recent posts, worked out what the account actually does and what an AI assistant would give it — and only then started writing. Half an hour per contact.
The alternative is familiar: a template. "Hi! We offer AI solutions for your business" gets recognized in the first line and closed unread. So the choice was between personalization that eats the whole day and outreach that doesn't work.
At thirty minutes a contact, the list is always longer than the working day. We needed a way to keep the personalization but remove its slowest part — reading the profile by hand.
// Solution
The Script Reads the Profile, the Person Decides
We split the work in half: the routine — reading the profile and drafting the text — went to the script, while choosing, editing, and sending stayed with the manager.
Reads the profile for you
Playwright opens the account's public page and collects the context: bio, niche, follower count, recent posts, website link, and the language the account speaks.
Three drafts, three tones
For every profile the model writes three messages in different tones — from restrained and businesslike to warmer. The manager picks whichever fits that account.
An offer shaped by the business
A language-school owner and a hotel owner get different texts: the tool starts from what the business actually does and what an AI assistant in Direct would do for it.
A finished sheet, not scattered drafts
Everything lands in Google Sheets, one tab at a time. The text can be edited right there in the table before it goes out.
// How It Works
From a Profile Link to a Finished Message
A list of profiles goes in
The manager gathers the Instagram account links herself and hands the script a batch — around twenty per run. Finding the accounts stayed a manual job.
Playwright opens the public page
A headless browser visits the profile and reads what any visitor sees without logging in: the bio, the description, recent posts, links.
The findings become a business card
The profile data is condensed into a short brief: what the account does, who it serves, what language it speaks, what it has been posting lately.
The model writes three versions
GPT-5 gets the business brief and the task — offer an AI assistant for Direct. Out come three messages that differ in tone, not just in word order.
The manager picks one and sends it
It all lands in Google Sheets. The manager reads the options, edits if needed, and sends the message herself. The script sends nothing on its own.
// Technology
Technology Stack
A deliberately plain stack: the tool solves one task, so there is no agent orchestration and no queues — the route is linear.
Why OpenAI?
The job here isn't conversation, it's good text on the first try — three versions that genuinely read differently. GPT-5 handles Ukrainian confidently and tells tones apart, so edits were rare. The project needed no heavier architecture: profile → business brief → three drafts → spreadsheet.
// Key Capabilities
What the Tool Can Do
Public profile data
Bio, niche, follower count, recent posts, website link, account language — everything a visitor to the profile can see.
Three tones to choose from
Not three rewordings of one text, but three genuinely different tones for different kinds of reader.
Tied to the niche
The text is built around what the business does: a language school, a hotel, and a local shop each get a different offer.
Export to Google Sheets
Results are laid out across spreadsheet tabs, with the text editable in place.
A person in the loop
The script prepares drafts and stops there. Picking a version, editing it, and sending it are the manager's calls.
Works in batches
One run covers about twenty profiles. The batch size was set by hand to match the task at hand.
// Results
What Changed in the Manager's Day
self-reported — the agency's own internal tool
| Metric | Before | After |
|---|---|---|
| Preparing one message | 30 minutes | 3 minutes |
| Reading the profile | By hand, before every text | Already done before the sheet opens |
| Text options | One — whatever there was time to write | Three distinct tones to choose from |
| A batch of twenty profiles | About ten hours of manual work | A single script run |
Personalization stopped being expensive. The manager no longer spends half an hour studying an account — she opens a sheet that already holds the business brief and three drafts, picks one, and sends it. The decision and the send button stayed with a person.
Ready to start?
A quick audit to pinpoint where you're losing time and money right now — and whether AI can fix it
