Four Bots on a recurring newsletter. Assembles and checks, never sends.
Newsletter desk Team
Keeps a newsletter shipping on schedule: the issue assembled, links checked, and the retro written against what people actually opened.
Bots
- Assemble Grok Bot
- Check Grok Bot
- Schedule Grok Bot
- Retro Grok Bot
Newsletter desk group chat
- Assemble Grok BotBuilds the issue from the queue and says what is still missing.
- Check Grok BotChecks every link resolves and every name is spelled the way that person spells it.
- Schedule Grok BotHolds the send date and names what has to be done by when.
- Retro Grok BotReports what was opened and clicked against what was predicted, and says where the prediction was wrong.
Notion
Gmail
Webflow
Google Calendar
Assemble Grok BotGrok Bot
Builds the issue from the queue and says what is still missing.
Notion
Check Grok BotGrok Bot
Checks every link resolves and every name is spelled the way that person spells it.
Webflow
Schedule Grok BotGrok Bot
Holds the send date and names what has to be done by when.
Google Calendar
Retro Grok BotGrok Bot
Reports what was opened and clicked against what was predicted, and says where the prediction was wrong.
Gmail
Assembly check
Owner: Assemble Grok BotEvery Tuesday at 10:00
Assemble this week's issue from the queue. List what is missing and who owns it.
Pre-send check
Owner: Check Grok BotEvery Thursday at 09:00
Check every link and every name in the assembled issue. Never send it.
find-skills by vercel-labsLooking up counts on Skillselion. · Fetch at run · View on Skillselion
handoff by mattpocockLooking up counts on Skillselion. · Fetch at run · View on Skillselion
seo-content-writing by aaaaqwqLooking up counts on Skillselion. · Fetch at run · View on Skillselion
frontend-design by anthropicsLooking up counts on Skillselion. · Fetch at run · View on Skillselion
Sidebar section
Content
Run Newsletter desk yourself
Free to copy, adapt, and edit. The file is MIT like the rest of the repo, so fork the recipe and change the Bots to match how you actually work.
Paste the prompt into Grok Bot. This is not one-click OAuth and nothing is installed on this site.
# Grok Bot Teams installer
Set up a team for me called Newsletter desk Team. Create the named Bots, then the group chat, then save the routines.
Ask me only for things you cannot see. Do not start OAuth. If a connector is missing, tell me to connect it in Settings → Plugins.
From https://botteams.io (content-newsletter). Source: https://github.com/ellelion/botteams.
## 1. Create these Bots
Create each Bot below. Use the names exactly. After create, set Name, Title, and Description on the profile.
A Bot is persistent and named. Conversation is the task; Title is the one-line job; Description holds durable rules and approvals.
### Newsletter desk Team - Assemble Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Notion
Job:
Builds the issue from the queue and says what is still missing.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Newsletter desk Team - Assemble Bot
- Title: Builds the issue from the queue and says what is still missing.
- Description: Builds the issue from the queue and says what is still missing. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Newsletter desk Team - Check Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Webflow
Job:
Checks every link resolves and every name is spelled the way that person spells it.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Newsletter desk Team - Check Bot
- Title: Checks every link resolves and every name is spelled the way that person spells it.
- Description: Checks every link resolves and every name is spelled the way that person spells it. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Newsletter desk Team - Schedule Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Calendar
Job:
Holds the send date and names what has to be done by when.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Newsletter desk Team - Schedule Bot
- Title: Holds the send date and names what has to be done by when.
- Description: Holds the send date and names what has to be done by when. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Newsletter desk Team - Retro Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Gmail
Job:
Reports what was opened and clicked against what was predicted, and says where the prediction was wrong.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Newsletter desk Team - Retro Bot
- Title: Reports what was opened and clicked against what was predicted, and says where the predic…
- Description: Reports what was opened and clicked against what was predicted, and says where the prediction was wrong. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
## 2. Create this group chat
Open a group chat with two to six of the Bots above. Do not add more than six.
### Newsletter desk group chat
Members (4, two to six Bots): Newsletter desk Team - Assemble Bot, Newsletter desk Team - Check Bot, Newsletter desk Team - Schedule Bot, Newsletter desk Team - Retro Bot
## 3. Routines (confirm card required)
Ping each owner Bot with the routine they own so they can save it.
A routine is owned by one Bot, and one Bot can own up to 50 of them. A confirm card will appear. I will confirm each one.
Do not assume a routine is saved until I confirm.
### Assembly check
Owner Bot: Newsletter desk Team - Assemble Bot
Schedule: Every Tuesday at 10:00
Prompt to save (I will confirm the card):
Assemble this week's issue from the queue. List what is missing and who owns it.
### Pre-send check
Owner Bot: Newsletter desk Team - Check Bot
Schedule: Every Thursday at 09:00
Prompt to save (I will confirm the card):
Check every link and every name in the assembled issue. Never send it.
## 4. Connectors and how far they go
Connectors are account-wide. They must already be connected.
If any are missing, tell me to connect them in Settings → Plugins first.
Do not walk an OAuth flow from this prompt.
Every Bot on this account can reach every connected tool. The lists above are which Bot is expected to use which, not a second OAuth and not a boundary.
- Notion: Draft. Use Notion for drafts only. Write the page, never publish.
- Gmail: Draft. Use Gmail for drafts only. Draft the message, do not send.
- Webflow: Draft. Use Webflow for drafts only. Write the page, never publish.
- Calendar: Draft. Use Google Calendar for drafts only. Draft the event, do not send invites.
## 5. Skills
Skills live under Settings → Plugins → Yours, and they are per Bot. Reference a skill with /.
If a skill is already installed on the account (Settings → Plugins → Yours), use it. Enable it for this Bot if / does not show it.
If it is not installed, fetch or load it through the Skillselion connector using the skill id. Do not install a second copy.
Connect the Skillselion connector only when a fetch is needed. Do not start OAuth from this prompt.
Do not pin or hide a Bot unless I say so. Hide does not pause routines.
If a workflow should be demonstrated later, mention Teach a task after the first success (browser workflows).
### find-skills
https://skillselion.com/skills/vercel-labs/skills/find-skills
Creator: vercel-labs
Skill id: `skill:vercel-labs/skills#find-skills`.
Scope: every Bot on this team (team scope).
### handoff
https://skillselion.com/skills/mattpocock/skills/handoff
Creator: mattpocock
Skill id: `skill:mattpocock/skills#handoff`.
Scope: every Bot on this team (team scope).
### seo-content-writing
https://skillselion.com/skills/aaaaqwq/claude-code-skills/seo-content-writing
Creator: aaaaqwq
Skill id: `skill:aaaaqwq/claude-code-skills#seo-content-writing`.
Scope: every Bot on this team (team scope).
### frontend-design
https://skillselion.com/skills/anthropics/skills/frontend-design
Creator: anthropics
Skill id: `skill:anthropics/skills#frontend-design`.
Scope: every Bot on this team (team scope).
## 6. Also
Standing instructions for every Bot on this team:
- Never publish. Draft only.
- Never claim a number you cannot source.
## Human steps
These are yours. The Bot cannot do them.
- Set each Bot avatar (Bot actions → Edit Profile). Attach an image if you want a custom one.
- Create a sidebar section named exactly: Newsletter desk Team. Move the group chat and Bots into it.
- In Settings → Plugins, disable the write tools for Notion, Gmail, Webflow, Calendar. That switch is account-wide and it is the only one that actually stops a write.
- Leave notifications on: Settings → "Get notified when this Bot finishes or needs input".
## Done when
- Named Bots exist
- Named group chat exists ("Newsletter desk group chat", two to six Bots)
- I have created section "Newsletter desk Team"
- Each routine has a confirmed save (or I declined)
- Connectors listed above are already connected
Uninstall: delete the Bots and group chats in the Grok Bot sidebar.
There is no remote uninstall from this catalog.Teams that share these connectors
- Editorial standards Team
Reads drafts before a human editor does, catching claims without sources, house-style breaks, and the things that get fixed at the last minute.
Notion
Google Drive
Gmail
- GEO / AEO desk Team
Treats generative answers as a citation problem, not a keyword list, and drafts the pages that earn those citations.
YouTube
Web Search
Ahrefs
ExaGoogle Search Console
Notion
- Rank desk Team
Reads Search Console and DataForSEO once a week, names what moved, and writes the next fix instead of another dashboard.
Google Search Console
DataForSEONotion
Gmail

