1

Training SummaryOverview

This session introduced the team to your personal AI agents running on Discord, the dashboard system hosted on solonox.com, and the roadmap for automating email, HubSpot workflows, and employee monitoring. By the end of this guide, you should be able to chat with your agent, start building your first dashboard, manage your context window, and begin setting up Google Workspace API access.

The #1 Rule of Working With AI Agents

One thing at a time. If you give your agent 30 things to do at once, it will mess up every single one. Give it one task, test it, confirm it works, then move to the next. This applies to dashboards, API setup, email automation — everything.

2

First StepsGetting Started with Your AI Agent

1
Accept Peter's Discord friend request
You should have received a friend request from Peter on Discord. Accept it to gain access to the One Janitorial server and your personal agent channels.
2
Find your agent in the Discord sidebar
Once in the server, look at the left sidebar. You'll see agent channels assigned to you. Each person has their own agent: Farouk has BCO Agent, Taylor has CS Agent, Lobsang has Sales Agent. These are the bots you'll be chatting with directly.
3
Open the One Janitorial Links spreadsheet
Peter shared an Excel file called "One Janitorial Links" in the Discord chat. This spreadsheet contains all links to Agent SOPs, dashboards, and resources. Bookmark this — it's your central reference for everything.
4
Start chatting with your agent
Type a message to your agent in its channel. Start simple — ask it a question or give it a single task. It will respond directly in the chat. In the team channel (One Gen Team), you need to tag the bot with @ before your message. In your personal channel, you do not.
5
Feed it the Agent SOP to learn together
Copy the Agent SOP link from the spreadsheet and paste it to your agent. Say something like: "Hey, I want to start doing all this stuff. Can you break down the basics so I can start using you? Prompt me step by step so we can get this going instead of me having to read it all." The agent will walk you through it in simpler terms than the document itself.
Important: Everything lives on solonox.com now

The original onejan.com links from earlier emails no longer work. Peter moved everything to solonox.com to prevent the AI server from interfering with the company website. All dashboard and SOP links now use the solonox.com domain (e.g., bco-board.solonox.com, sms-plan.solonox.com). Use the links spreadsheet for the correct URLs.

3

Core WorkflowBuilding Your Dashboard

Your first real task is building out your department dashboard. Peter wants you to start here because you can't break anything with a dashboard — it only reads data, it doesn't change anything in HubSpot. This is your safe playground to learn how the agents work.

1
Plan your framework first — don't go insane
Before touching your agent, write down the core metrics you need to see at a glance. What are the essentials that tell you there's a problem? Don't try to build everything. Start with the bare minimum that makes you effective.
Dashboard structure by department

Taylor (Client Services): Tab 1 = CS team (Jean, Dave, Paul). Tab 2 = Recruiter. Start with: calls per person, emails sent, tickets opened today, tickets open longer than 7 days.

Lobsang (Sales): Tab 1 = Appointment Setters. Tab 2 = Presenters. Start with: sat rate, calls made, talk time, appointments scheduled, schedule quality (with vs. without commitment).

Farouk (BCO): Already partially built. Tabs for BCO Scout, BCO Filler, BCO Setup. Shows: stage movements, total calls, emails, call time, downtime (gaps over 5 minutes between calls).

2
Identify the HubSpot properties you need
The most important thing you need to know is where your data lives in HubSpot. For every metric on your dashboard, identify which HubSpot property it pulls from. You don't need to know how to code anything — the AI figures that out. But you need to tell it: "I want to see how many appointments were booked today" and it needs to know which HubSpot field stores that data.
3
Look at the BCO dashboard for reference
Ask your agent: "Can you look at the BCO board on bco-board.solonox.com and tell me what properties it's pulling from for Victor's numbers?" This gives you a template for understanding what data points feed a dashboard, so you can map out your own.
4
Build one metric at a time
Tell your agent to create one dashboard element. Example: "Create a column that counts the number of appointment book dates that are today for each setter." Test it. Confirm it shows the right number. Then move to the next metric.
5
Add conditional formatting for quick scanning
Once metrics are working, add visual flags. Tell your agent things like: "If this number is under X, make it red. If it's over Y, make it green. If it's in between, make it yellow." Also works with arrows: "If trending down, show a down arrow. If trending up, show an up arrow."
6
Host it on solonox.com
When your dashboard is ready, tell your agent: "Host this on our Digital Ocean server and give it a domain at GoDaddy. The domain should be [your-name]-dashboard.solonox.com." If it says it doesn't know how, tell it: "Check your memory — Solonox should have given you instructions on how to set this up. If not, check the Solonox restart file."
You'll know it's working when...

You can open your dashboard URL, see live numbers for your team, hit refresh throughout the day and see updates, and go back to previous days to see historical snapshots (snapshots are taken at ~11:30 PM nightly).

Dashboards only work if your team labels things correctly

If your team isn't tagging properties correctly in HubSpot, the dashboard will show bad data. The AI can only pull what's there. This is the foundation — if the data input is wrong, everything downstream is wrong. Make sure your people are labeling tickets, statuses, and properties correctly before you rely on dashboard numbers.

4

Critical KnowledgeContext Window & Resetting Your Agent

Your agent has a memory limit called a "context window." Think of it like a notepad that can only hold so many pages. Once it fills up (around 50-60%), the agent starts forgetting things and making mistakes. Here's how to manage it.

1
Check your context window periodically
Ask your agent: "What is your context window at right now?" It will respond with a percentage and stats. When it passes 50%, start wrapping up your current work. At 80%+, expect slow responses, forgotten instructions, and errors.
2
Back up your session before resetting
Before you reset, tell your agent: "Give me a summary of everything we just worked on." Then say: "Back up this last session and all your knowledge of it to [Your Department] Agent Restart file. Give me a summary here. Let me know when you're done." This saves your work to the shared Google Drive folder (One Janitorial Processes, AI Agents & Dashboards).
3
Reset the agent (not restart)
Type /reset in your agent's channel. This clears the context window and gives your agent a fresh start.
RESET — not RESTART

/reset clears YOUR agent's context window. /restart restarts the entire program for EVERYBODY. Do not type /restart. Ever. It kills all agents for the whole team.

4
Restore context after reset
After resetting, tell your agent: "Can you please look at your [Department] Agent Restart file and look at the latest summary?" The agent will reload its knowledge of what you were working on and pick up where you left off.
5

Next StepSetting Up Google Workspace API Access

Once you're comfortable with your dashboard, the next step is giving your agent access to your Google Workspace (Gmail, Drive, Calendar, Docs, Sheets). This is what enables it to read and send emails, manage your calendar, and work with your files.

1
Send this exact prompt to your agent
"Hey [Your Agent Name], I want you to help me set up my APIs for my Google Workspace so you can have full access to my Gmail, Google Drive, Calendar, Documents, and Excel Sheets. I want you to be able to read my emails, send my emails, update my files, move them around, add things to them, change my calendar, put new calendars on, and read it when I need you to. I need you to have full access. Let's start with the first one."
2
Follow the agent's instructions step by step
The agent will walk you through the Google Admin console setup. It will tell you exactly what to click, what to enable, and what credentials to generate. Follow each step and confirm it works before moving on.
HubSpot is already connected

Your agents come pre-loaded with HubSpot API access. You don't need to set this up. If your agent says it can't access HubSpot, tell it: "Check your memory — you should have our HubSpot API key already." Sometimes the agent needs to be reminded to look at its stored memory.

What this unlocks

Once set up, you can say things like: "Send Clarissa an email saying [X] — post it in the chat for me to scan first, then send it." Or: "Check my email every 15 minutes for a response from [person]." Or: "What emails do I have to respond to? What's on my calendar today?"

Cost warning

AI API usage is expensive right now. Peter burned ~$700 in one day between setting up the server and rebuilding after a crash. Use your agents with purpose — don't loop them on tasks unnecessarily or leave them running checks you don't need. Be intentional with every request.

6

From the SessionQuestions & Answers

Farouk — Telegram vs. Discord

Q: The training document mentioned chatting with the AI bot on Telegram. Do I not have access to that yet?

A: Forget Telegram for now — you'll be chatting with your agent on Discord. The team moved to Discord because everyone has company emails set up there. Note: Discord runs about 30% slower than Telegram. If it becomes unbearably slow, Peter may switch the team to Telegram later.

