Grok Bot Content EngineA week of posts, written overnight
Six agents in Grok Bot find what's working in your niche, write the posts in your voice, cut the AI tells, score them and make the images. You wake up to drafts on your Notion board and approve the ones you like.
Free · 6 agents · Every prompt written out · Under $2 a month in scrapers · About an hour to set up
01 · Read this first
A week of posts, written overnight
This is how I set up six agents in Grok Bot that write a week of LinkedIn posts overnight and leave the finished drafts on my Notion board. In the morning all I do is read them and approve the ones I like.
Grok Bot is an AI agent app that comes with its own computer and browser, so it can scroll LinkedIn and X, run scrapers, write files and fill in Notion for you. You talk to it in plain words, it can split a job across teammates, it remembers how you like things done through skills, and it runs jobs on a schedule through routines.
Everything below is what I'd tell it, in the order I'd set it up. You don't need to write any code.
What you need
| Thing | Why | Cost |
|---|---|---|
| Grok Bot | Runs the six agents and the nightly routine | Your Grok Bot plan |
| Notion | Your swipe file and the board the drafts land on | Free plan is fine |
| Apify | Pulls the best X and LinkedIn posts in your niche | Free plan ($5 of usage a month) covers it |
| 30 to 50 of your own posts | So the writer sounds like you and not like a robot | Free |
| About an hour | The first setup, then it runs on its own |
What's inside
- The scout: pulls the posts doing well in your swipe file and on X every night
- The hook writer: writes 10 hooks for every post and keeps the one that scores best
- The writer: drafts each post in your voice, from your own stories and notes
- The editor: cuts the AI tells, em dashes and filler before you ever see the draft
- The scorer: grades every draft out of 100 and sends the weak ones back for another pass
- The designer: makes the image or GIF and drops the finished post into Notion as In Progress
02 · Setup
Do this once, in this order
Each step is something you say to Grok Bot, and it'll ask you for anything it needs along the way.
Step 1: Connect Notion and make your board
Ask Grok Bot to connect your Notion account through its Notion connector, and give it access to the page where you want the engine to live. Then have it build the board:
Create a Notion database called "Content Board" on my {page name} page with these columns:
Name (title), Status (Idea, In Progress, Approved, Posted), Hook (text), Score (number),
Format (select), Source (URL), Publish date (date), Image (files).
Make a board view grouped by Status.The draft itself goes in the body of each page, so you can open a card and read the whole post.
Step 2: Make a swipe file (skip if you have one)
A swipe file is just a list of posts that did really well in your niche, so the scout has proof of what people actually read instead of guessing. If you don't have one yet, ask Grok Bot to make it:
Create a Notion database called "Swipe File" with these columns: Hook (title, the first line of the post), Platform (LinkedIn, X), Author (text), URL (url), Post text (text), Likes (number), Comments (number), Reposts (number), Posted (date), Format (select: story, how-to, list, lead magnet, opinion, case study, carousel, video), Topic (multi-select), Why it worked (text), Used (checkbox).
Then fill it the first time. You can do this two ways, and I'd do both.
From your feed, in Grok Bot's browser. Log into LinkedIn and X once in Grok Bot's own browser (it keeps you logged in), then:
Scroll my LinkedIn feed and my X timeline for about 20 minutes at a normal human pace.
Save every post about {your niche} with at least {100} reactions or {30} comments into my
Swipe File, with the full text, the numbers, the URL, the format and one line on why
you think it worked. Skip giveaways, job posts and anything that's just a photo.With Apify, for posts outside your own feed (setup in step 3):
Use Apify to pull the top posts from the last week on X and LinkedIn for these topics:
{topic 1}, {topic 2}, {topic 3}. Keep only posts with {200}+ likes on X or {100}+ reactions
on LinkedIn, skip duplicates, and add them to my Swipe File.Keep it fresh with a routine:
Create a routine that runs every Sunday at 19:00: refresh my Swipe File with last week's best posts from my feed and from Apify, using the same filters, and mark anything older than 90 days that we never used so I can clear it out.
Step 3: Get Apify working (X and LinkedIn)
Apify is a marketplace of ready-made scrapers (they call them Actors), and Grok Bot can run them for you through the Apify connector.
- Make an account at apify.com. The free plan doesn't need a card and gives you $5 of usage every month. It renews monthly and doesn't roll over, and if you use it all, Apify pauses until next month instead of charging you.
- Get your API token. In the Apify Console go to Settings > API & Integrations and copy your personal API token. Treat it like a password.
- Connect it in Grok Bot. Ask Grok Bot to add the Apify connector (Apify's own MCP server) and paste your token when it asks. Then check it worked with the prompt below.
Search the Apify store for a tweet scraper and tell me what it costs per 1,000 tweets.
Pick the X scraper. I use Tweet Scraper | $0.18/1K Tweets by kaitoeasyapi (kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest). It charges per tweet, about $0.25 per 1,000 on the free plan, and it takes X's normal search syntax plus a minimum likes filter. Example input:
{
"searchTerms": ["founder led sales", "linkedin content", "cold email"],
"queryType": "Top",
"min_faves": 200,
"lang": "en",
"maxItems": 25
}maxItems is per search term here and the lowest it goes is 20. You can also put filters inside a term, like "b2b marketing min_faves:500 -filter:replies", or pull one account with "from:{handle}". The popular Tweet Scraper V2 (apidojo/tweet-scraper) only runs in a small demo mode on the free plan (a few runs of 10 tweets), so skip it unless you're paying for Apify.
Pick the LinkedIn scraper. I use LinkedIn Post Search Scraper (No Cookies) by harvestapi (harvestapi/linkedin-post-search), so it never touches your LinkedIn account. It's $2 per 1,000 posts. Example input:
{
"searchQueries": ["founder led sales", "linkedin ghostwriting"],
"maxPosts": 40,
"postedLimit": "week",
"sortBy": "relevance"
}It doesn't have a minimum likes setting, so tell Grok Bot to drop anything under your reaction or comment bar after the run. One query tops out around 400 to 500 posts, so split big topics into a few smaller queries. For your own posts (you'll want them in the writer section) use LinkedIn Profile Posts Scraper (No Cookies) (harvestapi/linkedin-profile-posts) with your profile URL in targetUrls and maxPosts set to 50, same $2 per 1,000.
What it costs
| Run | Size | Cost per run | Per month |
|---|---|---|---|
| X, every night | 4 terms x 25 tweets | about $0.03 | about $0.80 |
| LinkedIn, every Sunday | 3 queries x 40 posts | about $0.24 | about $1 |
| Your own posts, once | 50 posts | about $0.10 | once |
That's under $2 a month, so the free $5 covers it. Ask Grok Bot to tell you the cost before any run you haven't done before, and to keep each run under a set amount (Apify lets you cap what a single run can charge). Prices are set by whoever built each Actor and can change, so check the pricing tab once in a while.
Step 4: Set up the six teammates and the nightly routine
Grok Bot can hand parts of a job to teammates, so each agent below is a teammate with its own instructions. Set each one up with the starter prompt in its section, then tie them together:
Create a routine called "Content Engine" that runs every night at 23:00.
1. The scout picks {7} ideas for next week and adds them to my Content Board as Idea.
2. For each idea, the hook writer, writer, editor and scorer run in that order.
3. The designer makes the image and moves the card to In Progress.
When it's done, send me one message with the 7 hooks and their scores.
Never post anything anywhere. I approve and post myself.Your first night
- Notion connected, Content Board and Swipe File made
- Swipe file has at least 50 posts in it
- Apify connected and both scrapers tested once
- Your voice skill made (section 05)
- All six teammates set up
- Routine run once by hand while you watch, before you leave it on its own
03 · The scout
The scout finds what's working
Every night it looks at what's working, in your swipe file and on X, and turns the best of it into ideas you could actually post. It isn't copying, it's taking the format or the angle and pointing it at something you know about.
Set it up
Make a teammate called Scout. Every time it runs:
- Pull the last 24 hours of top X posts for {my topics} with Apify (min {200} likes) and
add the good ones to my Swipe File.
- Look at my Swipe File, mostly the last 30 days and anything not marked Used.
- Pick {7} ideas for my next week. Each one needs a source post, the format, and the
angle I'd take based on {what I do, who I help, my stories doc}.
- Mix the formats so the week isn't 7 of the same thing.
- Add each idea to my Content Board as Status Idea, with Source filled in, and tick
Used on the swipe post.When it runs
First step of the nightly routine at 23:00.
Where it goes
New cards in the Idea column of your Content Board.
04 · The hook writer
10 hooks, keep the best one
Writes 10 hooks for every idea, scores them and keeps the best one. I make it keep the other nine under the draft, because sometimes number 4 is the one I'd pick.
Set it up
Make a teammate called Hook Writer. For each idea on my Content Board: - Write 10 different hooks (the first line or two of the post). Use different angles: a result, a mistake, a number, a before and after, a strong opinion. - Score each one out of 10 on: is it specific, does it make me want the next line, would my buyer care, is it under 2 lines on a phone, does it sound like me. - Put the winner in the Hook column and list all 10 with scores at the bottom of the page. - Use my voice skill and never use clickbait I couldn't back up in the post.
When it runs
Right after the scout.
Where it goes
The Hook column, plus the full list at the bottom of each card.
05 · The writer
Drafts that sound like you
Drafts each post in your voice, from your own stories and notes, so it sounds like you wrote it on a good day. Most of the work here is the voice skill, which you make once.
Make your voice skill
A skill is a set of instructions Grok Bot saves and uses every time, so you only explain your style once. Get 30 to 50 of your own posts first (copy them from your profile, or run the profile posts scraper from step 3 on your own URL), then:
Read these {40} posts of mine. Write a skill called "my-voice" that a writer could follow
to sound exactly like me. Cover:
- how I open posts and how long my first line usually is
- sentence length and how I use line breaks
- words and phrases I use a lot, and ones I never use
- how I tell a story, and the stories and numbers I come back to
- how I end posts
- formatting habits (lists, arrows, emoji, caps)
- 5 of my best posts as examples, with a note on why each one works
Show me the skill before you save it.Read it properly and fix anything that's off, since everything the writer does comes from this file. Then make a stories doc: a Notion page with your client results, mistakes, opinions and the things you say on calls. The quickest way to fill it is to ask Grok Bot to interview you for 20 minutes and write up your answers.
Set it up
Make a teammate called Writer. For each idea with a hook, write the post using my
"my-voice" skill and my stories doc. Only use stories, numbers and results that are in
my stories doc or that I've told you. If the post needs something I haven't given you,
write [ASK ME: ...] in that spot instead of making it up. Keep it between
{900 and 1,500} characters unless the format needs more.When it runs
After the hook writer.
Where it goes
The body of each card.
06 · The editor
Cut the AI tells
Goes through the draft line by line and cuts everything that makes a post sound like AI wrote it, before you see it.
The checklist I'd start with
Add your own as you spot them.
| Cut | Looks like |
|---|---|
| Em dashes | "it changed everything — fast" |
| Not this, that | "It's not about X. It's about Y." |
| Groups of three | "faster, cheaper and better" every other line |
| Hype words | game-changer, unlock, supercharge, next level, revolutionary |
| AI words | delve, leverage, navigate, landscape, robust, seamless, elevate |
| Explainer lines | "Here's the thing", "The key is", "The real problem is", "Let that sink in" |
| Staccato | One short sentence per line for the whole post |
| Colon reveals | "The result: 3x more calls" |
| Fake closing questions | "What do you think?", "Agree?" added at the end |
| Filler | "In today's world", "at the end of the day", "it's worth noting" |
| Made-up proof | Any number or client story that isn't in your stories doc |
Set it up
Make a teammate called Editor with this checklist: {paste the table}. For each draft,
fix every line that breaks it, merge choppy lines into normal sentences, and cut anything
that doesn't add to the post. Don't change the meaning or add new claims. Add a short
"Edited:" note at the bottom of the page listing what you changed.When it runs
After the writer.
Where it goes
Same card, cleaned up, with the edit note at the bottom.
07 · The scorer
Only posts worth your time
Grades every draft out of 100 and sends the weak ones back for another pass, so the board only fills up with posts worth your time.
A simple rubric to adapt
| Category | Points | Full marks when |
|---|---|---|
| Hook | 25 | Specific, makes you read the next line, true |
| One clear idea | 15 | You could sum it up in one sentence |
| Proof | 15 | A real story, number or example from your stories doc |
| Sounds like you | 15 | Passes your voice skill |
| Useful to your buyer | 15 | Your buyer learns something or sees themselves in it |
| Easy to read on a phone | 10 | Short paragraphs, no walls of text |
| Clean | 5 | Nothing from the editor's checklist left |
| Total | 100 |
Set it up
Make a teammate called Scorer. Score each draft with this rubric: {paste it}. Write the
total in the Score column and one line per category at the bottom of the page. Anything
under {85} goes back to the Writer with your notes, and then the Editor again. After 2
tries, leave it with the best score it got and write "needs a look" at the top.When it runs
After the editor, and again after any rewrite.
Where it goes
The Score column, plus the breakdown on the page.
08 · The designer
The image, ready by morning
Makes the image or GIF for each post, attaches it to the card and moves it to In Progress so it's ready for you in the morning.
Image basics
- 1080 x 1350 (portrait), since it takes up the most room in the feed on a phone
- One idea per image, with the text big enough to read without tapping
- Your colors and fonts every time, so people know it's you before they read your name
- No tiny logos or footers fighting for attention
- A GIF only when there's something moving that adds to it (a counter going up, a list filling in), 6 to 10 seconds and looping
Set it up
Make a teammate called Designer. For each post that passed the Scorer, make one image at
1080x1350 in my style: {colors, fonts, light or dark, examples you like}. Pick the type
from the post: a quote card for opinions, a simple diagram for how-tos, a screenshot-style
mockup for results, a short looping GIF if something should move. Check it on a phone-size
preview so the text is readable. Attach it to the card's Image column and set Status to
In Progress.Grok Bot can make images and also build simple animated graphics on its own computer and export them as GIF or MP4, so ask for whichever the post needs.
When it runs
Last step of the routine.
Where it goes
The Image column, with the card moved to In Progress. In the morning I read the In Progress column, move the ones I like to Approved and post them myself.
