Svennis Partner Zoho Italia LogoSvennis
Guida CRM
Zoho CRM
Widget
JS SDK

Widget su misura in Zoho CRM: quando servono e come si sviluppano

Un widget su misura in Zoho CRM serve solo quando configurazione ed estensioni pronte non bastano. Ecco come riconoscerlo, svilupparlo, pubblicarlo e mantenerlo.

Svennis Cloud Solutions

Zoho Premium Partner
15 ottobre 202610 min di lettura
Widget su misura in Zoho CRM: quando servono e come si sviluppano

Widget su misura in Zoho CRM: quando conviene, in breve

Un widget su misura in Zoho CRM conviene quando né la configurazione standard né un'estensione già pronta mostrano o raccolgono un dato nel punto esatto del processo in cui serve. Se bastano un campo, un layout, una regola workflow o un Blueprint, il widget diventa solo codice in più da mantenere.

Un widget di Zoho CRM è un componente personalizzato che si aggiunge al CRM per estenderne le funzioni, mostrare dati aggiuntivi o collegare servizi esterni. Questa è la definizione che Zoho stessa dà nella sua guida Kaizen #95 sui widget nei Blueprint. Si sviluppa con il widget SDK di Zoho, cioè il kit di sviluppo che permette di integrare applicazioni web direttamente nel CRM.

La regola pratica è semplice. Prima si esaurisce ciò che il CRM offre senza codice, poi si valuta un'estensione esistente, e solo alla fine si scrive un widget. Quando il widget serve davvero, va progettato fin dall'inizio per essere letto, aggiornato e sostituito da qualcuno che non l'ha scritto.

Questa guida spiega dove può comparire un widget, come scegliere tra le tre strade, come si sviluppa un caso concreto in un Blueprint e quali limiti tecnici rispettare.

Dove può comparire un widget in Zoho CRM

Un widget di Zoho CRM può comparire in molti punti dell'interfaccia, non solo in una scheda dedicata. La pagina di Zoho Kaizen #147 con le domande frequenti sui widget elenca questi punti di inserimento:

  • come web tab, cioè una scheda propria nella barra dei moduli;
  • al clic su un pulsante;
  • come elenco correlato personalizzato nella pagina di un record;
  • come elemento di una dashboard;
  • nella pagina delle impostazioni;
  • durante le transizioni di un Blueprint;
  • nelle notifiche dei segnali di vendita;
  • come componente di un wizard;
  • come estensione di telefonia;
  • dentro pop-up e call-out aperti da un Client Script.

La scelta del punto di inserimento è la prima decisione di progetto. Un widget in un elenco correlato viene visto da chiunque apra il record. Un widget in una transizione Blueprint compare solo a chi esegue quel passaggio, nel momento in cui lo esegue.

Il punto di inserimento determina anche quali dati il widget riceve dalla pagina. Per questo conviene deciderlo prima di scrivere una riga di codice, non dopo.

Configurazione standard, estensione del Marketplace o widget: come scegliere

La scelta tra configurazione standard, estensione del Marketplace e widget su misura dipende da quanto è specifico il bisogno e da chi si occuperà della manutenzione. La tabella confronta le tre strade sui criteri che contano per chi decide.

CriterioConfigurazione standardEstensione del MarketplaceWidget su misura
Quando usarlaIl bisogno si copre con campi, layout, regole, BlueprintUn'estensione esistente copre il caso senza forzatureIl dato o l'interazione richiesti non esistono altrove
Chi la mantieneL'amministratore del CRML'autore dell'estensioneChi ha il codice sorgente, interno o esterno
Competenze necessarieConfigurazione, nessun codiceInstallazione e impostazioneHTML, JavaScript, JS SDK di Zoho
Rischio dopo gli aggiornamentiBasso, gestito da ZohoDipende dall'autoreA carico Suo, da verificare a ogni modifica
Adattamento al processoEntro le opzioni disponibiliEntro le opzioni dell'estensioneCompleto

La configurazione standard copre più casi di quanto si pensi. Per esempio, Zoho CRM offre il mascheramento dei campi per nascondere i dati sensibili dei clienti ai team che non ne hanno bisogno, senza alcuno sviluppo. Prima di commissionare un widget, conviene rileggere una checklist di configurazione di Zoho CRM e verificare che l'opzione nativa non esista già.

Segnali che un widget su misura serve davvero

Un widget su misura serve davvero quando un utente deve vedere o decidere qualcosa che le opzioni native non sanno presentare. L'esempio della guida Kaizen #95 lo mostra bene. Le opzioni integrate del Blueprint non possono aprire un pop-up con lo storico dei prestiti precedenti di un cliente, quindi Zoho associa alla transizione un widget personalizzato.

Tre segnali ricorrono spesso:

  • l'utente deve consultare dati di più moduli o di un sistema esterno prima di una decisione;
  • l'interazione richiede un'interfaccia che i layout non offrono, come una mappa o un dial pad;
  • il passaggio deve bloccarsi finché l'utente non ha verificato quei dati.

La telefonia è un caso tipico. Quando un'organizzazione Zoho CRM non dispone di un'estensione di telefonia nativa, i listener Dial e DialerActive permettono di caricare un'app di telefonia di terze parti dentro il widget. Un listener è una funzione che resta in ascolto di un evento della pagina. DialerActive, al clic sull'icona del telefono accanto al numero di un record, carica quel numero sul dial pad esterno.

Al contrario, un widget non serve se il bisogno è solo estetico o se una regola workflow ottiene lo stesso risultato. In quei casi il codice aggiunge rischio senza aggiungere valore.

Esempio pratico: un widget di verifica in una transizione Blueprint

Un widget in una transizione Blueprint è l'esempio più utile per capire il ciclo completo. Un Blueprint di Zoho CRM è uno strumento che definisce un processo a stati: un record passa allo stato successivo solo se soddisfa la condizione prevista, altrimenti resta dov'è. Il pulsante di transizione sta tra due stati, contiene la condizione e guida il flusso.

Il caso della guida Kaizen #95 riguarda la valutazione di una richiesta di prestito. Prima di approvare, l'operatore deve vedere lo storico del cliente. Il widget chiamato "Check Profile" mostra quei dati e, se l'operatore conferma, completa la transizione.

I passaggi in Zoho CRM sono questi:

  1. aprire Setup > Developer Space > Widgets e scegliere Create New Widget;
  2. caricare il pacchetto del widget e pubblicarlo;
  3. aprire il Blueprint e selezionare la transizione interessata;
  4. nella sezione During della transizione, scegliere Add > Widgets e selezionare "Check Profile";
  5. salvare e pubblicare il Blueprint, poi provarlo su un record di test.

Dentro il widget, la funzione ZOHO.CRM.BLUEPRINT.proceed() del JS SDK esegue la transizione. Per leggere altri record, il JS SDK offre helper per le API di Zoho CRM. Nell'esempio di Zoho la lettura dei record correlati usa page: 1, per_page: 200, cioè fino a 200 record per pagina.

Il codice minimo di un widget di verifica per il Blueprint

Il codice minimo di un widget di verifica carica il JS SDK, riceve i dati della pagina e completa la transizione al clic. Il file qui sotto va salvato come pagina HTML principale del pacchetto del widget, quello che si carica in Developer Space. Il JS SDK si include con l'URL CDN indicato da Zoho nella sezione head.

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <script src="https://live.zwidgets.com/js-sdk/1.2/ZohoEmbededAppSDK.min.js"></script>
</head>
<body>
  <p>Verifica i dati prima di proseguire:</p>
  <pre id="dati"></pre>
  <button id="conferma">Conferma e prosegui</button>
  <script>
    // Riceve i dati della pagina, ad esempio modulo e ID del record
    ZOHO.embeddedApp.on("PageLoad", function (data) {
      document.getElementById("dati").textContent = JSON.stringify(data, null, 2);
    });

    // Completa la transizione del Blueprint quando l'operatore conferma
    document.getElementById("conferma").addEventListener("click", function () {
      ZOHO.CRM.BLUEPRINT.proceed();
    });

    // Avvia la comunicazione tra il widget e Zoho CRM
    ZOHO.embeddedApp.init();
  </script>