Farouk — "Alliances Available" metric

Q: Is "Alliances Available" the number of partners we currently have in buildings?

A: No. "Alliances Available" counts only current partners who are waiting for buildings OR whose scouting status is active. It specifically calculates people who want contracts and are eligible — not everyone in the system. This prevents the numbers from being skewed by partners who are happy with their current buildings.

Lobsang — Which agent to use for dashboards

Q: When I'm building my dashboard, should I ask the Sales Agent or the AI Team channel?

A: Talk to your own agent. Sales Agent is Lobsang's. BCO Agent is Farouk's. CS Agent is Taylor's. Each person uses their assigned agent for everything — dashboards, questions, tasks. The team channel (One Gen Team) is for cross-bot communication only.

Taylor — Reset vs. Restart confusion

Q: You said reset and then restart — which one is it?

A: It's /reset. Always /reset. /restart reboots the entire program for all agents across the whole team. Peter has made this mistake himself — it's a painful one. If you need to stop something mid-build, type abort instead.

Taylor — HubSpot API integration

Q: Is the Google Workspace API setup also integrated with HubSpot, or only personal Google?

A: They're separate. Your agents already come with HubSpot access built in — you don't need to set that up. The Google Workspace API setup is for Gmail, Drive, Calendar, Docs, and Sheets. If HubSpot ever seems disconnected, tell the agent to check its memory for the API key.

Taylor — How to know when context window is breaking

Q: When the chat has been going too long and starts breaking, how will I know? Will it say something?

A: You can ask it directly: "What's your context window at?" It'll give you a percentage. You can also tell it: "Let me know when you're at 50%." But if the window gets high, it may forget you asked. Signs to watch for: slow responses, not following instructions, repeating itself, or producing output that doesn't match what you asked for.

Taylor — What to build first on CS dashboard

Q: What should be the first thing I trigger for my client dashboard?

A: Start super basic. For each CS rep (Jean, Dave, Paul): how many calls today, how many emails sent, how many tickets came in today, how many tickets have been open longer than 7 days. Then add a second view for critical items: tickets with cleaning more than once a week that haven't had a response yet. Don't jump to complex — get the basics working first, then layer on.

Taylor — Do triggers require proper labeling

Q: When I set up dashboard triggers, does everything in HubSpot need to be labeled properly for it to work?

A: Yes — 100%. If your team isn't labeling tickets, statuses, and properties correctly in HubSpot, the dashboard will show garbage. The AI can only read what's there. The good news: once dashboards are working, the next step is building agents that flag when properties haven't been updated (e.g., "30 of his 100 calls today had no property change — find out why").

Farouk — Can I modify the BCO dashboard Peter built

Q: Can I make changes to the BCO dashboard as I see fit?

A: Yes — it's yours. Peter specifically stopped building dashboards for managers because he was building them based on what he saw as important, not what the manager sees as critical. You own your dashboard. Make it work for how you actually manage.

7

Non-NegotiablesKey Rules & Standards

  • One task at a time. Give the agent one instruction, test it, confirm it works, then move on. Batch requests = broken output.
  • /reset — never /restart. /reset clears your agent's context. /restart kills everyone's agents.
  • Always back up before resetting. Ask for a summary, then have the agent save it to your Department Agent Restart file.
  • Tell the agent to read its memory. Agents sometimes forget stored information. Say "check your memory" when it claims it can't do something you know it can.
  • All links are on solonox.com now. Nothing lives on onejan.com anymore. Use the shared "One Janitorial Links" spreadsheet for correct URLs.
  • Use "abort" to stop a build mid-process. If the agent is going off track, type "abort" and then redirect: "Let's go back to step one. Just do this right now."
  • Demand iterations before accepting "done." When building something, tell the agent: "I want three iterations before you tell me it's done. Iteration 1: read all the code. Iteration 2: read again and compare to the website. Iteration 3: find the bug if it's not showing up."
  • Don't spend all day on this. It's addictive. Play with it, learn it, but keep doing your actual job. Come back to Peter end of week with notes and questions.
  • Ask about API rate limits. Before the agent runs bulk operations on HubSpot, ask: "Is this going to hit my API rate limit?" HubSpot limits how fast you can pull data — operations need to happen in sequence, not all at once.
  • 5 minutes = generous downtime. On the BCO dashboard, downtime is measured as any gap over 5 minutes between calls. Lunch and breaks are already subtracted. Anything showing up as downtime is real idle time.
