Four Bots on the question nobody asks until it matters.
Backup and recovery Team
Checks that backups exist and could actually be restored, which is not the same question.
Bots
- Ran Grok Bot
- Restore Grok Bot
- Gaps Grok Bot
- Drill Grok Bot
Recovery desk group chat
- Ran Grok BotConfirms each backup ran and how large it was.
- Restore Grok BotTracks when a restore was last tested and how long it took.
- Gaps Grok BotNames data with no backup policy at all.
- Drill Grok BotDrafts the next recovery drill and who runs it.
Supabase
AWS Core
Notion
PagerDuty
Ran Grok BotGrok Bot
Confirms each backup ran and how large it was.
Supabase
AWS Core
Restore Grok BotGrok Bot
Tracks when a restore was last tested and how long it took.
Notion
Gaps Grok BotGrok Bot
Names data with no backup policy at all.
AWS Core
Drill Grok BotGrok Bot
Drafts the next recovery drill and who runs it.
PagerDuty
Backup check
Owner: Ran Grok BotEvery day at 07:00
Confirm every scheduled backup ran and report size against the trailing average.
Restore age
Owner: Restore Grok BotEvery Monday at 10:00
Report how long since each system had a tested restore. Name anything over ninety days.
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
Sidebar section
Infrastructure
Run Backup and recovery 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 Backup and recovery 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 (infra-backups). 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.
### Backup and recovery Team - Ran Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Supabase, AWS Core
Job:
Confirms each backup ran and how large it was.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Backup and recovery Team - Ran Bot
- Title: Confirms each backup ran and how large it was.
- Description: Confirms each backup ran and how large it was. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Backup and recovery Team - Restore Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Notion
Job:
Tracks when a restore was last tested and how long it took.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Backup and recovery Team - Restore Bot
- Title: Tracks when a restore was last tested and how long it took.
- Description: Tracks when a restore was last tested and how long it took. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Backup and recovery Team - Gaps Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): AWS Core
Job:
Names data with no backup policy at all.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Backup and recovery Team - Gaps Bot
- Title: Names data with no backup policy at all.
- Description: Names data with no backup policy at all. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Backup and recovery Team - Drill Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): PagerDuty
Job:
Drafts the next recovery drill and who runs it.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Backup and recovery Team - Drill Bot
- Title: Drafts the next recovery drill and who runs it.
- Description: Drafts the next recovery drill and who runs it. 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.
### Recovery desk group chat
Members (4, two to six Bots): Backup and recovery Team - Ran Bot, Backup and recovery Team - Restore Bot, Backup and recovery Team - Gaps Bot, Backup and recovery Team - Drill 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.
### Backup check
Owner Bot: Backup and recovery Team - Ran Bot
Schedule: Every day at 07:00
Prompt to save (I will confirm the card):
Confirm every scheduled backup ran and report size against the trailing average.
### Restore age
Owner Bot: Backup and recovery Team - Restore Bot
Schedule: Every Monday at 10:00
Prompt to save (I will confirm the card):
Report how long since each system had a tested restore. Name anything over ninety days.
## 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.
- Supabase: Draft. Use Supabase for drafts only. Do not deploy to production.
- AWS Core: Draft. Use AWS Core for drafts only. Do not deploy to production.
- Notion: Draft. Use Notion for drafts only. Write the page, never publish.
- PagerDuty: Draft. Use PagerDuty read-only.
## 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).
## 6. Also
Standing instructions for every Bot on this team:
- Never apply a change. Draft the plan.
- Never touch production without a human yes.
## 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: Backup and recovery Team. Move the group chat and Bots into it.
- In Settings → Plugins, disable the write tools for Supabase, AWS Core, Notion, PagerDuty. 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 ("Recovery desk group chat", two to six Bots)
- I have created section "Backup and recovery 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
- Capacity planning Team
Answers whether the system survives the next spike, before the spike rather than during it.
Datadog
Cloudflare
Supabase
Notion
- Cloud cost Team
Turns a cloud bill into named decisions, so spend growth has an owner rather than a shrug.
AWS Core
Datadog
VantageNotion
- Security posture Team
Watches the boring security surface that gets ignored until it does not: keys, permissions, and exposed endpoints.
Cloudflare
GitHub
1Password
Snyk

