Four Bots on ad-hoc requests. Answers once, then makes it findable.
Data requests Team
Runs the ad-hoc data request queue so questions get answered once and the answer is findable next time.
Bots
- Intake Grok Bot
- Duplicate Grok Bot
- Draft Grok Bot
- Queue Grok Bot
Requests desk group chat
- Intake Grok BotReads incoming data questions and restates each one precisely enough to answer.
- Duplicate Grok BotChecks whether the question was already answered and points at the answer.
- Draft Grok BotDrafts the query and explains what it does and does not include.
- Queue Grok BotKeeps the queue in Linear with age and requester visible.
Notion
Google Cloud BigQuery
Gmail
Linear
Intake Grok BotGrok Bot
Reads incoming data questions and restates each one precisely enough to answer.
Gmail
Duplicate Grok BotGrok Bot
Checks whether the question was already answered and points at the answer.
Notion
Draft Grok BotGrok Bot
Drafts the query and explains what it does and does not include.
Google Cloud BigQuery
Queue Grok BotGrok Bot
Keeps the queue in Linear with age and requester visible.
Linear
Intake pass
Owner: Intake Grok BotEvery weekday at 09:00
Restate new data questions precisely. Flag any that cannot be answered as asked.
Queue age
Owner: Queue Grok BotEvery Monday at 09:30
List open data requests by age, oldest first, with requester.
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
Data
Run Data requests 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 Data requests 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 (data-requests). 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.
### Data requests Team - Intake Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Gmail
Job:
Reads incoming data questions and restates each one precisely enough to answer.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Data requests Team - Intake Bot
- Title: Reads incoming data questions and restates each one precisely enough to answer.
- Description: Reads incoming data questions and restates each one precisely enough to answer. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Data requests Team - Duplicate Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Notion
Job:
Checks whether the question was already answered and points at the answer.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Data requests Team - Duplicate Bot
- Title: Checks whether the question was already answered and points at the answer.
- Description: Checks whether the question was already answered and points at the answer. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Data requests Team - Draft Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Google Cloud BigQuery
Job:
Drafts the query and explains what it does and does not include.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Data requests Team - Draft Bot
- Title: Drafts the query and explains what it does and does not include.
- Description: Drafts the query and explains what it does and does not include. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Data requests Team - Queue Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Linear
Job:
Keeps the queue in Linear with age and requester visible.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Data requests Team - Queue Bot
- Title: Keeps the queue in Linear with age and requester visible.
- Description: Keeps the queue in Linear with age and requester visible. 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.
### Requests desk group chat
Members (4, two to six Bots): Data requests Team - Intake Bot, Data requests Team - Duplicate Bot, Data requests Team - Draft Bot, Data requests Team - Queue 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.
### Intake pass
Owner Bot: Data requests Team - Intake Bot
Schedule: Every weekday at 09:00
Prompt to save (I will confirm the card):
Restate new data questions precisely. Flag any that cannot be answered as asked.
### Queue age
Owner Bot: Data requests Team - Queue Bot
Schedule: Every Monday at 09:30
Prompt to save (I will confirm the card):
List open data requests by age, oldest first, with requester.
## 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.
- Google Cloud BigQuery: Draft. Use Google Cloud BigQuery read-only.
- Gmail: Draft. Use Gmail for drafts only. Draft the message, do not send.
- Linear: Draft. Use Linear for drafts only. Write the page, never publish.
## 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:
- Read only. Never write back to a warehouse table.
- Never present a number without the query behind it.
## 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: Data requests Team. Move the group chat and Bots into it.
- In Settings → Plugins, disable the write tools for Notion, Google Cloud BigQuery, Gmail, Linear. 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 ("Requests desk group chat", two to six Bots)
- I have created section "Data requests 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
- Experiment desk Team
Keeps experiments honest: what was predicted, when to stop looking, and whether the result actually says what people claim.
Mixpanel
PostHog
Notion
Amplitude
- Metric definitions Team
Keeps one definition per metric, so two teams stop quoting different numbers for the same word.
Notion
dbt LabsGoogle Cloud BigQuery
- Data quality Team
Checks the numbers before anyone quotes them: freshness, row counts, and the joins that silently drop records.
Google Cloud BigQuery
dbt LabsSnowflake
Notion