8

Pro MovesTips & Shortcuts

Let the AI teach you the SOP

Instead of reading long documents yourself, paste the link to your agent and say: "Can you read this whole thing and show me how to do this?" It will break it down step by step in simpler language. This works for any document, process guide, or SOP.

Use the BCO dashboard as your template

Ask your agent to analyze how the BCO board on bco-board.solonox.com was built — what properties it pulls, how the data maps, what the structure looks like. Then use that as a blueprint for your own dashboard so you're not starting from zero.

The AI can pull data from anywhere — even Google

Peter had the AI pull population data for cities from Google and add it as a column in the dashboard. Your data sources don't have to be limited to HubSpot. If you need external data (market stats, population, distances), just ask the agent to pull it.

When it says "I can't do that" — push back

If your agent says it can't do something, try: "How have you done it before for other people?" or "How could we do it? What if we changed this?" Peter's experience: pushing back often triggers the agent to find a solution it didn't initially offer.

Cross-bot communication

Your bot can talk to Peter's bot (Solonox). In the One Gen Team channel, you can tag @Solonox to ask questions about server setup, how things were built, or to troubleshoot. Your bots can collaborate.

If it's communicating badly, it's your communication

Peter's direct quote: "The more I use it, the more I understand I have s***** communication — because this thing does what you tell it to do. If it's not doing what you told it to do, it's because you're telling it wrong." If output is wrong, re-examine how you asked for it.

9

Additional RecommendationsClaude's Suggestions

These are Claude's recommendations based on the training content — not Peter's instructions. Use your judgment on whether to apply them.

Create a "starter prompt" template for your agent

After every /reset, you'll need to re-orient your agent. Write a standard opening prompt that you copy-paste each time: who you are, what department you manage, what you're currently working on, and a pointer to your restart file. This saves 5-10 minutes of re-explaining every reset.

Keep a running "what broke and why" log

When something goes wrong with your agent (and it will), write down what you asked, what happened, and how you fixed it. This becomes your personal playbook. Within two weeks, you'll have a library of solutions for the common problems and you'll stop making the same mistakes.

Test your dashboard against HubSpot manually first

Before trusting any dashboard metric, spot-check it. If the dashboard says Paul made 12 calls today, go into HubSpot and count. Do this for your first 3-5 metrics. Once you trust the data pipeline, you can stop manually verifying. But don't skip this step — catching a bad property mapping early saves you from building an entire dashboard on bad data.

Ask your agent to explain its plan before it executes

Before building anything, ask: "Before you do this, walk me through the exact steps you'll take, the exact properties you'll pull, and where the data comes from. Don't execute yet." Review the plan. Then say go. This is Peter's exact advice applied as a habit — it prevents the agent from guessing wrong and building something you have to tear down.

10

Cheat SheetQuick Reference

Action How Notes
Talk to your agent Type in your personal agent channel on Discord No @ tag needed in personal channel. Use @ in team channel.
Check context window "What is your context window at?" Reset before 60%. Expect errors above 80%.
Back up before reset "Back up this session to [Dept] Agent Restart file. Give me a summary." Always do this before /reset.
Reset your agent Type /reset NEVER type /restart.
Restore after reset "Look at your [Dept] Agent Restart file and read the latest summary." Agent reloads previous context.
Stop a bad build Type abort Then redirect: "Go back to step one."
Force quality checks "I want 3 iterations before you say done." Iteration 1: check code. 2: compare to site. 3: find the bug.
Remind agent of stored info "Check your memory for [thing]." Agents forget. Prompt them to look.
Set up Google APIs Use the exact prompt from Section 5 of this guide Agent walks you through Admin console setup.
Host your dashboard "Host on Digital Ocean, domain at [name].solonox.com via GoDaddy." Check Solonox restart file if agent doesn't know how.
Find all links Open "One Janitorial Links" spreadsheet (shared in Discord) All SOPs, dashboards, and resources live here.
Check HubSpot rate limit risk "Is this going to hit my API rate limit?" Ask before any bulk HubSpot pull.