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:
@@ -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 21–25)
|
||||
|
||||
**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 28–Aug 1 | 5 | David Rodriguez, David Ryan, Dennis Curtin, Don Hamann, Drew Clark |
|
||||
| Week 3 | Aug 4–8 | 5 | **Ed Ritchie** — verification required before enrollment |
|
||||
| Week 4 | Aug 11–15 | 5 | Jacob Hinch, Jacqueline Fairbairn, Jared Englehart, Jeremy Zink, Reg Carson |
|
||||
| Week 5 | Aug 18–22 | 5 | Jerred DeJong, Jerry Englehart, Jesse Olstead, Jesse Sherwood, Josh Gable |
|
||||
| Week 6 | Aug 25–29 | 5 | Josh Keogh, Josh Parsons, Kelly Mcnutt, Kent Kruse, Kent Werle |
|
||||
| Week 7 | Sep 1–5 | 5 | Kyle Kankanton, Kyle Stone, Leann Vigna, Lee Zink, Mario Escalera |
|
||||
| Week 8 | Sep 8–12 | 5 | Mark Curtiss, Martijn Bolster, Mathers Heuck, Maximus Sherwood, Megan Donegan |
|
||||
| Week 9 | Sep 15–19 | 5 | Mike Schoeff, Miles Mauldin, Paola Ryan, Peter Elza, Peter Sanderson |
|
||||
| Week 10 | Sep 22–26 | 5 | Rachelle Trujillo, Raffy Hammett, Ralph Salamie, Robb Swenson, Robert Barnard |
|
||||
| Week 11 | Sep 29–Oct 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 |
|
||||
| **Tuesday–Friday** | 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 4–8)
|
||||
- **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/*
|
||||
@@ -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 10–20 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 10–20 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 10–20 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 10–20 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 10–20 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*
|
||||
@@ -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 2–10: 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
|
||||
- ○ 10–20 minutes
|
||||
- ○ 20–30 minutes
|
||||
- ○ 30–45 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 21–25)
|
||||
|
||||
*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 28–Aug 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 4–8)
|
||||
|
||||
| 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 11–15)
|
||||
|
||||
| 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 18–22)
|
||||
|
||||
| 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 25–29)
|
||||
|
||||
| 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 1–5)
|
||||
|
||||
| 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 8–12)
|
||||
|
||||
| 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 15–19)
|
||||
|
||||
| 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 22–26)
|
||||
|
||||
| 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 29–Oct 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) |
|
||||
| **Tuesday–Friday** | 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 2–11 = 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 2–10 | 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 21–25)
|
||||
|
||||
*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 28–Aug 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 4–8)
|
||||
|
||||
| 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 11–15)
|
||||
|
||||
| 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 18–22)
|
||||
|
||||
| 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 25–29)
|
||||
|
||||
| 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 1–5)
|
||||
|
||||
| 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 8–12)
|
||||
|
||||
| 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 15–19)
|
||||
|
||||
| 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 22–26)
|
||||
|
||||
| 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 29–Oct 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) |
|
||||
| **Tuesday–Friday** | 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 2–10 = 5-user weekly batches, Week 11 = 3 users*
|
||||
@@ -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.*
|
||||
@@ -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?
|
||||
@@ -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?
|
||||
@@ -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*
|
||||
@@ -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).
|
||||
Reference in New Issue
Block a user