Weekly sync: July 12-19 changes

- Updated DREAMS.md and MEMORY.md with new entries
- Added daily dreaming session corpus (2026-07-05 through 2026-07-18)
- Added deep/light/REM dream analysis files for July 6-19
- Added Intune rollout outputs for KMCC client
- Added Vault API integration scripts and documentation
- Added container update playbook (update-containers.yml)
- Added .gitignore for generated/noise files
This commit is contained in:
JC Beasley
2026-07-19 08:49:43 -07:00
parent 0f7147531e
commit 9891d7e4d5
85 changed files with 10471 additions and 6 deletions
@@ -0,0 +1,146 @@
# Kelly McNutt Consulting — Intune Device Enrollment Status Report
**Prepared by:** Beawit Consulting
**Date:** July 16, 2026
**Reporting Period:** Rollout Phase — July 21, 2026 to October 3, 2026
---
## Executive Summary
Kelly McNutt Consulting is implementing Microsoft Intune device management across all 63 users. The rollout follows a structured weekly approach beginning July 21, 2026, with completion targeted for October 3, 2026.
**Current Status:**
- **6 users** fully enrolled and operational
- **7 users** in pilot phase (emails sent, enrollment in progress)
- **50 users** scheduled across 10 weekly waves
- **1 user** requires verification before enrollment
---
## Enrollment Status Overview
| Status | Count | Percentage |
|--------|-------|------------|
| ✅ Enrolled — Complete | 6 | 9.5% |
| 📧 Pilot Phase — Email Sent | 7 | 11.1% |
| ⏳ Scheduled for Enrollment | 50 | 79.4% |
| ⚠️ Verification Required | 1 | 1.6% |
| **Total Users** | **63** | **100%** |
---
## Completed Enrollments
The following users are fully enrolled in Intune and operational:
| Name | Device | Ownership |
|------|--------|-----------|
| Alex Mckinstry | A_MCKINSTRY-KMC | Corporate |
| Emily Jiang | DESKTOP-AVDG2PS | Corporate |
| Jasper Bolster | JASPER-LAPTOP | Corporate |
| Jennifer Nickel | SAMSUNG-NICKEL | Personal |
| Rebecca Skjothaug | BECCA_SKJOTHAUG | Corporate |
| Victor Szabo | DESKTOP-OR73OFU | Corporate |
---
## Weekly Rollout Schedule
### Phase 1 — Pilot (July 2125)
**7 users** have received enrollment instructions. Focus this week is follow-up, troubleshooting, and driving completion.
| Name | Email | Status |
|------|-------|--------|
| Alex Mcnutt | a.mcnutt@kmccostandrisk.com | Pending Enrollment |
| Andy Fairbairn | andy@kmccostandrisk.com | Pending Enrollment |
| Ariana Ince | ariana@kmccostandrisk.com | Pending Enrollment |
| Brandon Zink | brandon@kmccostandrisk.com | Pending Enrollment |
| Bruce Patterson | bruce@kmccostandrisk.com | Pending Enrollment |
| Christine Hutton | c.hutton@kmccostandrisk.com | Pending Enrollment |
| Christopher Parr | christopher@kmccostandrisk.com | Pending Enrollment |
### Phase 2 — Weekly Rollout (July 28 October 3)
Remaining **50 users** are scheduled in **10 weekly waves of 5 users each**:
| Week | Dates | Users | Key Notes |
|------|-------|-------|-----------|
| Week 2 | Jul 28Aug 1 | 5 | David Rodriguez, David Ryan, Dennis Curtin, Don Hamann, Drew Clark |
| Week 3 | Aug 48 | 5 | **Ed Ritchie** — verification required before enrollment |
| Week 4 | Aug 1115 | 5 | Jacob Hinch, Jacqueline Fairbairn, Jared Englehart, Jeremy Zink, Reg Carson |
| Week 5 | Aug 1822 | 5 | Jerred DeJong, Jerry Englehart, Jesse Olstead, Jesse Sherwood, Josh Gable |
| Week 6 | Aug 2529 | 5 | Josh Keogh, Josh Parsons, Kelly Mcnutt, Kent Kruse, Kent Werle |
| Week 7 | Sep 15 | 5 | Kyle Kankanton, Kyle Stone, Leann Vigna, Lee Zink, Mario Escalera |
| Week 8 | Sep 812 | 5 | Mark Curtiss, Martijn Bolster, Mathers Heuck, Maximus Sherwood, Megan Donegan |
| Week 9 | Sep 1519 | 5 | Mike Schoeff, Miles Mauldin, Paola Ryan, Peter Elza, Peter Sanderson |
| Week 10 | Sep 2226 | 5 | Rachelle Trujillo, Raffy Hammett, Ralph Salamie, Robb Swenson, Robert Barnard |
| Week 11 | Sep 29Oct 3 | 5 | Ron Adair, Ross Gilmour, Russ Winger, Troy Marble, Victoria McNutt |
---
## Weekly Cadence
Each week follows a consistent rhythm:
| Day | Activity |
|-----|----------|
| **Monday** | Kickoff — enrollment instructions sent to scheduled users |
| **TuesdayFriday** | Enrollment window — users complete Intune enrollment |
| **Friday** | Post-enrollment satisfaction survey |
| **Weekend** | Review results, resolve blockers, plan next wave |
---
## Items Requiring Attention
### ⚠️ Verification Required — Ed Ritchie
- **User:** Ed Ritchie (e.ritchie@kmccostandrisk.com)
- **Scheduled:** Week 3 (August 48)
- **Issue:** Verification required before enrollment can proceed
- **Action:** Resolve verification status before enrollment week begins
### 📋 Week 1 Follow-Up
- **Users:** 7 pilot participants
- **Status:** Emails sent, awaiting enrollment completion
- **Action:** Follow up on Monday, July 21 to confirm enrollment status and resolve any issues
---
## Project Timeline
| Milestone | Date |
|-----------|------|
| **Pilot Phase Start** | July 21, 2026 |
| **Weekly Rollout Begins** | July 28, 2026 |
| **Final Wave (Week 11)** | September 29 October 3, 2026 |
| **Project Completion** | October 3, 2026 |
**Total Duration:** 11 weeks
---
## Next Steps
1. **July 21:** Follow up with 7 pilot users on enrollment status
2. **July 28:** Begin Week 2 rollout (5 new users)
3. **Before August 4:** Resolve Ed Ritchie verification requirement
4. **Ongoing:** Weekly kickoffs, enrollment tracking, and survey collection
5. **October 3:** Final rollout completion and project closeout
---
## Contact & Support
For questions or issues during enrollment, users should contact:
**Beawit Consulting** — IT Support
**Kelly McNutt Consulting Internal IT** — Primary contact for scheduling and troubleshooting
---
*Report generated from live Intune Device Management tracking system*
*Grist tracker: https://grist.beawit.net/o/docs-6/wmBGUbgBveCd/*
+331
View File
@@ -0,0 +1,331 @@
# Kelly McNutt Consulting — Intune Enrollment Kickoff Emails
**Instructions:** Copy the template for the appropriate week, replace `[Name]` with the user's first name, and send Monday morning of their enrollment week.
---
## Week 2 — July 28, 2026
**Recipients:**
- David Rodriguez (d.rodriguez@kmccostandrisk.com)
- David Ryan (d.ryan@kmccostandrisk.com)
- Dennis Curtin (d.curtin@kmccostandrisk.com)
- Don Hamann (don@kmccostandrisk.com)
- Drew Clark (drew@kmccostandrisk.com)
**Subject:** Action Required: Intune Device Enrollment — Week of July 28
```
Hi [Name],
You are scheduled for Microsoft Intune device enrollment this week (July 28 August 1).
**What is Intune?**
Intune is our new device management platform that ensures your work device stays secure, up to date, and compliant with company policies.
**What you need to do:**
1. Open your Windows device and connect to the internet
2. Go to **Settings > Accounts > Access work or school > Connect**
3. Sign in with your Kelly McNutt Consulting email: [email address]
4. Follow the on-screen prompts to complete enrollment
5. Allow required apps and policies to install (this may take 1020 minutes)
**Need help?**
- Contact Beawit Consulting IT Support
- Enrollment must be completed by Friday, August 1
**After enrollment:**
You will receive a brief satisfaction survey on Friday. Your feedback helps us improve the process for future users.
Thank you,
Beawit Consulting — IT Support
Kelly McNutt Consulting
```
---
## Week 3 — August 4, 2026
**Recipients:**
- Ed Ritchie (e.ritchie@kmccostandrisk.com) ⚠️ *Verification required before enrollment*
- Erin Fairbairn (e.fairbairn@kmccostandrisk.com)
- Fletcher Sherwood (f.sherwood@kmccostandrisk.com)
- Guadalupe Gonzalez (g.gonzalez@kmccostandrisk.com)
- Haley Gehler (h.gehler@kmccostandrisk.com)
**Subject:** Action Required: Intune Device Enrollment — Week of August 4
```
Hi [Name],
You are scheduled for Microsoft Intune device enrollment this week (August 4 8).
**What is Intune?**
Intune is our new device management platform that ensures your work device stays secure, up to date, and compliant with company policies.
**What you need to do:**
1. Open your Windows device and connect to the internet
2. Go to **Settings > Accounts > Access work or school > Connect**
3. Sign in with your Kelly McNutt Consulting email: [email address]
4. Follow the on-screen prompts to complete enrollment
5. Allow required apps and policies to install (this may take 1020 minutes)
**Need help?**
- Contact Beawit Consulting IT Support
- Enrollment must be completed by Friday, August 8
**After enrollment:**
You will receive a brief satisfaction survey on Friday. Your feedback helps us improve the process for future users.
Thank you,
Beawit Consulting — IT Support
Kelly McNutt Consulting
```
**⚠️ Special Note for Ed Ritchie:**
Ed's account requires verification before enrollment can proceed. Resolve verification status before sending enrollment instructions.
---
## Week 4 — August 11, 2026
**Recipients:**
- Jacob Hinch (j.hinch@kmccostandrisk.com)
- Jacqueline Fairbairn (jacqueline@kmccostandrisk.com)
- Jared Englehart (j.englehart@kmccostandrisk.com)
- Jeremy Zink (jeremy@kmccostandrisk.com)
- Reg Carson (reg@kmccostandrisk.com)
**Subject:** Action Required: Intune Device Enrollment — Week of August 11
```
Hi [Name],
You are scheduled for Microsoft Intune device enrollment this week (August 11 15).
**What is Intune?**
Intune is our new device management platform that ensures your work device stays secure, up to date, and compliant with company policies.
**What you need to do:**
1. Open your Windows device and connect to the internet
2. Go to **Settings > Accounts > Access work or school > Connect**
3. Sign in with your Kelly McNutt Consulting email: [email address]
4. Follow the on-screen prompts to complete enrollment
5. Allow required apps and policies to install (this may take 1020 minutes)
**Need help?**
- Contact Beawit Consulting IT Support
- Enrollment must be completed by Friday, August 15
**After enrollment:**
You will receive a brief satisfaction survey on Friday. Your feedback helps us improve the process for future users.
Thank you,
Beawit Consulting — IT Support
Kelly McNutt Consulting
```
---
## Week 5 — August 18, 2026
**Recipients:**
- Jerred DeJong (jerred@kmccostandrisk.com)
- Jerry Englehart (jerry@kmccostandrisk.com)
- Jesse Olstead (j.olstead@kmccostandrisk.com)
- Jesse Sherwood (j.sherwood@kmccostandrisk.com)
- Josh Gable (j.gable@kmccostandrisk.com)
**Subject:** Action Required: Intune Device Enrollment — Week of August 18
```
Hi [Name],
You are scheduled for Microsoft Intune device enrollment this week (August 18 22).
[Use same template body as Week 2]
```
---
## Week 6 — August 25, 2026
**Recipients:**
- Josh Keogh (j.keogh@kmccostandrisk.com)
- Josh Parsons (j.parsons@kmccostandrisk.com)
- Kelly Mcnutt (kelly@kmccostandrisk.com)
- Kent Kruse (k.kruse@kmccostandrisk.com)
- Kent Werle (k.werle@kmccostandrisk.com)
**Subject:** Action Required: Intune Device Enrollment — Week of August 25
```
Hi [Name],
You are scheduled for Microsoft Intune device enrollment this week (August 25 29).
[Use same template body as Week 2]
```
---
## Week 7 — September 1, 2026
**Recipients:**
- Kyle Kankanton (k.kankanton@kmccostandrisk.com)
- Kyle Stone (k.stone@kmccostandrisk.com)
- Leann Vigna (l.vigna@kmccostandrisk.com)
- Lee Zink (lee@kmccostandrisk.com)
- Mario Escalera (mario@kmccostandrisk.com)
**Subject:** Action Required: Intune Device Enrollment — Week of September 1
```
Hi [Name],
You are scheduled for Microsoft Intune device enrollment this week (September 1 5).
[Use same template body as Week 2]
```
---
## Week 8 — September 8, 2026
**Recipients:**
- Mark Curtiss (mark@kmccostandrisk.com)
- Martijn Bolster (martijn@kmccostandrisk.com)
- Mathers Heuck (mathers@kmccostandrisk.com)
- Maximus Sherwood (m.sherwood@kmccostandrisk.com)
- Megan Donegan (m.donegan@kmccostandrisk.com)
**Subject:** Action Required: Intune Device Enrollment — Week of September 8
```
Hi [Name],
You are scheduled for Microsoft Intune device enrollment this week (September 8 12).
[Use same template body as Week 2]
```
---
## Week 9 — September 15, 2026
**Recipients:**
- Mike Schoeff (mike@kmccostandrisk.com)
- Miles Mauldin (m.mauldin@kmccostandrisk.com)
- Paola Ryan (p.ryan@kmccostandrisk.com)
- Peter Elza (peter@kmccostandrisk.com)
- Peter Sanderson (p.sanderson@kmccostandrisk.com)
**Subject:** Action Required: Intune Device Enrollment — Week of September 15
```
Hi [Name],
You are scheduled for Microsoft Intune device enrollment this week (September 15 19).
[Use same template body as Week 2]
```
---
## Week 10 — September 22, 2026
**Recipients:**
- Rachelle Trujillo (r.trujillo@kmccostandrisk.com)
- Raffy Hammett (r.hammett@kmccostandrisk.com)
- Ralph Salamie (ralph@kmccostandrisk.com)
- Robb Swenson (robb@kmccostandrisk.com)
- Robert Barnard (r.barnard@kmccostandrisk.com)
**Subject:** Action Required: Intune Device Enrollment — Week of September 22
```
Hi [Name],
You are scheduled for Microsoft Intune device enrollment this week (September 22 26).
[Use same template body as Week 2]
```
---
## Week 11 — September 29, 2026
**Recipients:**
- Ron Adair (r.adair@kmccostandrisk.com)
- Ross Gilmour (ross@kmccostandrisk.com)
- Russ Winger (russ@kmccostandrisk.com)
- Troy Marble (troy@kmccostandrisk.com)
- Victoria McNutt (victoria@kmccostandrisk.com)
**Subject:** Action Required: Intune Device Enrollment — Final Week (September 29)
```
Hi [Name],
You are scheduled for the final wave of Microsoft Intune device enrollment this week (September 29 October 3).
**What is Intune?**
Intune is our new device management platform that ensures your work device stays secure, up to date, and compliant with company policies.
**What you need to do:**
1. Open your Windows device and connect to the internet
2. Go to **Settings > Accounts > Access work or school > Connect**
3. Sign in with your Kelly McNutt Consulting email: [email address]
4. Follow the on-screen prompts to complete enrollment
5. Allow required apps and policies to install (this may take 1020 minutes)
**Need help?**
- Contact Beawit Consulting IT Support
- Enrollment must be completed by Friday, October 3
**After enrollment:**
You will receive a brief satisfaction survey on Friday. Your feedback helps us improve the process for future users.
**Thank you for your participation in completing the Kelly McNutt Consulting Intune rollout!**
Beawit Consulting — IT Support
Kelly McNutt Consulting
```
---
## Master Template (Copy-Paste for All Weeks)
**Subject:** Action Required: Intune Device Enrollment — Week of [Date]
```
Hi [Name],
You are scheduled for Microsoft Intune device enrollment this week ([Start Date] [End Date]).
**What is Intune?**
Intune is our new device management platform that ensures your work device stays secure, up to date, and compliant with company policies.
**What you need to do:**
1. Open your Windows device and connect to the internet
2. Go to **Settings > Accounts > Access work or school > Connect**
3. Sign in with your Kelly McNutt Consulting email: [email address]
4. Follow the on-screen prompts to complete enrollment
5. Allow required apps and policies to install (this may take 1020 minutes)
**Need help?**
- Contact Beawit Consulting IT Support
- Enrollment must be completed by Friday, [End Date]
**After enrollment:**
You will receive a brief satisfaction survey on Friday. Your feedback helps us improve the process for future users.
Thank you,
Beawit Consulting — IT Support
Kelly McNutt Consulting
```
---
*Email templates generated: July 16, 2026*
*Source: Live Grist tracker data*
+154
View File
@@ -0,0 +1,154 @@
# Grist Batch Column Fix — Kelly McNutt Consulting Intune Rollout
**Date:** July 16, 2026
**Action Required:** Update Batch column in Grist to match corrected schedule
## Problem
The Grist tracker currently has uneven batch distribution after moving email-sent users to Week 1. Some weeks have 4 users instead of 5.
## Corrected Batch Assignments
Use this table to update the **Batch** column in Grist for each user ID:
### Already Enrolled (No Change)
| ID | Name | Batch |
|----|------|-------|
| 1 | Alex Mckinstry | Enrolled |
| 15 | Emily Jiang | Enrolled |
| 23 | Jasper Bolster | Enrolled |
| 24 | Jennifer Nickel | Enrolled |
| 54 | Rebecca Skjothaug | Enrolled |
| 62 | Victor Szabo | Enrolled |
### Week 1 (Jul 21) — Email Sent
| ID | Name | Batch |
|----|------|-------|
| 2 | Alex Mcnutt | Week 1 (Jul 21) |
| 3 | Andy Fairbairn | Week 1 (Jul 21) |
| 4 | Ariana Ince | Week 1 (Jul 21) |
| 5 | Brandon Zink | Week 1 (Jul 21) |
| 6 | Bruce Patterson | Week 1 (Jul 21) |
| 7 | Christine Hutton | Week 1 (Jul 21) |
| 8 | Christopher Parr | Week 1 (Jul 21) |
| 13 | Drew Clark | Week 1 (Jul 21) |
| 30 | Josh Gable | Week 1 (Jul 21) |
### Week 2 (Jul 28)
| ID | Name | Batch |
|----|------|-------|
| 9 | David Rodriguez | Week 2 (Jul 28) |
| 10 | David Ryan | Week 2 (Jul 28) |
| 11 | Dennis Curtin | Week 2 (Jul 28) |
| 12 | Don Hamann | Week 2 (Jul 28) |
| 14 | Ed Ritchie | Week 2 (Jul 28) |
### Week 3 (Aug 4)
| ID | Name | Batch |
|----|------|-------|
| 16 | Erin Fairbairn | Week 3 (Aug 4) |
| 17 | Fletcher Sherwood | Week 3 (Aug 4) |
| 18 | Guadalupe Gonzalez | Week 3 (Aug 4) |
| 19 | Haley Gehler | Week 3 (Aug 4) |
| 20 | Jacob Hinch | Week 3 (Aug 4) |
### Week 4 (Aug 11)
| ID | Name | Batch |
|----|------|-------|
| 21 | Jacqueline Fairbairn | Week 4 (Aug 11) |
| 22 | Jared Englehart | Week 4 (Aug 11) |
| 25 | Jeremy Zink | Week 4 (Aug 11) |
| 26 | Jerred DeJong | Week 4 (Aug 11) |
| 27 | Jerry Englehart | Week 4 (Aug 11) |
### Week 5 (Aug 18)
| ID | Name | Batch |
|----|------|-------|
| 28 | Jesse Olstead | Week 5 (Aug 18) |
| 29 | Jesse Sherwood | Week 5 (Aug 18) |
| 31 | Josh Keogh | Week 5 (Aug 18) |
| 32 | Josh Parsons | Week 5 (Aug 18) |
| 33 | Kelly Mcnutt | Week 5 (Aug 18) |
### Week 6 (Aug 25)
| ID | Name | Batch |
|----|------|-------|
| 34 | Kent Kruse | Week 6 (Aug 25) |
| 35 | Kent Werle | Week 6 (Aug 25) |
| 36 | Kyle Kankanton | Week 6 (Aug 25) |
| 37 | Kyle Stone | Week 6 (Aug 25) |
| 38 | Leann Vigna | Week 6 (Aug 25) |
### Week 7 (Sep 1)
| ID | Name | Batch |
|----|------|-------|
| 39 | Lee Zink | Week 7 (Sep 1) |
| 40 | Mario Escalera | Week 7 (Sep 1) |
| 41 | Mark Curtiss | Week 7 (Sep 1) |
| 42 | Martijn Bolster | Week 7 (Sep 1) |
| 43 | Mathers Heuck | Week 7 (Sep 1) |
### Week 8 (Sep 8)
| ID | Name | Batch |
|----|------|-------|
| 44 | Maximus Sherwood | Week 8 (Sep 8) |
| 45 | Megan Donegan | Week 8 (Sep 8) |
| 46 | Mike Schoeff | Week 8 (Sep 8) |
| 47 | Miles Mauldin | Week 8 (Sep 8) |
| 48 | Paola Ryan | Week 8 (Sep 8) |
### Week 9 (Sep 15)
| ID | Name | Batch |
|----|------|-------|
| 49 | Peter Elza | Week 9 (Sep 15) |
| 50 | Peter Sanderson | Week 9 (Sep 15) |
| 51 | Rachelle Trujillo | Week 9 (Sep 15) |
| 52 | Raffy Hammett | Week 9 (Sep 15) |
| 53 | Ralph Salamie | Week 9 (Sep 15) |
### Week 10 (Sep 22)
| ID | Name | Batch |
|----|------|-------|
| 55 | Reg Carson | Week 10 (Sep 22) |
| 56 | Robb Swenson | Week 10 (Sep 22) |
| 57 | Robert Barnard | Week 10 (Sep 22) |
| 58 | Ron Adair | Week 10 (Sep 22) |
| 59 | Ross Gilmour | Week 10 (Sep 22) |
### Week 11 (Sep 29)
| ID | Name | Batch |
|----|------|-------|
| 60 | Russ Winger | Week 11 (Sep 29) |
| 61 | Troy Marble | Week 11 (Sep 29) |
| 63 | Victoria McNutt | Week 11 (Sep 29) |
## Verification
After updating, verify counts:
- Enrolled: 6 users
- Week 1: 9 users
- Weeks 210: 5 users each
- Week 11: 3 users
- Total: 63 users
## Notes
- Leave the **Notes** column as-is (it shows "email sent" for Week 1 users)
- Only update the **Batch** column
- Ed Ritchie (ID 14) is in Week 2 — resolve verification before July 28
---
*Fix document generated: July 16, 2026*
@@ -0,0 +1,152 @@
# Kelly McNutt Consulting — Post-Enrollment Satisfaction Survey
**Purpose:** Gather feedback from users after Intune device enrollment to identify issues, measure satisfaction, and improve the rollout process.
**Timing:** Send Friday afternoon of enrollment week. Follow up Monday if no response.
**Method:** Email with embedded form link (Microsoft Forms, Google Forms, or simple email reply)
---
## Survey Questions
### Question 1 — Overall Experience
**How would you rate your Intune enrollment experience?**
- ⭐⭐⭐⭐⭐ Excellent — smooth and straightforward
- ⭐⭐⭐⭐ Good — minor issues, easily resolved
- ⭐⭐⭐ Fair — some confusion or delays
- ⭐⭐ Poor — significant issues requiring help
- ⭐ Very Poor — unable to complete without intervention
---
### Question 2 — Clarity of Instructions
**The enrollment instructions provided were:**
- ○ Very clear — I knew exactly what to do
- ○ Mostly clear — one or two steps needed clarification
- ○ Somewhat unclear — I needed to ask for help
- ○ Unclear — I could not complete without assistance
---
### Question 3 — Time to Complete
**How long did the enrollment process take from start to finish?**
- ○ Less than 10 minutes
- ○ 1020 minutes
- ○ 2030 minutes
- ○ 3045 minutes
- ○ More than 45 minutes
- ○ I was unable to complete
---
### Question 4 — Issues Encountered *(Optional)*
**Did you experience any issues during enrollment?** *(Select all that apply)*
- [ ] No issues — enrollment went smoothly
- [ ] Could not locate enrollment link or instructions
- [ ] Error message during device setup
- [ ] Required apps did not install correctly
- [ ] Device compliance/policy confusion
- [ ] Password/Authentication problems
- [ ] Performance or connectivity issues
- [ ] Other: _________________________
---
### Question 5 — Open Feedback *(Optional)*
**Any additional feedback or suggestions to improve the enrollment process?**
```
[Free text field — 500 character limit]
```
---
## Survey Administration
### For Each Weekly Batch:
| Day | Action | Owner |
|-----|--------|-------|
| **Monday** | Confirm batch list, prepare survey links | Beawit Consulting |
| **Friday 2:00 PM** | Send survey to that week's users | Beawit Consulting |
| **Following Monday 9:00 AM** | Send reminder to non-responders | Beawit Consulting |
| **Following Wednesday** | Compile results, flag issues | Beawit Consulting |
| **Following Friday** | Report summary to Kelly McNutt Consulting | Beawit Consulting |
### Response Tracking:
| Week | Users Sent | Responses | Response Rate | Avg Rating | Issues Flagged |
|------|-----------|-----------|---------------|------------|----------------|
| Week 1 (Jul 21) | 7 | — | — | — | — |
| Week 2 (Jul 28) | 5 | — | — | — | — |
| Week 3 (Aug 4) | 5 | — | — | — | — |
| ... | ... | ... | ... | ... | ... |
---
## Escalation Thresholds
**Immediate follow-up required if:**
- Any user selects "Very Poor" overall experience
- Any user reports "Unable to complete" enrollment
- Multiple users in same week report same issue (indicates systemic problem)
- Response rate below 60% for a batch (may indicate delivery issues)
---
## Survey Email Template
**Subject:** Quick Feedback — Your Intune Enrollment This Week
```
Hi [Name],
You completed Intune device enrollment this week. We would appreciate 2 minutes of your time to share feedback on the experience.
Your input helps us improve the process for future users.
[Survey Link]
Thank you,
Beawit Consulting — IT Support
Kelly McNutt Consulting
```
---
## Data Usage
- Responses are confidential and used only for process improvement
- Individual responses are shared only with IT support for troubleshooting
- Aggregated results are reported to Kelly McNutt Consulting leadership weekly
- Survey data is retained for 90 days post-rollout completion
---
## Rollout Completion Survey
Sent to **all users** in Week 11 (or after final batch completes):
**Subject:** Intune Rollout — Final Feedback
**Questions:**
1. Overall satisfaction with the entire Intune rollout process
2. Were you adequately informed about timing and expectations?
3. Has Intune improved your work experience? (Yes/No/Unsure)
4. What could be improved for future IT rollouts?
5. Any unresolved issues or concerns?
---
*Survey created: July 16, 2026*
*First deployment: July 25, 2026 (Week 1 follow-up)*
@@ -0,0 +1,209 @@
# Kelly McNutt Consulting — Intune Device Management Rollout Schedule
**Generated:** July 16, 2026
**Source:** Live Grist tracker data
**Client:** Kelly McNutt Consulting (kmccostandrisk.com)
---
## ✅ Already Enrolled — Complete (No Action Needed)
| Name | Email | Status |
|------|-------|--------|
| Alex Mckinstry | a.mckinstry@kmccostandrisk.com | Enrolled - Complete |
| Emily Jiang | e.jiang@kmccostandrisk.com | Enrolled - Complete |
| Jasper Bolster | j.bolster@kmccostandrisk.com | Enrolled - Complete |
| Jennifer Nickel | jennifer@kmccostandrisk.com | Enrolled - Complete |
| Rebecca Skjothaug | r.skjothaug@kmccostandrisk.com | Enrolled - Complete |
| Victor Szabo | v.szabo@kmccostandrisk.com | Enrolled - Complete |
---
## 📧 Week 1 — Pilot / Email Sent (Jul 2125)
*Emails already sent. Focus: follow up, troubleshoot, drive completion.*
| Name | Email | Status | Notes |
|------|-------|--------|-------|
| Alex Mcnutt | a.mcnutt@kmccostandrisk.com | Pending Enrollment | email sent |
| Andy Fairbairn | andy@kmccostandrisk.com | Pending Enrollment | email sent |
| Ariana Ince | ariana@kmccostandrisk.com | Pending Enrollment | email sent |
| Brandon Zink | brandon@kmccostandrisk.com | Pending Enrollment | email sent |
| Bruce Patterson | bruce@kmccostandrisk.com | Pending Enrollment | email sent |
| Christine Hutton | c.hutton@kmccostandrisk.com | Pending Enrollment | email sent |
| Christopher Parr | christopher@kmccostandrisk.com | Pending Enrollment | email sent |
---
## Week 2 (Jul 28Aug 1)
| Name | Email | Status |
|------|-------|--------|
| David Rodriguez | d.rodriguez@kmccostandrisk.com | Pending Enrollment |
| David Ryan | d.ryan@kmccostandrisk.com | Pending Enrollment |
| Dennis Curtin | d.curtin@kmccostandrisk.com | Pending Enrollment |
| Don Hamann | don@kmccostandrisk.com | Pending Enrollment |
| Drew Clark | drew@kmccostandrisk.com | Pending Enrollment |
---
## Week 3 (Aug 48)
| Name | Email | Status |
|------|-------|--------|
| Ed Ritchie | e.ritchie@kmccostandrisk.com | ⚠️ Verification Required |
| Erin Fairbairn | e.fairbairn@kmccostandrisk.com | Pending Enrollment |
| Fletcher Sherwood | f.sherwood@kmccostandrisk.com | Pending Enrollment |
| Guadalupe Gonzalez | g.gonzalez@kmccostandrisk.com | Pending Enrollment |
| Haley Gehler | h.gehler@kmccostandrisk.com | Pending Enrollment |
---
## Week 4 (Aug 1115)
| Name | Email | Status |
|------|-------|--------|
| Jacob Hinch | j.hinch@kmccostandrisk.com | Pending Enrollment |
| Jacqueline Fairbairn | jacqueline@kmccostandrisk.com | Pending Enrollment |
| Jared Englehart | j.englehart@kmccostandrisk.com | Pending Enrollment |
| Jeremy Zink | jeremy@kmccostandrisk.com | Pending Enrollment |
| Reg Carson | reg@kmccostandrisk.com | Pending Enrollment |
---
## Week 5 (Aug 1822)
| Name | Email | Status |
|------|-------|--------|
| Jerred DeJong | jerred@kmccostandrisk.com | Pending Enrollment |
| Jerry Englehart | jerry@kmccostandrisk.com | Pending Enrollment |
| Jesse Olstead | j.olstead@kmccostandrisk.com | Pending Enrollment |
| Jesse Sherwood | j.sherwood@kmccostandrisk.com | Pending Enrollment |
| Josh Gable | j.gable@kmccostandrisk.com | Pending Enrollment |
---
## Week 6 (Aug 2529)
| Name | Email | Status |
|------|-------|--------|
| Josh Keogh | j.keogh@kmccostandrisk.com | Pending Enrollment |
| Josh Parsons | j.parsons@kmccostandrisk.com | Pending Enrollment |
| Kelly Mcnutt | kelly@kmccostandrisk.com | Pending Enrollment |
| Kent Kruse | k.kruse@kmccostandrisk.com | Pending Enrollment |
| Kent Werle | k.werle@kmccostandrisk.com | Pending Enrollment |
---
## Week 7 (Sep 15)
| Name | Email | Status |
|------|-------|--------|
| Kyle Kankanton | k.kankanton@kmccostandrisk.com | Pending Enrollment |
| Kyle Stone | k.stone@kmccostandrisk.com | Pending Enrollment |
| Leann Vigna | l.vigna@kmccostandrisk.com | Pending Enrollment |
| Lee Zink | lee@kmccostandrisk.com | Pending Enrollment |
| Mario Escalera | mario@kmccostandrisk.com | Pending Enrollment |
---
## Week 8 (Sep 812)
| Name | Email | Status |
|------|-------|--------|
| Mark Curtiss | mark@kmccostandrisk.com | Pending Enrollment |
| Martijn Bolster | martijn@kmccostandrisk.com | Pending Enrollment |
| Mathers Heuck | mathers@kmccostandrisk.com | Pending Enrollment |
| Maximus Sherwood | m.sherwood@kmccostandrisk.com | Pending Enrollment |
| Megan Donegan | m.donegan@kmccostandrisk.com | Pending Enrollment |
---
## Week 9 (Sep 1519)
| Name | Email | Status |
|------|-------|--------|
| Mike Schoeff | mike@kmccostandrisk.com | Pending Enrollment |
| Miles Mauldin | m.mauldin@kmccostandrisk.com | Pending Enrollment |
| Paola Ryan | p.ryan@kmccostandrisk.com | Pending Enrollment |
| Peter Elza | peter@kmccostandrisk.com | Pending Enrollment |
| Peter Sanderson | p.sanderson@kmccostandrisk.com | Pending Enrollment |
---
## Week 10 (Sep 2226)
| Name | Email | Status |
|------|-------|--------|
| Rachelle Trujillo | r.trujillo@kmccostandrisk.com | Pending Enrollment |
| Raffy Hammett | r.hammett@kmccostandrisk.com | Pending Enrollment |
| Ralph Salamie | ralph@kmccostandrisk.com | Pending Enrollment |
| Robb Swenson | robb@kmccostandrisk.com | Pending Enrollment |
| Robert Barnard | r.barnard@kmccostandrisk.com | Pending Enrollment |
---
## Week 11 (Sep 29Oct 3)
| Name | Email | Status |
|------|-------|--------|
| Ron Adair | r.adair@kmccostandrisk.com | Pending Enrollment |
| Ross Gilmour | ross@kmccostandrisk.com | Pending Enrollment |
| Russ Winger | russ@kmccostandrisk.com | Pending Enrollment |
| Troy Marble | troy@kmccostandrisk.com | Pending Enrollment |
| Victoria McNutt | victoria@kmccostandrisk.com | Pending Enrollment |
---
## Summary
| Batch | Users |
|-------|-------|
| **Enrolled** | 6 |
| **Week 1 (Jul 21)** | 7 |
| **Week 2 (Jul 28)** | 5 |
| **Week 3 (Aug 4)** | 5 |
| **Week 4 (Aug 11)** | 5 |
| **Week 5 (Aug 18)** | 5 |
| **Week 6 (Aug 25)** | 5 |
| **Week 7 (Sep 1)** | 5 |
| **Week 8 (Sep 8)** | 5 |
| **Week 9 (Sep 15)** | 5 |
| **Week 10 (Sep 22)** | 5 |
| **Week 11 (Sep 29)** | 5 |
| **Total** | **63** |
---
## Weekly Rhythm
| Day | Activity |
|-----|----------|
| **Monday** | Kickoff — send enrollment instructions (Weeks 2+), chase pending enrollments (Week 1) |
| **TuesdayFriday** | Enrollment window — users complete Intune enrollment |
| **Friday** | Send satisfaction survey |
| **Weekend** | Review results, resolve blockers, plan next week's batch |
---
## Risk & Mitigation
| Risk | Mitigation |
|------|-----------|
| Week 1 users still don't enroll after follow-up | Extend into Week 2; don't hold up new batch |
| Ed Ritchie verification unresolved | Blocker for Week 3 — resolve before Aug 4 |
| User unavailable during their week | 2-week lookahead notice; swap with adjacent week |
| Enrollment failure / policy conflict | Document fixes during pilot weeks; maintain troubleshooting runbook |
| Survey fatigue | Short 3-question survey; Fridays only |
---
## Grist Tracker
Live tracking: [Intune Device Management Rollout Plan](https://grist.beawit.net/o/docs-6/wmBGUbgBveCd/Intune-Device-Management-Rollout-Plan)
---
*Document generated from live Grist data: July 16, 2026*
*Schedule: July 21 October 3, 2026 (11 weeks)*
*Week 1 = 7-user pilot (emails sent), Weeks 211 = 5-user weekly batches*
@@ -0,0 +1,227 @@
# Kelly McNutt Consulting — Intune Device Management Rollout Schedule
**Generated:** July 16, 2026
**Source:** Live Grist tracker data (updated with corrected email-sent users)
**Client:** Kelly McNutt Consulting (kmccostandrisk.com)
---
## Overview
| Metric | Value |
|--------|-------|
| Total Users | 63 |
| Already Enrolled | 6 |
| Week 1 (Email Sent) | 9 |
| Remaining to Schedule | 48 |
| Weeks 210 | 9 weeks × 5 users = 45 |
| Week 11 | 3 users |
| Duration | 11 weeks |
| Start | July 21, 2026 |
| End | October 3, 2026 |
---
## ✅ Already Enrolled — Complete (No Action Needed)
| Name | Email | Device | Ownership |
|------|-------|--------|-----------|
| Alex Mckinstry | a.mckinstry@kmccostandrisk.com | A_MCKINSTRY-KMC | Corporate |
| Emily Jiang | e.jiang@kmccostandrisk.com | DESKTOP-AVDG2PS | Corporate |
| Jasper Bolster | j.bolster@kmccostandrisk.com | JASPER-LAPTOP | Corporate |
| Jennifer Nickel | jennifer@kmccostandrisk.com | SAMSUNG-NICKEL | Personal |
| Rebecca Skjothaug | r.skjothaug@kmccostandrisk.com | BECCA_SKJOTHAUG | Corporate |
| Victor Szabo | v.szabo@kmccostandrisk.com | DESKTOP-OR73OFU | Corporate |
---
## 📧 Week 1 — Email Sent / Pilot (Jul 2125)
*Emails already sent. Focus: follow up, troubleshoot, drive completion.*
| Name | Email | Status | Notes |
|------|-------|--------|-------|
| Alex Mcnutt | a.mcnutt@kmccostandrisk.com | Pending Enrollment | email sent |
| Andy Fairbairn | andy@kmccostandrisk.com | Pending Enrollment | email sent |
| Ariana Ince | ariana@kmccostandrisk.com | Pending Enrollment | email sent |
| Brandon Zink | brandon@kmccostandrisk.com | Pending Enrollment | email sent |
| Bruce Patterson | bruce@kmccostandrisk.com | Pending Enrollment | email sent |
| Christine Hutton | c.hutton@kmccostandrisk.com | Pending Enrollment | email sent |
| Christopher Parr | christopher@kmccostandrisk.com | Pending Enrollment | email sent |
| Drew Clark | drew@kmccostandrisk.com | Pending Enrollment | email sent |
| Josh Gable | j.gable@kmccostandrisk.com | Pending Enrollment | email sent |
---
## Week 2 (Jul 28Aug 1)
| Name | Email | Status |
|------|-------|--------|
| David Rodriguez | d.rodriguez@kmccostandrisk.com | Pending Enrollment |
| David Ryan | d.ryan@kmccostandrisk.com | Pending Enrollment |
| Dennis Curtin | d.curtin@kmccostandrisk.com | Pending Enrollment |
| Don Hamann | don@kmccostandrisk.com | Pending Enrollment |
| Ed Ritchie | e.ritchie@kmccostandrisk.com | ⚠️ Verification Required |
---
## Week 3 (Aug 48)
| Name | Email | Status |
|------|-------|--------|
| Erin Fairbairn | e.fairbairn@kmccostandrisk.com | Pending Enrollment |
| Fletcher Sherwood | f.sherwood@kmccostandrisk.com | Pending Enrollment |
| Guadalupe Gonzalez | g.gonzalez@kmccostandrisk.com | Pending Enrollment |
| Haley Gehler | h.gehler@kmccostandrisk.com | Pending Enrollment |
| Jacob Hinch | j.hinch@kmccostandrisk.com | Pending Enrollment |
---
## Week 4 (Aug 1115)
| Name | Email | Status |
|------|-------|--------|
| Jacqueline Fairbairn | jacqueline@kmccostandrisk.com | Pending Enrollment |
| Jared Englehart | j.englehart@kmccostandrisk.com | Pending Enrollment |
| Jeremy Zink | jeremy@kmccostandrisk.com | Pending Enrollment |
| Jerred DeJong | jerred@kmccostandrisk.com | Pending Enrollment |
| Jerry Englehart | jerry@kmccostandrisk.com | Pending Enrollment |
---
## Week 5 (Aug 1822)
| Name | Email | Status |
|------|-------|--------|
| Jesse Olstead | j.olstead@kmccostandrisk.com | Pending Enrollment |
| Jesse Sherwood | j.sherwood@kmccostandrisk.com | Pending Enrollment |
| Josh Keogh | j.keogh@kmccostandrisk.com | Pending Enrollment |
| Josh Parsons | j.parsons@kmccostandrisk.com | Pending Enrollment |
| Kelly Mcnutt | kelly@kmccostandrisk.com | Pending Enrollment |
---
## Week 6 (Aug 2529)
| Name | Email | Status |
|------|-------|--------|
| Kent Kruse | k.kruse@kmccostandrisk.com | Pending Enrollment |
| Kent Werle | k.werle@kmccostandrisk.com | Pending Enrollment |
| Kyle Kankanton | k.kankanton@kmccostandrisk.com | Pending Enrollment |
| Kyle Stone | k.stone@kmccostandrisk.com | Pending Enrollment |
| Leann Vigna | l.vigna@kmccostandrisk.com | Pending Enrollment |
---
## Week 7 (Sep 15)
| Name | Email | Status |
|------|-------|--------|
| Lee Zink | lee@kmccostandrisk.com | Pending Enrollment |
| Mario Escalera | mario@kmccostandrisk.com | Pending Enrollment |
| Mark Curtiss | mark@kmccostandrisk.com | Pending Enrollment |
| Martijn Bolster | martijn@kmccostandrisk.com | Pending Enrollment |
| Mathers Heuck | mathers@kmccostandrisk.com | Pending Enrollment |
---
## Week 8 (Sep 812)
| Name | Email | Status |
|------|-------|--------|
| Maximus Sherwood | m.sherwood@kmccostandrisk.com | Pending Enrollment |
| Megan Donegan | m.donegan@kmccostandrisk.com | Pending Enrollment |
| Mike Schoeff | mike@kmccostandrisk.com | Pending Enrollment |
| Miles Mauldin | m.mauldin@kmccostandrisk.com | Pending Enrollment |
| Paola Ryan | p.ryan@kmccostandrisk.com | Pending Enrollment |
---
## Week 9 (Sep 1519)
| Name | Email | Status |
|------|-------|--------|
| Peter Elza | peter@kmccostandrisk.com | Pending Enrollment |
| Peter Sanderson | p.sanderson@kmccostandrisk.com | Pending Enrollment |
| Rachelle Trujillo | r.trujillo@kmccostandrisk.com | Pending Enrollment |
| Raffy Hammett | r.hammett@kmccostandrisk.com | Pending Enrollment |
| Ralph Salamie | ralph@kmccostandrisk.com | Pending Enrollment |
---
## Week 10 (Sep 2226)
| Name | Email | Status |
|------|-------|--------|
| Reg Carson | reg@kmccostandrisk.com | Pending Enrollment |
| Robb Swenson | robb@kmccostandrisk.com | Pending Enrollment |
| Robert Barnard | r.barnard@kmccostandrisk.com | Pending Enrollment |
| Ron Adair | r.adair@kmccostandrisk.com | Pending Enrollment |
| Ross Gilmour | ross@kmccostandrisk.com | Pending Enrollment |
---
## Week 11 (Sep 29Oct 3)
| Name | Email | Status |
|------|-------|--------|
| Russ Winger | russ@kmccostandrisk.com | Pending Enrollment |
| Troy Marble | troy@kmccostandrisk.com | Pending Enrollment |
| Victoria McNutt | victoria@kmccostandrisk.com | Pending Enrollment |
---
## Summary
| Batch | Users |
|-------|-------|
| **Enrolled** | 6 |
| **Week 1 (Jul 21)** | 9 |
| **Week 2 (Jul 28)** | 5 |
| **Week 3 (Aug 4)** | 5 |
| **Week 4 (Aug 11)** | 5 |
| **Week 5 (Aug 18)** | 5 |
| **Week 6 (Aug 25)** | 5 |
| **Week 7 (Sep 1)** | 5 |
| **Week 8 (Sep 8)** | 5 |
| **Week 9 (Sep 15)** | 5 |
| **Week 10 (Sep 22)** | 5 |
| **Week 11 (Sep 29)** | 3 |
| **Total** | **63** |
---
## Weekly Rhythm
| Day | Activity |
|-----|----------|
| **Monday** | Kickoff — send enrollment instructions (Weeks 2+), chase pending enrollments (Week 1) |
| **TuesdayFriday** | Enrollment window — users complete Intune enrollment |
| **Friday** | Send satisfaction survey |
| **Weekend** | Review results, resolve blockers, plan next week's batch |
---
## Risk & Mitigation
| Risk | Mitigation |
|------|----------|
| Week 1 users still don't enroll after follow-up | Extend into Week 2; don't hold up new batch |
| Ed Ritchie verification unresolved | Blocker for Week 2 — resolve before Jul 28 |
| User unavailable during their week | 2-week lookahead notice; swap with adjacent week |
| Enrollment failure / policy conflict | Document fixes during pilot weeks; maintain troubleshooting runbook |
| Survey fatigue | Short 3-question survey; Fridays only |
---
## Grist Tracker
Live tracking: [Intune Device Management Rollout Plan](https://grist.beawit.net/o/docs-6/wmBGUbgBveCd/Intune-Device-Management-Rollout-Plan)
**Note:** The Grist tracker currently shows uneven batch distribution (Week 2 has 4, Week 5 has 4). Use the batch assignments in this document as the source of truth until Grist is updated.
---
*Document generated from live Grist data: July 16, 2026*
*Schedule: July 21 October 3, 2026 (11 weeks)*
*Week 1 = 9 users (email sent), Weeks 210 = 5-user weekly batches, Week 11 = 3 users*
+202
View File
@@ -0,0 +1,202 @@
# Vault API Complete Reference — All Paths Verified
**Date:** July 16, 2026
**Status:** All Vault paths verified, wrapper production-ready
---
## Vault Structure
Tokens are stored in **two ways** for flexibility:
1. **By category** (consolidated): `api/infrastructure`, `api/integration`
2. **By service** (service-specific): `api/nocodb`, `api/odoo`, `api/qdrant`
Both paths contain valid tokens. Use whichever is more convenient.
---
## Complete Token Mapping
### IT Systems (`api/infrastructure`)
| Token Key | Service | Base URL | Header | Status |
|-----------|---------|----------|--------|--------|
| `gitea-token` | Gitea | — | Bearer | Not tested |
| `metabase-api-key` | Metabase | `http://metabase.beawit.net:3000` | Bearer | Not tested |
| `metabase-password` | Metabase | — | — | Config |
| `metabase-url` | Metabase | — | — | Config |
| `metabase-username` | Metabase | — | — | Config |
| `nocodb-table-id` | NocoDB | — | — | Config |
| `nocodb-token` | NocoDB | `http://192.168.25.5:8080` | xc-token | ✅ Works |
| `nocodb-url` | NocoDB | — | — | Config |
| `odoo-api-key` | Odoo | `http://192.168.16.4:8069` | Custom | ⚠️ Session auth |
| `odoo-url` | Odoo | — | — | Config |
| `qdrant-api-key` | Qdrant | `http://192.168.19.17:6333` | api-key | ✅ Works |
| `qdrant-url` | Qdrant | — | — | Config |
| `rustfs-access-key` | RustFS | `http://192.168.19.17:9002` | — | Not tested |
| `rustfs-bucket` | RustFS | — | — | Config |
| `rustfs-endpoint` | RustFS | — | — | Config |
| `rustfs-secret-key` | RustFS | — | — | Not tested |
### Integration Services (`api/integration`)
| Token Key | Service | Base URL | Header | Status |
|-----------|---------|----------|--------|--------|
| `grist` | Grist | `https://grist.beawit.net` | Bearer | ✅ Works |
| `homeassistant-api-key` | Home Assistant | `http://homeassistant.beawit.net:8123` | Bearer | ✅ Works |
| `n8n-api-key` | n8n | `https://n8n.beawit.net` | Bearer | ⚠️ SSL issue |
| `tavily-api-key` | Tavily | — | Bearer | Not tested |
### Service-Specific Paths (Alternative Access)
| Service | Vault Path | Token Key | Notes |
|---------|-----------|-----------|-------|
| NocoDB | `api/nocodb` | `api_token` | Alternative to infrastructure path |
| Odoo | `api/odoo` | `api_key`, `db`, `uid`, `url`, `username` | Full config set |
| Qdrant | `api/qdrant` | `api_key`, `base_url`, `collection` | Alternative path |
| Metabase | `api/metabase` | `api_key`, `url` | Alternative path |
| n8n | `api/n8n` | `api_key`, `base_url`, webhooks | Full config |
| Home Assistant | `api/homeassistant` | `api_key`, `url` | Alternative path |
### AI/ML (`api/ai-ml`)
| Token Key | Service | Status |
|-----------|---------|--------|
| `kokoro-api-key` | Kokoro TTS | Not tested |
| `kokoro-tts-url` | Kokoro TTS | Config |
| `ollama-api-key` | Ollama | Not tested |
| `openai-api-key` | OpenAI | Not tested |
| `serpapi-key` | SerpAPI | Not tested |
### Business (`api/business`)
| Token Key | Service | Status |
|-----------|---------|--------|
| `hunter-api-key` | Hunter.io | Not tested |
| `invoiceninja-api-key` | Invoice Ninja | Not tested |
| `invoiceninja-url` | Invoice Ninja | Config |
| `kimai-token` | Kimai | Not tested |
| `kimai-url` | Kimai | Config |
| `tavily-api-key` | Tavily | Not tested |
### Media (`api/media`)
| Token Key | Service | Status |
|-----------|---------|--------|
| `freepik` | Freepik | Not tested |
| `json2video` | JSON2Video | Not tested |
| `pexels` | Pexels | Not tested |
| `youtube` | YouTube | Not tested |
### Other Categories
| Category | Contents |
|----------|----------|
| `api/agent_email` | Email config (domain, server, password) |
| `api/communication` | Telegram user ID |
| `api/credentials` | SnipeIT URL |
| `api/email` | Email credentials |
| `api/external` | SnipeIT token, Nextcloud sync |
| `api/firecrawl` | Firecrawl API key |
| `api/gitea` | Gitea token |
| `api/hunter` | Hunter.io API key |
| `api/invoiceninja` | Invoice Ninja API key, URL |
| `api/kimai` | Kimai token, URL |
| `api/kokoro` | Kokoro API key, URL |
| `api/monitoring` | Uptime Kuma API key, URL, status slug |
| `api/newsapi` | NewsAPI key |
| `api/nextcloud` | Nextcloud app token, URL, credentials |
| `api/ollama` | Ollama API key |
| `api/passpush` | PassPush bearer token |
| `api/pexels` | Pexels API key |
| `api/postgres` | PostgreSQL credentials |
| `api/postgresql` | PostgreSQL credentials (duplicate) |
| `api/quickbooks` | QuickBooks tokens, client secrets |
| `api/rustfs` | RustFS access/secret keys, bucket, endpoint |
| `api/search` | Firecrawl, SerpAPI keys |
| `api/serpapi` | SerpAPI key |
| `api/skybox` | Skybox app token, credentials |
| `api/snipeit` | SnipeIT token, URL |
| `api/ssh` | SSH keys (cloudbox, ed25519) |
| `api/tavily` | Tavily API key |
| `api/telegram` | Telegram user ID |
| `api/uptimekuma` | Uptime Kuma API key, URL, status |
---
## Working Examples
### Grist (two ways)
```bash
# Via integration category
python3 vault_api.py GET "https://grist.beawit.net" \
"/api/docs/wmBGUbgBveCdeY8fZ6T6eL/tables/Intune/records" \
"api/integration" "grist" "Bearer"
```
### NocoDB (two ways)
```bash
# Via infrastructure category
python3 vault_api.py GET "http://192.168.25.5:8080" \
"/api/v1/db/meta/projects" \
"api/infrastructure" "nocodb-token" "xc-token"
# Via nocodb category (alternative)
python3 vault_api.py GET "http://192.168.25.5:8080" \
"/api/v1/db/meta/projects" \
"api/nocodb" "api_token" "xc-token"
```
### Qdrant (two ways)
```bash
# Via infrastructure category
python3 vault_api.py GET "http://192.168.19.17:6333" \
"/collections" \
"api/infrastructure" "qdrant-api-key" "api-key"
# Via qdrant category (alternative)
python3 vault_api.py GET "http://192.168.19.17:6333" \
"/collections" \
"api/qdrant" "api_key" "api-key"
```
### Home Assistant (two ways)
```bash
# Via integration category
python3 vault_api.py GET "http://homeassistant.beawit.net:8123" \
"/api/" \
"api/integration" "homeassistant-api-key" "Bearer"
# Via homeassistant category (alternative)
python3 vault_api.py GET "http://homeassistant.beawit.net:8123" \
"/api/" \
"api/homeassistant" "api_key" "Bearer"
```
---
## Known Issues
### n8n
- **Problem:** SSL certificate hostname mismatch
- **Workaround:** Use HTTP instead of HTTPS, or fix certificate
### Odoo
- **Problem:** Uses session-based auth, not simple Bearer tokens
- **Workaround:** Requires custom authentication flow
---
## Wrapper Location
`/home/jcbeasley/.openclaw/workspace/scripts/vault_api.py`
## Usage Pattern
```bash
python3 vault_api.py <METHOD> <BASE_URL> <API_PATH> <VAULT_PATH> <TOKEN_KEY> [header_type] [payload_file]
```
---
*All tokens verified in Vault as of July 16, 2026. Both category and service-specific paths are valid.*
+103
View File
@@ -0,0 +1,103 @@
# Vault API Integration Guide
**Date:** July 16, 2026
**Status:** Generic wrapper complete, tested with Grist and NocoDB
---
## Generic API Wrapper (`vault_api.py`)
**Location:** `/home/jcbeasley/.openclaw/workspace/scripts/vault_api.py`
**Usage:**
```bash
python3 vault_api.py <METHOD> <BASE_URL> <API_PATH> <VAULT_PATH> <TOKEN_KEY> [header_type] [payload_file]
```
**Vault Path Structure:**
- Vault stores tokens under `kv/data/api/<category>/`
- Each category has multiple keys (e.g., `nocodb-token`, `qdrant-api-key`)
- You specify both the category path AND the token key
---
## ✅ Working Examples
### Grist
```bash
python3 vault_api.py GET "https://grist.beawit.net" \
"/api/docs/wmBGUbgBveCdeY8fZ6T6eL/tables/Intune/records" \
"api/integration" "grist" "Bearer"
```
**Status:** ✅ Works (63 records retrieved)
### NocoDB
```bash
python3 vault_api.py GET "http://192.168.25.5:8080" \
"/api/v1/db/meta/projects" \
"api/infrastructure" "nocodb-token" "xc-token"
```
**Status:** ✅ Works (7 projects retrieved)
---
## ⚠️ Needs Debugging
### Qdrant
```bash
python3 vault_api.py GET "http://192.168.19.17:6333" \
"/collections" \
"api/infrastructure" "qdrant-api-key" "api-key"
```
**Status:** ❌ 401 Unauthorized
**Issue:** Header format may need adjustment for Qdrant's specific auth
---
## Vault Structure Discovered
### `api/infrastructure` (IT Systems)
| Token Key | Service | Status |
|-----------|---------|--------|
| `gitea-token` | Gitea | Not tested |
| `metabase-api-key` | Metabase | Not tested |
| `metabase-password` | Metabase | Not tested |
| `metabase-url` | Metabase | Not tested |
| `metabase-username` | Metabase | Not tested |
| `nocodb-table-id` | NocoDB | Not tested |
| `nocodb-token` | NocoDB | ✅ Working |
| `nocodb-url` | NocoDB | Not tested |
| `odoo-api-key` | Odoo | Not tested |
| `odoo-url` | Odoo | Not tested |
| `qdrant-api-key` | Qdrant | ❌ Auth issue |
| `qdrant-url` | Qdrant | Not tested |
| `rustfs-access-key` | RustFS | Not tested |
| `rustfs-bucket` | RustFS | Not tested |
| `rustfs-endpoint` | RustFS | Not tested |
| `rustfs-secret-key` | RustFS | Not tested |
### `api/integration` (Integration Services)
| Token Key | Service | Status |
|-----------|---------|--------|
| `grist` | Grist | ✅ Working |
| `homeassistant-api-key` | Home Assistant | Not tested |
| `n8n-api-key` | n8n | Not tested |
| `tavily-api-key` | Tavily | Not tested |
### Other Categories
- `api/ai-ml` — DeepSeek, Groq, Ollama, OpenAI, SerpAPI
- `api/business` — Hunter, InvoiceNinja, Kimai
- `api/communication` — Telegram
- `api/media` — Freepik, JSON2Video, Pexels, YouTube
- `api/monitoring` — Uptime Kuma
- `api/search` — Firecrawl, SerpAPI
---
## Next Steps
1. **Fix Qdrant auth** — Debug header format (likely needs custom header)
2. **Test remaining services** — Metabase, Odoo, n8n, etc.
3. **Add service-specific wrappers** — Some services may need custom headers
Want me to fix Qdrant auth now, or test other services?
+134
View File
@@ -0,0 +1,134 @@
# Vault API Integration Guide
**Date:** July 16, 2026
**Purpose:** Document generic API wrapper and Vault token storage
---
## What's Been Built
### Generic API Wrapper (`vault_api.py`)
**Location:** `/home/jcbeasley/.openclaw/workspace/scripts/vault_api.py`
**Usage:**
```bash
python3 vault_api.py <METHOD> <BASE_URL> <API_PATH> <VAULT_KEY> [header_type] [payload_file]
```
**Examples:**
```bash
# Grist (Bearer token - default)
python3 vault_api.py GET "https://grist.beawit.net" "/api/docs/..." "api/integration/grist"
# NocoDB (xc-token)
python3 vault_api.py GET "http://192.168.25.5:8080" "/api/..." "api/integration/nocodb" "xc-token"
# Generic service with X-Api-Key
python3 vault_api.py GET "https://api.example.com" "/endpoint" "api/integration/service" "X-Api-Key"
```
**Supported Header Types:**
- `Bearer` (default) — `Authorization: Bearer <token>`
- `xc-token``xc-token: <token>` (NocoDB)
- `X-Api-Key``X-Api-Key: <token>`
- `api-key``API-Key: <token>`
**Features:**
- ✅ Self-healing Vault auth (auto-refreshes on expiry)
- ✅ No local token caching (fetches from Vault every time)
- ✅ SSL verification disabled for self-signed certs
- ✅ Supports GET, POST, PATCH
---
## Current Vault Status
### What's Available in Vault
**Integration Tokens:**
| Service | Vault Path | Status | Tested |
|---------|-----------|--------|--------|
| Grist | `kv/data/api/integration/grist` | ✅ Available | ✅ Works |
| NocoDB | `kv/data/api/integration/nocodb` | ❌ Not Found | ❌ N/A |
| Qdrant | `kv/data/api/integration/qdrant` | ❓ Unknown | ❌ N/A |
| Metabase | `kv/data/api/integration/metabase` | ❓ Unknown | ❌ N/A |
| Odoo | `kv/data/api/integration/odoo` | ❓ Unknown | ❌ N/A |
| HomeAssistant | `kv/data/api/integration/homeassistant` | ❓ Unknown | ❌ N/A |
**Other Vault Paths (from TOOLS.md):**
- `kv/data/api/ai-ml` — DeepSeek, Groq, OpenRouter, etc.
- `kv/data/api/business` — Stripe, Apollo, Hunter, etc.
- `kv/data/api/communication` — Discord, Twitter, etc.
- `kv/data/api/infrastructure` — NocoDB, Metabase, Qdrant, etc.
- `kv/data/api/media` — Pexels, YouTube, etc.
- `kv/data/api/search` — SerpAPI, Firecrawl, etc.
---
## What's Missing / Needed
### Tokens to Store in Vault
Based on your TOOLS.md, these tokens should be added to Vault under `kv/data/api/integration/`:
1. **NocoDB Token**
- URL: `http://192.168.25.5:8080`
- Currently in TOOLS.md as: `[in vault: nocodb-token]`
- Need to verify it's actually stored at `kv/data/api/integration/nocodb`
2. **Qdrant API Key**
- URL: `http://192.168.19.17:6333`
- Currently in TOOLS.md as: `[in vault: qdrant-api-key]`
- Path may be `kv/data/api/infrastructure/qdrant`
3. **Metabase Password**
- URL: `http://metabase.beawit.net:3000`
- Currently in TOOLS.md as: `[in vault: metabase-password]`
- Path may be `kv/data/api/infrastructure/metabase`
4. **Odoo API Key**
- URL: `http://192.168.16.4:8069`
- Currently in TOOLS.md as: `[in vault: odoo-api-key]`
- Path may be `kv/data/api/business/odoo`
---
## How to Store Tokens in Vault
**Step 1: Get Vault Token**
```bash
export VAULT_TOKEN=$(curl -sk -X POST \
-d '{"role_id":"75d2dcfb-9c65-7f60-59b4-eee8c7f8dc0e","secret_id":"6202b465-2f25-547c-ec07-f47cfc4dda3e"}' \
"https://beavault.beawit.net:8200/v1/auth/approle/login" | jq -r '.auth.client_token')
```
**Step 2: Store Service Token**
```bash
# For NocoDB
curl -sk -X POST \
-H "X-Vault-Token: $VAULT_TOKEN" \
-d '{"data":{"token":"YOUR_NOCODB_TOKEN_HERE"}}' \
"https://beavault.beawit.net:8200/v1/kv/data/api/integration/nocodb"
# For Qdrant
curl -sk -X POST \
-H "X-Vault-Token: $VAULT_TOKEN" \
-d '{"data":{"token":"YOUR_QDRANT_KEY_HERE"}}' \
"https://beavault.beawit.net:8200/v1/kv/data/api/integration/qdrant"
```
**Step 3: Verify**
```bash
python3 vault_api.py GET "http://192.168.25.5:8080" "/api/v1/db/meta/projects" "api/integration/nocodb" "xc-token"
```
---
## Next Steps
1. **Store remaining tokens in Vault** — Add NocoDB, Qdrant, etc. to `api/integration/`
2. **Test each service** — Verify `vault_api.py` works with all services
3. **Document service-specific paths** — Create mapping of services → Vault keys → header types
Want me to help store any specific tokens in Vault now?
+163
View File
@@ -0,0 +1,163 @@
# Vault API Master Reference
**Date:** July 16, 2026
**Purpose:** Complete mapping of all Vault tokens to services, headers, and endpoints
---
## Verified Working Patterns
### Standard Header Types
| Header Type | Format | Services |
|-------------|--------|----------|
| Bearer | `Authorization: Bearer <token>` | Grist, Home Assistant, Metabase |
| xc-token | `xc-token: <token>` | NocoDB |
| api-key | `api-key: ***` | Qdrant |
| X-Api-Key | `X-Api-Key: ***` | Some APIs |
---
## Complete Vault Token Mapping
### `api/infrastructure`
| Token Key | Service | Base URL | Header Type | Status |
|-----------|---------|----------|-------------|--------|
| `gitea-token` | Gitea | — | Bearer | Not tested |
| `metabase-api-key` | Metabase | `http://metabase.beawit.net:3000` | Bearer | Not tested |
| `metabase-password` | Metabase | — | — | Not tested |
| `metabase-url` | Metabase | — | — | Not tested |
| `metabase-username` | Metabase | — | — | Not tested |
| `nocodb-table-id` | NocoDB | — | — | Not tested |
| `nocodb-token` | NocoDB | `http://192.168.25.5:8080` | xc-token | ✅ Works |
| `nocodb-url` | NocoDB | — | — | Not tested |
| `odoo-api-key` | Odoo | `http://192.168.16.4:8069` | Custom | ⚠️ Needs custom auth |
| `odoo-url` | Odoo | — | — | Not tested |
| `qdrant-api-key` | Qdrant | `http://192.168.19.17:6333` | api-key | ✅ Works |
| `qdrant-url` | Qdrant | — | — | Not tested |
| `rustfs-access-key` | RustFS | `http://192.168.19.17:9002` | — | Not tested |
| `rustfs-bucket` | RustFS | — | — | Not tested |
| `rustfs-endpoint` | RustFS | — | — | Not tested |
| `rustfs-secret-key` | RustFS | — | — | Not tested |
### `api/integration`
| Token Key | Service | Base URL | Header Type | Status |
|-----------|---------|----------|-------------|--------|
| `grist` | Grist | `https://grist.beawit.net` | Bearer | ✅ Works |
| `homeassistant-api-key` | Home Assistant | `http://homeassistant.beawit.net:8123` | Bearer | ✅ Works |
| `n8n-api-key` | n8n | `https://n8n.beawit.net` | Bearer | ⚠️ SSL issue |
| `tavily-api-key` | Tavily | — | Bearer | Not tested |
### `api/ai-ml`
| Token Key | Service | Base URL | Status |
|-----------|---------|----------|--------|
| `kokoro-api-key` | Kokoro TTS | — | Not tested |
| `kokoro-tts-url` | Kokoro TTS | — | Not tested |
| `ollama-api-key` | Ollama | — | Not tested |
| `openai-api-key` | OpenAI | — | Not tested |
| `serpapi-key` | SerpAPI | — | Not tested |
### `api/business`
| Token Key | Service | Base URL | Status |
|-----------|---------|----------|--------|
| `hunter-api-key` | Hunter.io | — | Not tested |
| `invoiceninja-api-key` | Invoice Ninja | — | Not tested |
| `invoiceninja-url` | Invoice Ninja | — | Not tested |
| `kimai-token` | Kimai | — | Not tested |
| `kimai-url` | Kimai | — | Not tested |
| `tavily-api-key` | Tavily | — | Not tested |
### `api/communication`
| Token Key | Service | Base URL | Status |
|-----------|---------|----------|--------|
| `telegram-user-id` | Telegram | — | Not tested |
### `api/media`
| Token Key | Service | Base URL | Status |
|-----------|---------|----------|--------|
| `freepik` | Freepik | — | Not tested |
| `json2video` | JSON2Video | — | Not tested |
| `pexels` | Pexels | — | Not tested |
| `youtube` | YouTube | — | Not tested |
### `api/monitoring`
| Token Key | Service | Base URL | Status |
|-----------|---------|----------|--------|
| `uptime-kuma-api-key` | Uptime Kuma | — | Not tested |
| `uptime-kuma-status-slug` | Uptime Kuma | — | Not tested |
| `uptime-kuma-url` | Uptime Kuma | — | Not tested |
### `api/search`
| Token Key | Service | Base URL | Status |
|-----------|---------|----------|--------|
| `firecrawl-api-key` | Firecrawl | — | Not tested |
| `serpapi` | SerpAPI | — | Not tested |
| `serpapi-key` | SerpAPI | — | Not tested |
---
## Working Examples
### Grist
```bash
python3 vault_api.py GET "https://grist.beawit.net" \
"/api/docs/wmBGUbgBveCdeY8fZ6T6eL/tables/Intune/records" \
"api/integration" "grist" "Bearer"
```
### NocoDB
```bash
python3 vault_api.py GET "http://192.168.25.5:8080" \
"/api/v1/db/meta/projects" \
"api/infrastructure" "nocodb-token" "xc-token"
```
### Qdrant
```bash
python3 vault_api.py GET "http://192.168.19.17:6333" \
"/collections" \
"api/infrastructure" "qdrant-api-key" "api-key"
```
### Home Assistant
```bash
python3 vault_api.py GET "http://homeassistant.beawit.net:8123" \
"/api/" \
"api/integration" "homeassistant-api-key" "Bearer"
```
---
## Known Issues
### n8n
- **Problem:** SSL certificate hostname mismatch (`TLSV1_UNRECOGNIZED_NAME`)
- **Solution:** Use HTTP instead of HTTPS, or fix certificate
### Odoo
- **Problem:** Uses session-based auth, not simple Bearer tokens
- **Solution:** Requires custom authentication flow (login + session cookie)
---
## Wrapper Location
`/home/jcbeasley/.openclaw/workspace/scripts/vault_api.py`
## Usage
```bash
python3 vault_api.py <METHOD> <BASE_URL> <API_PATH> <VAULT_PATH> <TOKEN_KEY> [header_type] [payload_file]
```
---
*All tokens verified in Vault as of July 16, 2026*
+113
View File
@@ -0,0 +1,113 @@
# Vault API Wrapper — Test Results
**Date:** July 16, 2026
**Wrapper:** `/home/jcbeasley/.openclaw/workspace/scripts/vault_api.py`
---
## ✅ Verified Working Services
### 1. Grist
```bash
python3 vault_api.py GET "https://grist.beawit.net" \
"/api/docs/wmBGUbgBveCdeY8fZ6T6eL/tables/Intune/records" \
"api/integration" "grist" "Bearer"
```
**Status:** ✅ Works (63 records)
**Header:** Bearer
### 2. NocoDB
```bash
python3 vault_api.py GET "http://192.168.25.5:8080" \
"/api/v1/db/meta/projects" \
"api/infrastructure" "nocodb-token" "xc-token"
```
**Status:** ✅ Works (7 projects)
**Header:** xc-token
### 3. Qdrant
```bash
python3 vault_api.py GET "http://192.168.19.17:6333" \
"/collections" \
"api/infrastructure" "qdrant-api-key" "api-key"
```
**Status:** ✅ Works (29 collections)
**Header:** api-key
### 4. Home Assistant
```bash
python3 vault_api.py GET "http://homeassistant.beawit.net:8123" \
"/api/" \
"api/integration" "homeassistant-api-key" "Bearer"
```
**Status:** ✅ Works (API running)
**Header:** Bearer
---
## ⚠️ Service-Specific Issues
### n8n
**Issue:** SSL/TLS SNI error — `n8n.beawit.net` certificate mismatch
**Workaround:** Use HTTP or correct hostname
### Odoo
**Issue:** Returns 400 — Odoo uses different auth mechanism (not simple Bearer tokens)
**Workaround:** Requires session-based auth or API key in specific format
---
## Vault Structure Summary
### api/infrastructure
| Token Key | Service | Status | Header |
|-----------|---------|--------|--------|
| gitea-token | Gitea | Not tested | — |
| metabase-api-key | Metabase | Not tested | — |
| metabase-password | Metabase | Not tested | — |
| nocodb-token | NocoDB | ✅ Works | xc-token |
| odoo-api-key | Odoo | ⚠️ 400 | Custom |
| qdrant-api-key | Qdrant | ✅ Works | api-key |
| rustfs-access-key | RustFS | Not tested | — |
| rustfs-secret-key | RustFS | Not tested | — |
### api/integration
| Token Key | Service | Status | Header |
|-----------|---------|--------|--------|
| grist | Grist | ✅ Works | Bearer |
| homeassistant-api-key | Home Assistant | ✅ Works | Bearer |
| n8n-api-key | n8n | ⚠️ SSL | Bearer |
| tavily-api-key | Tavily | Not tested | — |
### Other Categories
- `api/ai-ml` — kokoro, ollama, openai, serpapi
- `api/business` — hunter, invoiceninja, kimai
- `api/media` — freepik, json2video, pexels, youtube
- `api/monitoring` — uptime-kuma
---
## Usage Pattern
```bash
python3 vault_api.py <METHOD> <BASE_URL> <API_PATH> <VAULT_PATH> <TOKEN_KEY> [header_type] [payload_file]
```
**Parameters:**
- `METHOD`: GET, POST, PATCH
- `BASE_URL`: Service base URL (e.g., `https://grist.beawit.net`)
- `API_PATH`: API endpoint (e.g., `/api/docs/xxx/records`)
- `VAULT_PATH`: Vault category path (e.g., `api/infrastructure`)
- `TOKEN_KEY`: Specific token key within category (e.g., `nocodb-token`)
- `header_type`: Bearer, xc-token, api-key, X-Api-Key
---
## Next Steps
1. **Fix n8n SSL** — Certificate/hostname issue
2. **Fix Odoo auth** — Requires session-based or API key auth
3. **Test remaining services** — Metabase, Gitea, RustFS, etc.
4. **Add service-specific wrappers** — Some services need custom auth flows
The generic wrapper is **production-ready** for services that use standard token-based auth (Bearer, api-key, xc-token).