Panoramica
Process Builder di Salesforce è uno strumento grafico intuitivo che consente di automatizzare le azioni in base all’attivazione di eventi nell’ambiente Salesforce.
I processi vengono creati secondo un flusso logico di tipo “se/allora” e contengono un evento trigger (attivatore), almeno una condizione e almeno un’azione che può verificarsi in tempo reale e/o come evento pianificato.
Adobe Sign supporta due tipi di azioni: Aggiornamento di record e Apex.
A ogni tipo di azione sono associate diverse azioni richiamabili:
- Invia
- Annulla
- Elimina
- Promemoria
- Aggiorna
- Carica (modello) è disponibile solo per il tipo di azione Apex.
Process Builder è uno strumento molto potente; una descrizione completa del suo funzionamento va oltre l’ambito di questo documento.
In questo documento vengono evidenziate le azioni disponibili tramite la versione 20 del pacchetto Adobe Sign per Salesforce.
Per saperne di più su Process Builder in generale, consulta la sua documentazione e la pagina Trailhead interattiva disponibile sul sito di Salesforce.
Processi che utilizzano il tipo di azione “Aggiornamento record”
Questo approccio utilizza il tipo di azione Aggiorna record in Salesforce Process Builder per impostare il campo di elenco a discesa Background Action (Azione in background) sul record dell’accordo per richiamare un’azione.
È possibile creare un nuovo processo (attivato da eventi di modifica del record) che può quindi richiamare un’azione su un dato accordo Adobe Sign. Gli utenti possono controllare quando verrà eseguita l’azione (ovvero dopo quale aggiornamento di campo sul record principale) e quali accordi vengono selezionati per l’azione.
Attualmente sono supportate le seguenti azioni:
- Invia
- Annulla
- Elimina
- Promemoria
- Aggiorna
Aspetti di cui tenere conto:
- Eventuali errori rilevati durante il processo verranno memorizzati nel campo Messaggio di errore e possono essere visualizzati nella pagina Accordo corrispondente.
- Sono supportate le azioni pianificate.
- Sono supportati i documenti libreria di Adobe Sign.
- È possibile selezionare uno o più accordi principali o secondari.
- Quando si aggiorna un record di accordo, il record correlato è l’oggetto echosign_dev1.
- L’oggetto echosign_dev1 è associato agli oggetti Salesforce comuni (Account, Opportunità, Referente e così via). Se gli accordi sono correlati a un oggetto personalizzato, tale nome sarà univoco per l’organizzazione.
- Le azioni vengono attivate aggiornando il campo di elenco a discesa Background Action (Azione in background) nel record dell’accordo con il valore azione corrispondente.
- Il record dell’accordo deve essere già presente. Non può essere creato o caricato da un modello di accordo utilizzando un tipo di azione “Aggiorna record”.
Processi che utilizzano il tipo di azione Apex
Questo approccio utilizza il tipo di azione Apex in Salesforce Process Builder per richiamare un metodo richiamabile incluso nel pacchetto gestito per eseguire l’azione corrispondente.
È possibile creare un nuovo processo (attivato da eventi di modifica del record) che può quindi richiamare un’azione su un dato accordo Adobe Sign.
Sono state definite le seguenti azioni richiamabili:
- Azione richiamabile Caricamento modello di accordo
- AgreementTemplateLoadInvocableAction.load
- Passa il modello e l’ID principale, ed eventuali variabili di runtime.
- Passa un parametro opzionale per controllare se la generazione del modello viene eseguita in modalità asincrona.
- È obbligatorio se il modello contiene un documento dalla libreria di Adobe Sign.
- Restituisce l’ID record dell’accordo generato o un messaggio di errore.
- L’errore non è visibile agli utenti che eseguono l’azione trigger.
- AgreementTemplateLoadInvocableAction.load
Quando si richiama la classe Load Agreement Type (Carica tipo di accordo), sono disponibili quattro opzioni di campo configurabili:
- Master Record ID (ID record principale): ID del record Salesforce dell’oggetto a cui deve essere correlato l’accordo.
- In genere viene impostato sul tipo Field Reference (Riferimento campo) e il valore “[Object].Id” dove l’oggetto è Opportunità, Account, ecc.
- Agreement Template Id (ID modello di accordo): ID del record Salesforce per il modello di accordo da caricare. Imposta il tipo su “ID” e il valore sull’ID del record.
- Agreement Template Runtime Variables (Variabili runtime per modello di accordo): destinatari e/o documenti da una variabile.
- Una variabile: myRecipient=auserguy@adobe.com
- Due variabili: myRecipient=auserguy@adobe.com,myAttachment=00Pf4000002df0q
- Async Processing (Elaborazione asincrona): facoltativo, da specificare solo se necessario. Per impostazione predefinita, questo valore è impostato su False e la chiamata del modello viene eseguita in modalità sincrona (come transazione/thread).
- Impostalo su True se il modello di accordo carica un documento libreria di Adobe Sign.
- Assicurati che il valore sia False se AutoSend è impostato su True per il modello.
- Non è possibile impostare l’invio automatico con i documenti libreria di Adobe Sign.
- Tieni presente le limitazioni incorporate in Salesforce se il processo viene richiamato da un processo batch o un altro processo asincrono.
- Azione richiamabile Annullamento accordo
- AgreementCancelInvocableAction.cancelAgreement
- Passa l’ID dell’accordo.
- Restituisce un messaggio di errore.
- AgreementCancelInvocableAction.cancelAgreement
- Azione richiamabile Eliminazione accordo
- AgreementDeleteInvocableAction.deleteAgreement
- Passa l’ID dell’accordo.
- Restituisce un messaggio di errore.
- AgreementDeleteInvocableAction.deleteAgreement
- Azione richiamabile Promemoria accordo
- AgreementRemindInvocableAction.sendReminder
- Passa l’ID dell’accordo.
- Restituisce un messaggio di errore.
- AgreementRemindInvocableAction.sendReminder
- Azione richiamabile Invio accordo
- AgreementSendInvocableAction.sendAgreement
- Passa l’ID dell’accordo.
- Restituisce un messaggio di errore.
- AgreementSendInvocableAction.sendAgreement
- Azione richiamabile Aggiornamento accordo
- AgreementUpdateInvocableAction.updateAgreement
- Passa l’ID dell’accordo.
- Restituisce un messaggio di errore.
- AgreementUpdateInvocableAction.updateAgreement
Le azioni Annulla, Elimina, Promemoria, Invia e Aggiorna richiedono solo l’ID dell’accordo in questione:
Aspetti di cui tenere conto:
- Sono supportate le azioni pianificate.
- Sono supportati i modelli di accordo con invio automatico (ovvero “genera e invia”).
- Tutte le azioni possono accettare più richieste in una singola chiamata.
- Eventuali eccezioni vengono rilevate e memorizzate nel record dei risultati e registrate come errore nel registro di debug Apex per evitare che blocchino l’esecuzione del processo.
- Il parametro della funzione Carica modello (Elaborazione asincrona) controlla se l’elaborazione del modello avviene in modalità sincrona o asincrona. Il chiamante deve specificare se il caricamento del modello deve essere eseguito in modalità sincrona o asincrona.
- Il processo predefinito viene eseguito in modalità sincrona. La maggior parte dei processi richiede la modalità sincrona.
- Se è abilitato l’invio automatico, il processo deve essere in modalità sincrona.
- Il processo asincrono è necessario tipicamente quando si deve caricare un documento libreria di Adobe Sign.
Limitazioni:
- La combinazione di modelli con Invio automatico e documenti libreria di Adobe Sign non è supportata a causa di una limitazione presente in Salesforce, per via della quale un thread non può avviare un altro thread.
- Per tutti i parametri passati all’azione richiamabile, è possibile fare riferimento solo ai campi principali (non a quelli secondari). Non è possibile intraprendere azioni su accordi secondari di un record principale.
- I valori restituiti da una chiamata Apex non possono essere utilizzati in Process Builder. Non sono supportate le azioni che restituiscono un valore (come “ottieni informazioni documento” o “ottieni URL per firma”).
Servizio per coda
È stato implementato un nuovo livello di servizio per richiamare le azioni per gli accordi tramite l’interfaccia di coda di Salesforce. Per ulteriori informazioni sul servizio di coda, consulta questo articolo. Le azioni richiamano le API del servizio di base che a loro volta richiamano le API di Adobe Sign.
Sono supportate le seguenti azioni:
- Invia
- Annulla
- Elimina
- Promemoria
- Aggiorna
Il servizio globale echosign_dev1.AdobeSignApiQueueableService è la classe di servizio Apex che utilizza un parametro di tipo echosign_dev1.QueueableServiceParameter contenente l’azione da richiamare e l’ID del record dell’accordo:
echosign_dev1.AdobeSignApiQueueableService.QueueableServiceParameter param = new echosign_dev1.AdobeSignApiQueueableService.QueueableServiceParameter(); param.actionType = EchoSignApiService.ACTION_TYPE.AGREEMENT_REMIND; param.agreementId = 'a0I0S000000KwkaUAC'; ID jobID = System.enqueueJob(new echosign_dev1.AdobeSignApiQueueableService(param));