</body>
</html>

Le righe da adattare sono poche. Il testo del paragrafo e del pulsante va scritto nella lingua degli operatori. Il blocco PageLoad oggi mostra i dati grezzi della pagina: in un progetto reale lo si sostituisce con la lettura dei record necessari tramite gli helper API del JS SDK. Il gestore del clic è il punto in cui aggiungere eventuali controlli prima di chiamare ZOHO.CRM.BLUEPRINT.proceed().

Widget e Client Script: passare dati e chiudere i pop-up

Un widget di Zoho CRM può essere aperto da un Client Script in un pop-up o in un call-out. Un Client Script è un codice JavaScript che Zoho CRM esegue nel browser in risposta a eventi della pagina, come l'apertura o il salvataggio di un record. La combinazione serve quando il widget deve comparire solo a certe condizioni.

La guida Kaizen #147 descrive tre meccanismi di comunicazione:

  • dal Client Script al widget, registrando il listener Notify con ZOHO.embeddedApp.on;
  • dal widget al Client Script, registrando il listener NotifyAndWait, che attende una risposta;
  • la chiusura del widget al clic di un pulsante, con il metodo ZOHO.CRM.UI.Popup.close().

Nei Client Script si può usare anche ZRC, cioè Zoho Request Client, un insieme di metodi per effettuare richieste dallo script. Conviene decidere con chiarezza quale dei due componenti esegue le chiamate e quale mostra soltanto l'interfaccia, così da non duplicare la logica.

Un dettaglio utile riguarda la visualizzazione. Zoho ha segnalato come risolto un problema di altezza dei widget nei pop-up e nei flyout aperti da Client Script, come riportato nel thread della community sui widget per dispositivi mobili. Se un widget appariva tagliato in passato, vale la pena ricontrollarlo prima di intervenire sul codice.

Limiti tecnici di un progetto widget: file, dimensioni e framework

Un progetto widget di Zoho CRM ha limiti precisi su numero e dimensione dei file. Secondo la guida Kaizen #147, i valori sono questi:

LimiteValore
File per progetto250
Dimensione massima del progetto25 MB
Dimensione massima di un singolo file5 MB

I widget di Zoho CRM si possono costruire con qualsiasi framework lato client, React JS compreso. La libertà ha un costo: un framework pesante consuma rapidamente il limite di 25 MB e aggiunge dipendenze da aggiornare. Per un widget di verifica come quello dell'esempio, HTML e JavaScript semplici bastano e restano leggibili.

L'accesso da dispositivi mobili richiede una valutazione a parte. Nel thread della community sui widget per mobile, un utente chiedeva come tenere fuori dal CRM un widget con Google Maps, pensato soprattutto per chi lavora in mobilità, usando comunque il JS SDK per collegarsi al CRM e gestire l'autenticazione. Se il Suo widget servirà agli agenti sul campo, lo provi su telefono fin dal primo prototipo.

Un progetto widget sta in 250 file e 25 MB, con al massimo 5 MB per singolo file: File per progetto 250 file, Dimensione massima del progetto 25 MB, Dimensione massima di un singolo file 5 MB
Fonte: help.zoho.com

Progettare un widget manutenibile: documentazione, interfaccia e responsabilità

Un widget manutenibile è un widget che una persona diversa dall'autore può capire, aggiornare e spegnere senza rischi. Il codice è la parte facile. La parte difficile è sapere, due anni dopo, dove compare il widget, quali dati legge e chi deve intervenire se smette di funzionare.

Per ogni widget, in Svennis prepariamo una breve scheda che indica il punto di inserimento, le API chiamate, i campi letti e scritti e il responsabile della manutenzione. Senza questa scheda vediamo spesso widget che nessuno osa toccare dopo una modifica al modulo da cui dipendono.

