⚠️ Running from a local file — Microsoft login requires the live site at crm.pnw.com.
⚙️ First-Run Setup
Creates the SharePoint lists CRM needs. Run once per tenant. You must be a Site Collection Administrator before running this.
(SharePoint → Site settings → Site collection administrators)
📡 System MonitorsAuto-parsed from daily digest emails · tickets created for confirmed failures only
🔁 Recurring & Preventive Tickets
Schedules auto-create tickets at login when due. Monthly server reboots, quarterly reviews, annual audits.
🔁
No recurring schedules yet. Add one to automate preventive work.
🔐
Account & Access
Account
—
—
Admin
Tech Emails — Fallback List
Used for the "Assigned To" dropdown when Azure AD group lookup returns no members. Format: Name <email>, comma-separated.
Current: not set
⚠️Advanced System Settings — Claude AI Key & Tech Group ID▼
⚠️ Caution: These settings control AI features and user access for the entire team. Changing the Tech Group ID incorrectly can lock everyone out of the CRM. Only edit if directed by your IT administrator.
🤖 Claude AI API Key
Powers similar-issue search, note cleanup, and summary generation. Stored in SharePoint — shared across all team members automatically. Get a key at console.anthropic.com.
Status: not set
👥 Tech Team Group ID
Azure AD Object ID for PNW-Team. Controls the Assigned To dropdown, CRM access (members), and admin rights (owners). Also update crm-keys.json with the same ID.
Current: not set
🎫
Tickets & Workflow
📂 Client List (XLSX)
SharePoint-relative path to your TemplateClientList.xlsx. Used for client matching and timezone lookup.
📞 Escalation Phone
Shown as a call prompt on Urgent priority tickets.
👁 Supervisor CC
CC'd on every outgoing CRM reply. Enter one or more addresses separated by commas. Leave blank to disable.
✍️ Reply Signature
Appended to every AI-drafted reply. Plain text — line breaks are preserved.
💬 Canned Responses
Saved replies you can insert into work logs and email replies with one click.
📧
Inbox & Email
📥 Import Settings
How far back to look when importing emails from help@pnw.com.
🕐 Display Timezone
All ticket dates, work log timestamps, and SLA timers are shown in this timezone.
📨 Forward Unwrapping
When a forwarded email (Fwd:/FW:) arrives from one of these domains, the CRM uses the original sender instead of the forwarder. One domain per line.
🔕 No-Reply Patterns
Extra patterns that should never receive replies. Built-in defaults (noreply@, donotreply@, etc.) are always active. One per line.
🔕 Always Ignore Rules
Emails matching a rule are silently skipped — no ticket created, email stays in inbox unread. Add rules by clicking 🔕 Always Ignore on any email ticket.
🚫 Spam & Blocked Senders
Blocked addresses and domains are silently skipped — no ticket, no reply. Use @domain.com to block all mail from a domain.
🔧
Tools
🔧 Fix Unmatched Tickets
Scans tickets with no client assigned, groups them by sender domain, and lets you map each domain to the correct client in one click. Run after importing a new client list.
🔀 Merge Duplicate Threads
Finds tickets that share the same email thread but were created separately, and lets you merge them into one with a single click.
🔗 Vendor Categories
Categories shown in the Links tab. Add, rename, recolor, or remove.
☁️ SharePoint
Status of the CRM SharePoint lists. Re-run setup if lists are missing or show errors after a tenant change.
—
💾
Data
🛡 Backup & Restore
Export tickets and contacts to a local JSON file. Use Restore to re-import a backup into SharePoint. Comments and activity notes are not included.
🗂 Maintenance & Archive
Moves closed tickets into CRM_TicketsArchive to keep the active list fast. Work logs are preserved. Run quarterly or as needed.
ago
⚠️
Danger Zone
🗑 Clear Database
Permanently deletes SharePoint list items. A backup is exported automatically before any delete runs. Type RESET to unlock the buttons.
🧹 Deduplicate Tickets
Finds tickets sharing the same Ticket Number or Email Message ID and removes duplicates, keeping the oldest record.
🧹 Deduplicate Contacts
Finds contacts sharing the same email address and removes duplicates, keeping the most complete record. Safe to run anytime.
Type at least 3 digits to search
Press Esc to close · / to open
Modal
🔕
Always Ignore Similar Emails
Future emails matching this rule will be silently skipped — no ticket created
All emails from this domain matching the keywords below will be skipped.
⚠️ The email will remain in your inbox unread — only ticket creation is suppressed. The current ticket will be closed and tagged ignored.
🔧
Fix Unmatched Tickets
Tickets with no client assigned, grouped by sender domain
Scanning tickets…
🔀
Find & Merge Duplicate Threads
Tickets from the same email conversation that should be one ticket