Four Bots on forecasting. Shows its own error rate.
Revenue forecast Team
Builds a forecast from committed evidence and shows how wrong the last one was.
Bots
- Commit Grok Bot
- History Grok Bot
- Recurring Grok Bot
- Risk Grok Bot
Forecast desk group chat
- Commit Grok BotSeparates committed pipeline from optimistic pipeline.
- History Grok BotReports how accurate the last three forecasts were.
- Recurring Grok BotReads Stripe for the recurring base beneath the forecast.
- Risk Grok BotNames the deals the forecast depends on most.
HubSpot
Salesforce
Stripe
Notion
Commit Grok BotGrok Bot
Separates committed pipeline from optimistic pipeline.
Salesforce
History Grok BotGrok Bot
Reports how accurate the last three forecasts were.
Notion
Recurring Grok BotGrok Bot
Reads Stripe for the recurring base beneath the forecast.
Stripe
Risk Grok BotGrok Bot
Names the deals the forecast depends on most.
HubSpot
Weekly forecast
Owner: Commit Grok BotEvery Monday at 08:00
Report committed versus optimistic pipeline. Name the three deals the number depends on.
Accuracy check
Owner: History Grok BotEvery month on the 1st at 09:00
Report how wrong the last three forecasts were, and in which direction.
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
Revenue
Run Revenue forecast 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 Revenue forecast 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 (revenue-forecast). 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.
### Revenue forecast Team - Commit Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Salesforce
Job:
Separates committed pipeline from optimistic pipeline.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Revenue forecast Team - Commit Bot
- Title: Separates committed pipeline from optimistic pipeline.
- Description: Separates committed pipeline from optimistic pipeline. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Revenue forecast Team - History Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Notion
Job:
Reports how accurate the last three forecasts were.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Revenue forecast Team - History Bot
- Title: Reports how accurate the last three forecasts were.
- Description: Reports how accurate the last three forecasts were. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Revenue forecast Team - Recurring Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): Stripe
Job:
Reads Stripe for the recurring base beneath the forecast.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Revenue forecast Team - Recurring Bot
- Title: Reads Stripe for the recurring base beneath the forecast.
- Description: Reads Stripe for the recurring base beneath the forecast. Never send, spend, or delete anything without my approval. Wait for a confirm card when the product shows one.
### Revenue forecast Team - Risk Bot
Create this Bot. Use the name exactly.
Uses connectors (already on the account): HubSpot
Job:
Names the deals the forecast depends on most.
After this Bot exists, set its profile (Bot actions → Edit Profile):
- Name: exactly Revenue forecast Team - Risk Bot
- Title: Names the deals the forecast depends on most.
- Description: Names the deals the forecast depends on most. 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.
### Forecast desk group chat
Members (4, two to six Bots): Revenue forecast Team - Commit Bot, Revenue forecast Team - History Bot, Revenue forecast Team - Recurring Bot, Revenue forecast Team - Risk 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.
### Weekly forecast
Owner Bot: Revenue forecast Team - Commit Bot
Schedule: Every Monday at 08:00
Prompt to save (I will confirm the card):
Report committed versus optimistic pipeline. Name the three deals the number depends on.
### Accuracy check
Owner Bot: Revenue forecast Team - History Bot
Schedule: Every month on the 1st at 09:00
Prompt to save (I will confirm the card):
Report how wrong the last three forecasts were, and in which direction.
## 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.
- HubSpot: Ask before send. Use HubSpot only after a human says yes in the chat. Say the post, wait for a yes.
- Salesforce: Ask before send. Use Salesforce only after a human says yes in the chat. Say the post, wait for a yes.
- Stripe: Read. Use Stripe read-only. Never move funds.
- Notion: Draft. Use Notion 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:
- Never move money or issue a credit.
- Never mail a customer about billing without a 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: Revenue forecast Team. Move the group chat and Bots into it.
- In Settings → Plugins, disable the write tools for Stripe, Notion. 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 ("Forecast desk group chat", two to six Bots)
- I have created section "Revenue forecast 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
- Churn analysis Team
Reads cancellations for the reason rather than the reason box, and separates the preventable from the rest.
Stripe
Zendesk
Mixpanel
Notion
- Expansion desk Team
Finds accounts that have outgrown their plan, and separates that from accounts simply being squeezed.
HubSpot
Mixpanel
Stripe
Gmail
- Pricing desk Team
Watches what customers actually pay against list, and where discounting has quietly become the default.
Stripe
Salesforce
Notion
Google Cloud BigQuery

