15.7 Sincronizzazione con Zapier
Zapier è un prodotto che consente agli utenti finali di integrare le applicazioni Web ed automatizzare i flussi di lavoro. Permette di connettere diverse applicazioni web tra loro attraverso gli “ZAP”, che possono essere personalizzati a seconda delle esigenze dell'utente. Zapier funziona quindi come un ponte tra diverse applicazioni, consentendo di automatizzare i processi aziendali e di risparmiare tempo prezioso.
Questa pagina spiega come configurare l'integrazione con vtenext all'interno di Zapier e successivamente mostra 2 esempi di utilizzo.
Come creare un'integrazione con vtenext in Zapier
1. Come prima cosa è necessario andare su https://developer.zapier.com/ effettuare l'accesso con le proprie credenziali Zapier, e cliccare su "Start a Zapier Integration"
2. E' poi necessario compilare tutti i campi che la schermata di Zapier ci chiede.
Esempio:
Name: vtenext
Description: Integra vtenext con Zapier
Audience: Private
Role: I have no affiliation with...
Category: CRM
3. Dopo un messaggio di salvataggio eseguito e creazione avvenuta con successo, sarà possibile configurare il tipo di Autenticazione
Dovrà essere selezionato BASIC AUTH e conseguentemente clicchiamo su SAVE
STEP 1: lasciare vuoto e cliccare su CONTINUE
STEP 2: inserire nel test, il metodo post e configurare l'url la seguente stringa https://VTE-URL/restapi/v1/vtews/listtypes (dove VTE-URL è l'indirizzo assoluto della vostra installazione vtenext)
STEP 3: è giunto il momento di testare l'autenticazione, cliccando sul bottone azzurro "Sign In" e cliccando infine su SAVE & FINISH.
ATTENZIONE: la password da usare è l'accesskey dell'utente vtenext, che trovate nelle preferenze dell'utente stesso.
4. Creazione di un trigger
Questo passaggio è opzionale, è necessario solamente se si vogliono scatenare azioni lato Zapier quando in vtenext si verifica una qualche condizione (ad esempio alla creazione di un Lead o da qualsiasi altra condizione scatenata da un processo).
Aggiungiamo quindi un trigger come segue:
Cliccando sul pulsante CREATE A TRIGGER, verrà presentata una schermata con alcuni campi da compilare. Tali campi andranno gestiti in base a ciò che si vuole ottenere dal trigger stesso (nell'esempio si tratta di intercettare la creazione di un nuovo Lead).
Una volta compilati tutti i campi, cliccare su SAVE & CONTINUE in fondo alla pagina sulla destra.
Subito dopo comparirà la seguente pagina, dove sarà necessario cliccare su API CONFIGURATION per creare un web hook.
Allo STEP 1 vanno scelti i seguenti parametri:
SUBSCRIBE
- REST Hook (è sufficiente selezionarlo)
- POST (si seleziona dal menu a tendina la voce POST e poi si scrive il web hook seguente, sostituendo VTE-URL con il corretto indirizzo del proprio crm)
https://VTE-URL/restapi/v1/vtews/zapier.subscribe
{"module":"Leads","hookUrl":"{{bundle.targetUrl}}","zapid":"{{bundle.meta.zap.id}}"}
In questo codice, è possibile sostituire Leads con il modulo che si desidera configurare.
Continuando la configurazione, scrollando in basso la pagina, troviamo l'opzione UNSUBSCRIBE, che dovrà essere configurata col seguente codice
https://labs2.vtecrm.net:8443/restapi/v1/vtews/zapier.unsubscribe
{{bundle.subscribeData.id}}
Continuando sul parametro PERFORM LIST, si dovrà configurare il seguente codice
https://VTE-URL/restapi/v1/vtews/zapier.perform_list
Leads
Infine su PAGINATION non c'è nulla da configurare e si clicca su SAVE API Request & Continue.
Allo STEP 2 della configurazione del Trigger, non va configurato nulla.
Allo STEP 3 della configurazione del Trigger, è necessario lasciare vuoto il campo presente in quel blocco.
5. Creazione di azioni
Anche in questo caso, questo passaggio è opzionale, serve solamente se si vogliono scatenare azioni lato vtenext quando Zapier verifica le condizioni impostate. Le azioni eseguibili in vtenext sono: ricerca di un record, creazione, modifica o cancellazione.
E' possibile inoltre creare solamente le azioni necessarie alla propria integrazione.
I. Azione Ricerca
Sulla colonna di sinistra, va cliccata la voce ACTIONS e subito dopo sul bottone ADD ACTION presente invece sulla destra.
Si aprirà la seguente schermata che andrà compilata come mostrato
Finito di compilare i campi come mostrato nella precedente immagine, sarà possibile cliccare su SAVE AND CONTINUE. In questo modo si potrà passare alla TAB successiva per configurare l'INPUT DESIGNER.
In questa schermata, si dovrà cliccare su ADD e scegliere INPUT FIELD e comparirà la schermata di configurazione successiva
Inserire le variabili indicate negli appositi campi e cliccare dunque sul pulsante SAVE e si passa alla TAB di API CONFIGURATION
In questa schermata dovranno essere inserite le variabili come mostrato, chiaramente al posto di VTE-URL andrà inserito l'indirizzo completo della vostra installazione vtenext. Infine cliccare su SAVE API REQUEST & CONTINUE.
https://VTE-URL/restapi/v1/vtews/zapier.search
SELECT id FROM Leads WHERE email='{{bundle.inputData.email}}';
Nello STEP 2, fase TEST di questa pagina, andrà inserito un indirizzo email per effettuare alcuni test di connessione (l'indirizzo dovrà essere valido ed esistente).
Alla TAB OUTPUT invece, è necessario:
- utilizzare la risposta dai dati del test
- generare definizioni dei campi di output
- impostare il tipo appropriato per i campi
Infine cliccare su SAVE OUTPUT & FINISH in basso a destra.
II. Azione Crea
Cliccare sempre ADD ACTION per creare una nuova azione e compilare la prima schermata come segue:
Cliccare SAVE AND CONTINUE e passare alla TAB successiva per configurare l'INPUT DESIGNER, in cui va aggiunto un nuovo INPUT FIELD configurato come segue:
Cliccare su SAVE e passare al tab API Configuration e configurare i parametri nello STEP 1 nel seguente modo:
https://VTE-URL/restapi/v1/vtews/zapier.create
module = Leads
data = {{bundle.inputData.dataField}}
Ovviamente VTE-URL va sostituito con l'indirizzo completo della vostra installazione vtenext, mentre il termine "Leads" può essere sostituito con un altro modulo, se si desidera creare una entità diversa in vtenext (ad esempio Contacts o Accounts). Infine cliccare su SAVE API REQUEST & CONTINUE.
Nello STEP 2, per effettuare un test di creazione lead scegliere "Raw" e sostituire il codice presente con il seguente:
{
"inputData": {
"dataField": {
"firstname":"Test lead",
"lastname":"Zapier",
"phone":"123456789",
"company":"Test Company Zapier"
}
},
"authData": {},
"environment": {},
"subscribeData": {},
"cleanedRequest": {
"url": "https://example.com/hook-request-origin",
"method": "POST",
"body": {},
"headers": {
"Content-Type": "application/json"
}
}
}
e cliccare su Test Your Request, che dovrebbe dare esito positivo e un Lead con nome "Test Lead" e cognome "Zapier" dovrebbe essersi creato nella vostra installazione vtenext. Cliccare Finish Testing & Continue.
Nello STEP 3 cliccare su Use Response from Test Data e poi Generate Output Field Definitions per mappare automaticamente i campi restituiti. Cliccare infine su Save Output & Finish.
III. Azione Aggiorna
Cliccare sempre ADD ACTION per creare una nuova azione e compilare la prima schermata come segue:
Nella schermata di INPUT DESIGNER creare 2 campi di tipo Input Field, con le seguenti caratteristiche:
- Key = id, Label = ID, Type = String, Required = yes
- Key = dataField, Label = dataField, Type = Dictionary, Required = no
Una volta creati avremo quindi i seguenti campi:
Passare quindi al tab API Configuration e configurare i parametri nello STEP 1 nel seguente modo:
https://VTE-URL/restapi/v1/vtews/zapier.update
id = {{bundle.inputData.id}}
data = {{bundle.inputData.dataField}}
Sostituendo VTE-URL con l'indirizzo completo della vostra installazione vtenext. Infine cliccare su SAVE API REQUEST & CONTINUE.
Nello STEP 2, per effettuare un test di modifica lead scegliere "Raw" e sostituire il codice presente con il seguente:
{
"inputData": {
"id": "2x53",
"dataField": {
"phone":"556677"
}
},
"authData": {},
"environment": {},
"subscribeData": {},
"cleanedRequest": {
"url": "https://example.com/hook-request-origin",
"method": "POST",
"body": {},
"headers": {
"Content-Type": "application/json"
}
}
}
e sostituendo il "53" a riga 3 con l'ID di un lead presente in vtenext:
Cliccando su Test Your Request dovreste ottenere un risultato come il seguente:
Infine nello STEP 3 cliccare sempre su Use Response from Test Data e poi Generate Output Field Definitions per mappare automaticamente i campi restituiti. Cliccare infine su Save Output & Finish.
IV. Azione Elimina
Cliccare sempre ADD ACTION per creare una nuova azione e compilare la prima schermata come segue:
Nella schermata di INPUT DESIGNER creare un campo di tipo Input Field, con le seguenti caratteristiche:
Passare quindi al tab API Configuration e configurare i parametri nello STEP 1 nel seguente modo:
https://VTE-URL/restapi/v1/vtews/zapier.delete
id = {{bundle.inputData.id}}
Sostituendo VTE-URL con l'indirizzo completo della vostra installazione vtenext. Infine cliccare su SAVE API REQUEST & CONTINUE.
Nello STEP 2 inserire come valore di test l'ID del Lead che si vuole eliminare in formato webservice, quindi del tipo "2xCRMID", ad esempio:
In questa azione non è necessario configurare lo STEP 3 relativo all'output.
Congratulazioni! La creazione dell'integrazione è completa.
Si può ora passare a configurare degli specifici ZAP per compiere le azioni che si desiderano.
Come creare degli ZAP di esempio
Esempio 1 - Trigger da vtenext e azione in Zapier
in questo esempio proviamo ad inviare un'email alla creazione di un lead in vtenext:
- Andare su https://zapier.com/app/dashboard
- Cliccare su Create
- Trigger: vtenext, event = new lead, account = utilizzare un account valido
- Effettuare un test, si dovrebbe ottenere un Lead, cliccare su Continue with selected record
- Aggiungere una azione, ad esempio Email by Zapier -> Send Outbound Email
- In questa azione configurare i campi ad esempio:
- To: indirizzo email a cui inviare l'email
- Subject: Lead Creato + variabili o campi che si desiderano aggiungere
- Body: Testo dell'email con eventuali variabili
Cliccare su Continue e verificare di aver ricevuto l'email. Cliccare infine su PUBLISH e verificare che lo Zap sia attivo.
Ora, per scatenare il trigger da vtenext è necessario creare un processo al cui interno ci sarà l'azione che invia il record a Zapier.
Nel caso più semplice, il processo può avere questo flusso:
E una delle azioni sarà di tipo "Chiama Web service esterno", e va usato il webservice che si è creato in automatico, e configurato come segue:
Nel campo Corpo grezzo va indicata la seguente stringa:
$sdk:vte_json_record($1-crmid)
dove $1-crmid è il record gestito dal processo da inviare a Zapier
oppure
$sdk:vte_json_field_string($1-crmid, firstname, lastname, phone, ...)
Per mandare solo alcuni campi, potete scegliere quelli che più vi interessano.
Una volta attivato il processo, quando l'azione di invio a Zapier viene eseguita, Zapier riceverà il record e su di esso eseguirà l'azione che è stata configurata nello Zap.
ATTENZIONE: se viene disattivato lo zap e ricreato, va modificato il processo per usare il nuovo ws
Esempio 2 - Trigger da Zapier e azione in vtenext
In questo esempio proveremo a creare un lead in vtenext, quando un'email viene mandata ad un indirizzo di Zapier:
- Andare su https://zapier.com/app/dashboard
- Cliccare su Create
- Trigger: Email by Zapier ->New Inbound Email
- Configurare un prefisso per la casella di posta, ad esempio: testvte.trkbqw@zapiermail.com
- Inviare una email a quell'indirizzo e verificare che Zapier la riceva
- Creare una azione: Vtenext -> Create Lead
- Usare l'account opportuno e configurare i campi da inviare a vtenext, ricordandosi di mappare tutti i campi obbligatori, ad esempio:
- Fare un test per verificare che il lead venga creato correttamente in vtenext.
Cliccare infine su PUBLISH.
A questo punto, inviando delle email a quell'indirizzo di Zapier configurato, si creano lead in vtenext.
Questi sono solamente alcuni esempi che l'integrazione con Zapier può fare, potete provare e collegare trigger e azioni nel modo che volete! Si pensi solamente che, utilizzando i flussi di Zapier, è possibile creare processi complessi, come cercare un record in vtenext e in quel caso aggiornarlo estraendo parti di testo dal corpo dell'email. Ma è solo un esempio che vi fa capire la potenza dello strumento.
Nomi dei campi in vtenext
Nel corso di questa guida sono stati usati i nomi interni dei campi di vtenext. Questi nomi non sono normalmente visibili da interfaccia, perciò è stata predisposta una pagina in cui possono essere visualizzati, per poterli inserire nelle integrazioni.
Per visualizzarli, andare in Impostazioni -> Webservice REST e cliccare su Mostra:
Si aprirà un popup che mostra gli id dei moduli e i nomi dei campi: