Assignment Rule è un meccanismo disponibile per Lead e Case che crea delle regole automatiche ed assegnare i record a diverse “queue”.

Quando scattano le Assignment Rule?

Le assignment rule scattano automaticamente per: web-to-lead, web-to-case e email-to-case, per tutti gli altri casi è necessario forzare il processo per cui le assignment rules scattano.

Come fare quindi? 

Esistono diverse soluzioni!

Nel caso in cui si decida di inserire il lead o il case manualmente, nella schermata di inserimento esiste l’opzione “assign using active assignment rule”, se selezionata questa opzione farà scattare l’assignment rule.

 Alcune volte l’opzione potrebbe non essere presente, in questo caso si può sempre inserire dal pannello di modifica del Page Layout.

Nel caso in cui si decida di inserire lead o case attraverso dei software di bulk è consigliato usare i seguenti:

  1. Data Import Wizard utilizzabile soltanto per i Lead e non per i case. In questo caso durante il processo di inserimento dei dati è possibile scegliere se utilizzare o meno l’assignment rule.
  2. Se si utilizza data loader è possibile configurare il tool affinché faccia scattare la assignment rule desiderata.
    Per configurare il data loader (bisogna farlo ogni volta che si cambia ambiente e/o validation rule), è necessario inserire l’id della Assignment Rule che si vuole far scattare nel menu Setting e incollare l’id nell’apposita dicitura.

Come abbiamo visto utilizzare Import Wizard non è possibile per i Case, mentre nel caso di data loader il fatto di dover cambiare per ogni ambiente l’id della Assignment Rule può portare facilmente ad errori.

Come fare se si ha bisogno di far scattare l’assignment rule ogni volta che un record viene inserito?

Si utilizza Apex. Esiste uno snippet che potrà essere inserito nel trigger After Insert e che forzerà l’assignment rule a scattare.

Ecco di seguito uno snippet valido per l’oggetto lead:

       Database.DMLOptions dmlOption = new Database.DMLOptions();

       dmlOption.assignmentRuleHeader.useDefaultRule = true;

       List<Lead> leadsToUpdate = new List<Lead>();

       for(Lead lead : (List<Lead>)records) {

           Lead currentLead = new Lead(Id = lead.Id);

           currentLead.setOptions(dmlOption);

           leadsToUpdate.add(currentLead);

       }

       update leadsToUpdate;

Come si può vedere il codice effettua un ciclo su tutti i lead inseriti e pone a true la dml Option “useDefaultRule” a true.

In questo modo siamo sicuri che la assignment rule desiderata scatterà sempre, non importa quale tool o processo utilizziamo.

Se si sceglie questo metodo bisogna tenere in considerazione che l’assignment rule scatterà sempre, ma proprio SEMPRE anche quando un lead viene inserito manualmente!

A voi decidere qual è la soluzione migliore per il vostro progetto!


0 commenti

Lascia un commento

Segnaposto per l'avatar

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *