Amministratore di Sistema — CRMconnect
Reparto: IT / Admin
Livello: Senior / Management tecnico
Obiettivo principale: La piattaforma funziona correttamente, tutti gli utenti hanno accesso appropriato, i dati sono sicuri e intatti
Cosa fa questo ruolo
L'Amministratore di Sistema è il proprietario tecnico dell'istanza CRMconnect. Configura la piattaforma al lancio, gestisce utenti e permessi, monitora lo stato del sistema, integra CRMconnect con sistemi esterni e garantisce la sicurezza dei dati. È l'unica persona con accesso completo (admin = 1) ed è responsabile di tutto ciò che riguarda il funzionamento tecnico.
Documentazione tecnica dettagliata (stack, sicurezza, Kubernetes, GDPR, API): Guida IT / Amministratore
Moduli gestiti
| Modulo | URL | Responsabilità |
|---|---|---|
| Impostazioni generali | /admin/settings |
Configurazione completa della piattaforma |
| Personale | /admin/staff |
Account utente |
| Ruoli & Permessi | /admin/roles |
Matrice di accesso |
| 2FA | /admin/authenticator_2fa |
Autenticazione a due fattori |
| Campi personalizzati | /admin/custom_fields |
Campi specifici dell'azienda |
| Gestione API | /admin/api/api_management |
Token API per le integrazioni |
| Webhook | /admin/webhooks |
Notifiche esterne in tempo reale |
| Workflow Automation | /admin/workflow_automation |
Automazioni CRM interne |
| Import Excel | /admin/excel_import |
Import massivo di dati |
| GDPR | /admin/gdpr |
Richieste di cancellazione e portabilità |
| Utilità | /admin/utilities |
Log attività, coda email, log pipe |
| Password Team | /admin/team_password |
Password condivise del team |
Configurazione iniziale — checklist completa
Alla prima configurazione dell'istanza, segui questi passaggi in ordine:
Fase 1 — Dati azienda (`/admin/settings`)
Scheda Generale:
✓ Nome azienda
✓ Logo modalità chiara (PNG, max 300px larghezza)
✓ Logo modalità scura (versione per tema scuro)
✓ Favicon (32×32px)
✓ Indirizzo fisico completo (appare sulle fatture PDF)
✓ Larghezza logo PDF (larghezza logo sui documenti)
Scheda Email (SMTP):
✓ email_protocol = smtp
✓ smtp_host (es. smtp.gmail.com o mail.azienda.com)
✓ smtp_port: 587 (TLS) o 465 (SSL)
✓ smtp_email (indirizzo mittente)
✓ smtp_username + smtp_password
✓ TEST: pulsante "Invia email di test" → confermare la ricezione
Scheda Localizzazione:
✓ Lingua predefinita
✓ Fuso orario (CRUCIALE per timestamp corretti)
✓ Formato data (GG/MM/AAAA per IT)
✓ Separatori migliaia / decimali (per standard locale)
Scheda Cronjob:
✓ URL Cron configurato sul server
✓ Verificare che last_run si aggiorni ogni minuto
Cron job essenziale. Senza cron attivo queste funzioni non funzionano: fatturazione ricorrente, sync WooCommerce, Marketing Automation, notifiche di scadenza. Configurazione server:
* * * * * curl -s "https://azienda.com/cron/index" > /dev/null
Fase 2 — Struttura organizzativa
1. /admin/departments → creare i reparti aziendali
(con indirizzi email dedicati per il routing dei ticket)
2. /admin/roles → creare i ruoli per funzione lavorativa:
- Agente Commerciale, Contabile AR, Operatore Magazzino, ecc.
- Principio: minimo privilegio — accesso strettamente necessario
3. /admin/staff → aggiungere tutti gli utenti:
- Email univoca (= nome utente)
- Ruolo assegnato dall'elenco creato al passo 2
- Inviare email di benvenuto con link di configurazione password
Fase 3 — Configurazione finanziaria
/admin/taxes → aliquote IVA (22%, 10%, 5%, 0%, inversione contabile)
/admin/currencies → valute utilizzate + tassi di cambio
/admin/paymentmodes → metodi di pagamento accettati
/admin/billing/config → serie numeriche per fatture/proposte/contratti
Fase 4 — Sicurezza
/admin/authenticator_2fa → abilitare 2FA per tutti gli admin
/admin/roles → verificare che nessuno abbia più permessi del necessario per il ruolo
Comunicare a tutti gli utenti: la password temporanea deve essere cambiata al primo accesso
Fase 5 — Campi personalizzati (se necessario)
/admin/custom_fields → aggiungi campi specifici dell'azienda:
es. sui Lead: Settore, N. dipendenti, Budget stimato
es. sui Clienti: P.IVA, N. iscrizione impresa, Codice cliente ERP
es. sulle Fatture: N. ordine cliente, Riferimento progetto
Fase 6 — Integrazioni
Token API (/admin/api/api_management):
→ Crea un token per ogni integrazione esterna
→ Nome esplicito (es. "Zapier - Lead", "App Mobile", "ERP Sync")
→ Il token viene mostrato una sola volta — copialo immediatamente
Webhook (/admin/webhooks):
→ Configura per ogni sistema esterno che necessita di notifiche
→ Testa con debug_mode = 1 prima di attivare
Email Pipe (per i ticket):
→ Inoltro email dipartimento → pipe.php configurato sul server
→ Testa con una email reale
Gestione utenti
Nuovo dipendente
/admin/staff → Aggiungi personale
→ Email (univoca nel sistema)
→ Ruolo: selezionare dall'elenco ruoli
→ Dipartimento/i: può far parte di più dipartimenti
→ Spuntare "Invia email di benvenuto"
→ Salvare
Verifica:
→ L'utente riesce ad accedere?
→ Vede i moduli corretti per il suo ruolo?
→ NON vede i moduli a cui non dovrebbe accedere?
Dipendente in uscita (offboarding)
IMMEDIATAMENTE alla partenza (stesso giorno):
/admin/staff → aprire la scheda → impostare Attivo = 0
Non eliminare mai un dipendente — disattivare!
Se eliminato → il sistema forza la riassegnazione di TUTTI i suoi record
(ticket, attività, lead, progetti) a un altro utente da te selezionato.
Successivamente: verificare e revocare l'accesso collegato:
→ Email aziendale
→ VPN
→ Altri sistemi esterni con token API generati da loro
Limiti di licenza
Se ottieni un errore nell'attivazione di un nuovo utente → la licenza ha raggiunto il limite di seat (MEMBERS_INCLUDED + extra_seats):
- Disattiva un account inattivo (
active = 0) — libera un seat - Oppure contatta CRMconnect per acquistare seat aggiuntivi
Ruoli e permessi — configurazione corretta
Struttura gerarchia di accesso
Admin (admin = 1) → accesso completo, permessi NON verificati
↓
Personale con Ruolo → eredita i permessi del ruolo
↓
Contatto Cliente → permessi separati (portale clienti)
Tipi di permesso per modulo
| Permesso | Significato |
|---|---|
view |
Vede tutti i record (di chiunque) |
view_own |
Vede solo i propri record / record del dipartimento |
create |
Può creare nuovi record |
edit |
Può modificare |
delete |
Può eliminare |
Ruoli standard consigliati
Agente Commerciale:
Lead: view_own + create + edit
Clienti: view + create
Proposte: view + create + edit
Fatture: view_own
Impostazioni: ✗ (nessun accesso)
Contabile AR:
Fatture: view + edit
Pagamenti: view + create
Estratti conto: view + create
Clienti: view
Impostazioni: ✗
Operatore Magazzino:
Magazzino (tutti i sottomoduli): view + create + edit
Ordini di Vendita: view
Acquisti: view
Impostazioni: ✗
Amministratore HR:
Personale: view + create + edit
Profilo HR: view + create + edit
Recruitment: view + create + edit
Buste Paga: view + create + edit
Impostazioni: ✗
Override permessi individuali
Se un dipendente ha bisogno di permessi diversi dal suo ruolo:
- Record Personale → scheda Permessi → imposta override individuali
- L'override ha priorità sul ruolo generale
Monitoraggio giornaliero e settimanale
Giornaliero (5 minuti)
/admin/utilities → Coda Email:
→ Email bloccate? → Processa tutto o indaga l'errore
/admin/utilities → pipe_log (se usi email pipe per i ticket):
→ Errori di importazione? → controlla la configurazione di inoltro
/admin/webhooks → Log (se hai webhook attivi):
→ Richieste fallite? → controlla l'URL di destinazione
Settimanale (15–20 minuti)
/admin/utilities/activity_log:
→ Azioni insolite? (eliminazioni massive, accessi ad orari strani)
→ Login da IP sconosciuti?
/admin/api/api_management:
→ Token API con utilizzo insolitamente elevato?
→ Token inattivi da > 6 mesi → disattivali
/admin/staff → filtra last_login:
→ Utenti attivi che non accedono da 90+ giorni → valuta la disattivazione
Stato 2FA (/admin/authenticator_2fa/userlist):
→ Tutti gli admin hanno il 2FA abilitato? Se no → ricorda o imponi
Integrazioni — API e Webhook
Gestione API
Per ogni nuova integrazione:
/admin/api/api_management → Aggiungi Token
→ Nome esplicito: "[Sistema] - [Scopo]" (es. "Make.com - Sync Lead")
→ Personale associato: un utente di integrazione dedicato (non il tuo account personale)
→ Copia il token IMMEDIATAMENTE (mostrato una sola volta)
→ Invia il token in modo sicuro al destinatario
Alla partenza di un dipendente che deteneva token:
→ Identifica tutti i token associati a loro → disattivali
→ Crea nuovi token e aggiorna le integrazioni
Webhook
Alla configurazione di un nuovo webhook:
1. Aggiungi webhook con URL del sistema di destinazione
2. Seleziona entità (Lead, Fattura, Ticket, ecc.) ed eventi (creato, aggiornato, eliminato)
3. Abilita debug_mode = 1 TEMPORANEAMENTE
4. Invia un evento di test
5. Controlla nei Log che la richiesta sia arrivata e la risposta sia 200 OK
6. Disabilita debug_mode = 1 (altrimenti i log crescono rapidamente)
Workflow Automation — configura i flussi interni
/admin/workflow_automation → Aggiungi Automazione
Struttura:
Trigger: quale evento lo attiva (Lead creato, Stato ticket cambiato, ecc.)
Condizione: filtri aggiuntivi (es. solo lead da fonte X)
Azione: cosa viene eseguito (notifica, task creato, email inviata, stato cambiato)
Esempi standard da configurare al setup iniziale:
1. Lead urgente → notifica immediata al Sales Manager
2. Nuovo ticket → notifica all'agente del dipartimento
3. Contratto in scadenza tra 60 giorni → task di rinnovo per KAM
4. Fattura scaduta > 30 giorni → email di sollecito automatica
5. Nuovo dipendente creato → task di onboarding per HR
Importazione dati
Import Excel massivo
/admin/excel_import → seleziona modulo (Lead, Clienti, Prodotti, ecc.)
→ Scarica il template Excel
→ Compila i dati nel template (non modificare la struttura delle colonne!)
→ Carica il file
→ Il sistema valida → mostra errori riga per riga
→ Conferma import
Prima di qualsiasi import di grandi dimensioni:
→ Esegui un backup/export dei dati esistenti
→ Importa 10 righe di test prima del file completo
→ Verifica che i dati siano stati inseriti correttamente
Campi personalizzati — guida rapida
/admin/custom_fields → Entità → Aggiungi Campo
Opzioni importanti:
required: obbligatorio alla creazione (riflettici — non può essere disabilitato retroattivamente senza dati mancanti)
show_on_pdf: il campo appare sui PDF fattura/contratto
show_on_client_portal: il cliente vede il campo nel suo portale
only_admin: campo visibile solo agli amministratori
bs_column: larghezza nel form (6 = metà larghezza, 12 = larghezza intera)
Tipi consigliati per scopo:
Codice/riferimento esterno → text (breve)
Categoria/Stato → select (menu a tendina con valori predefiniti)
Data di scadenza → date_picker
Note lunghe → textarea
Sì/No → checkbox
Sicurezza — checklist permanente
| Verifica | Frequenza | Dove |
|---|---|---|
| 2FA attivo per tutti gli admin | Ad ogni assunzione admin | /admin/authenticator_2fa |
| Account disattivati alla partenza | Immediatamente | /admin/staff |
| Token API inattivi revocati | Trimestrale | /admin/api/api_management |
| Log attività esaminato | Settimanale | /admin/utilities/activity_log |
| Credenziali SMTP ruotate | Annualmente o dopo incidente | /admin/settings scheda Email |
| Ruoli verificati (permessi eccessivi) | Semestrale | /admin/roles |
| Utenti attivi senza login > 90 giorni | Mensile | /admin/staff → last_login |
GDPR — richieste di diritti
Dove: /admin/gdpr
Quando ricevi una richiesta di diritti GDPR:
Diritto di accesso / Portabilità:
→ GDPR → identifica la persona
→ Esporta tutti i dati associati alla loro email/ID
→ Invia i dati in formato strutturato (JSON/CSV)
→ Termine legale: 30 giorni dal ricevimento della richiesta
Diritto alla cancellazione (diritto all'oblio):
→ GDPR → Richiesta di Cancellazione → inserisci email
→ Il sistema anonimizza: sostituisce i dati personali con [ELIMINATO]
→ La cronologia delle transazioni rimane (per obblighi legali fiscali)
→ Documenta la richiesta e la data di elaborazione
Password Manager Team
Dove: /admin/team_password
Conserva in modo sicuro le password condivise del team (accessi social media, account servizi esterni, credenziali condivise, ecc.):
- Password organizzate per categoria
- Accesso controllato per ruolo/dipartimento
- Visibilità separata dalle password personali dei dipendenti
Indicatori di salute del sistema
| Indicatore | Segnale positivo | Segnale di allarme |
|---|---|---|
| Cron last_run | Aggiornato entro < 2 min | > 5 min → cron fermato |
| Coda email | 0 email bloccate | > 10 → problema SMTP |
| Tasso errore API | < 1% delle richieste | > 5% → verificare l'integrazione |
| Tasso consegna webhook | > 99% | < 95% → problema URL destinazione |
| Utenti con 2FA | 100% admin | Qualsiasi admin senza 2FA |
| Account attivi senza login > 90 giorni | 0 | Qualsiasi account sospettosamente inattivo |
Consigli pratici
Il principio del minimo privilegio è la tua protezione. Se un dipendente ha accesso a qualcosa e commette un errore, sei responsabile per aver concesso quell'accesso. Configura i ruoli in modo restrittivo e adegua al bisogno — non permissivo e limita dopo.
Mai
admin = 1per gli account di servizio. I token API e gli account di integrazione dovrebbero essere Personale normale con ruoli limitati — non Super Admin. Un token compromesso con diritti admin è catastrofico.
Testa SMTP dopo ogni cambio di credenziali. Credenziali SMTP errate significano che la piattaforma non invia email (fatture, notifiche, reset password) — e non lo saprai immediatamente. Il pulsante Test invia un'email di verifica.
Documenta ogni token API creato. Usa nomi chiari: "Make.com - Lead 2026" non "Token 1". Quando devi revocare o sostituire, sai esattamente cosa è interessato.
Backup prima di qualsiasi import di grandi dimensioni. Un import errato di 10.000 righe è difficile da annullare. 5 minuti di backup risparmiano ore di pulizia manuale.