Tre scelte di progetto riducono il lavoro futuro:

  • un widget con un solo scopo, invece di un pannello che fa tutto;
  • un'interfaccia coerente con quella di Zoho, tema su cui gli sviluppatori chiedono indicazioni anche nel thread della community sullo stile dei componenti dei widget;
  • il codice sorgente in un archivio dell'azienda, non solo nel pacchetto caricato nel CRM.

Anche lo sviluppo assistito dall'AI va governato. Zoho ha introdotto una skill zoho-crm, un file SKILL.md, che aiuta a lavorare con API, funzioni, widget, Client Script e query in strumenti come Claude Code, Codex, Cursor e VSCode. Il codice generato va comunque revisionato e documentato come quello scritto a mano.

Cosa significa un widget su misura per un'azienda italiana

Per un'azienda italiana, un widget su misura in Zoho CRM ha senso soprattutto quando il processo usa dati esterni al CRM. Il caso più comune è il gestionale. Prima di mostrare giacenze o condizioni commerciali in un widget, si chieda se quei dati debbano invece arrivare nel CRM. In quel caso serve un'integrazione, come l'integrazione tra SAP Business One e Zoho CRM.

La distinzione è importante. Un'integrazione copia i dati nel CRM, dove report e automazioni possono usarli. Un widget li mostra al momento, ma non li rende disponibili al resto del sistema. Se il dato serve a una regola o a un report, il widget da solo non basta.

Il secondo tema è la lingua. Un widget su misura non eredita le traduzioni dell'interfaccia di Zoho. Testi, messaggi di errore e pulsanti vanno scritti in italiano dal progetto stesso. Il terzo tema riguarda i dati personali. Se il widget mostra informazioni sensibili, valuti prima il mascheramento dei campi già disponibile in Zoho CRM. Così il widget non espone ciò che il profilo dell'utente non dovrebbe vedere.

Alcuni settori hanno processi molto specifici, come la gestione commerciale nella manifattura. Lì i widget compaiono più spesso nelle fasi di verifica tecnica che nella vendita vera e propria.

Se il dato serve a report o regole conviene l'integrazione, se serve solo a vederlo basta il widget. Integrazione / Widget su misura. Dove stanno i dati: Copiati nel CRM / Letti al momento dal sistema esterno; Chi li usa: Report, automazioni e utenti

Prossimi passi per decidere e avviare un widget su misura

Il primo passo per decidere su un widget su misura in Zoho CRM è descrivere il bisogno senza parlare di tecnologia. Scriva in una frase quale utente deve vedere o fare cosa, in quale punto del processo e con quali dati.

Poi proceda in quest'ordine:

  1. verifichi se campi, layout, regole workflow o Blueprint coprono il bisogno;
  2. cerchi un'estensione esistente e ne valuti l'autore e gli aggiornamenti;
  3. se resta solo il widget, scelga il punto di inserimento tra quelli elencati da Zoho;
  4. prepari la scheda con dati letti, API chiamate e responsabile della manutenzione;
  5. sviluppi un prototipo minimo, come il widget di verifica di questa guida, e lo provi su un record di test.

Se il widget fa parte di un progetto più ampio, conviene inquadrarlo nell'implementazione complessiva di Zoho CRM, insieme a moduli, processi e integrazioni. Nella stessa pagina trova come avviare un confronto sul Suo caso concreto. Se usa anche altri prodotti della suite, la pagina su Zoho CRM Plus aiuta a capire quali funzioni sono già disponibili senza sviluppo.

Fonti

Ti è stato utile? Condividilo

LinkedInPost
Logo Svennis Cloud Solutions

Svennis Cloud Solutions

Premium Partner

Zoho Premium Partner dal 2011 con oltre 200 implementazioni di successo in Europa. Siamo specializzati in implementazione CRM, integrazioni personalizzate e automazione dei processi aziendali, aiutando le aziende italiane ed europee a sfruttare al massimo l'ecosistema Zoho.

Zoho Premium Partner - Dal 2011

Pronto a Trasformare la Tua Azienda?

Parliamo di come Zoho può ottimizzare i tuoi processi aziendali. Prenota una consulenza gratuita con il nostro team - senza impegno, solo consigli onesti basati su oltre 200 implementazioni.