Automatizzare le comunicazioni è fondamentale per qualsiasi azienda in crescita, e la capacità di inviare SMS da Google Sheets può sbloccare potenti flussi di lavoro per marketing, notifiche e servizio clienti. Questa guida completa ti accompagnerà attraverso il processo, sfruttando la potenza di Google Apps Script e il gateway SMS affidabile ed economico di MySMSGate per trasformare il tuo foglio di calcolo in un potente hub di comunicazione.
Che tu stia inviando promemoria per appuntamenti, aggiornamenti d'ordine o messaggi di marketing personalizzati, scoprirai quanto sia facile ed economico automatizzare gli SMS direttamente dai dati del tuo Google Sheets, senza bisogno di infrastrutture complesse o costosi servizi di terze parti.
Passo 1: Comprendere le Basi – Perché Automatizzare gli SMS da Google Sheets?
Google Sheets è più di un semplice foglio di calcolo; è un database versatile per molte piccole imprese e startup. L'integrazione dell'invio di SMS direttamente dai tuoi fogli offre numerosi vantaggi:
- Efficienza: Automatizza attività ripetitive come l'invio di notifiche di massa o messaggi personalizzati.
- Comunicazione Basata sui Dati: Utilizza i dati dei clienti esistenti nei tuoi fogli per attivare SMS mirati.
- Convenienza: Evita l'invio manuale, riduci gli errori e scegli un gateway SMS economico come MySMSGate.
- Accessibilità: Gestisci i tuoi contatti e le comunicazioni da una piattaforma familiare e ampiamente disponibile.
- Casi d'Uso: Promemoria appuntamenti, notifiche di consegna, campagne di marketing, OTP, avvisi interni, follow-up del supporto clienti e altro ancora.
Collegando Google Sheets con un gateway SMS come MySMSGate, trasformi i tuoi dati in comunicazioni attuabili, direttamente dal tuo browser.
Passo 2: Inizia con MySMSGate: Il Tuo Gateway SMS Economico
Prima di immergerci nella programmazione, avrai bisogno di un gateway SMS in grado di gestire i tuoi messaggi. MySMSGate offre una soluzione unica e altamente conveniente trasformando i tuoi telefoni Android esistenti in potenti dispositivi di invio SMS. Questo approccio aggira i costosi aggregatori SMS tradizionali ed elimina la necessità di complesse registrazioni del mittente come 10DLC.
- Crea il Tuo Account: Vai su MySMSGate.net e registrati per un account gratuito. Il processo è rapido e non richiede una carta di credito in anticipo.
- Collega il Tuo Telefono Android: Una volta effettuato l'accesso, troverai un codice QR nella tua dashboard. Scarica l'app Android MySMSGate dal Google Play Store sul telefono Android scelto. Apri l'app e scansiona il codice QR dalla tua dashboard. Il tuo telefono si connetterà istantaneamente, pronto per inviare e ricevere messaggi. Puoi collegare un numero illimitato di telefoni a un account, utilizzando il supporto dual SIM se necessario.
- Trova la Tua Chiave API: Affinché Google Apps Script possa comunicare con MySMSGate, avrai bisogno della tua chiave API unica. Puoi trovare questa chiave nella tua dashboard MySMSGate sotto la sezione 'API'. Tienila al sicuro, poiché autentica le tue richieste.
- Ricarica il Tuo Account: MySMSGate opera su un modello pay-as-you-go senza costi mensili o contratti. I messaggi SMS costano solo $0.03 per SMS, con pacchetti disponibili (es. 100 SMS per $3, 500 SMS per $12, 1000 SMS per $20). Aggiungi credito al tuo account per garantire un invio senza interruzioni. Gli SMS falliti vengono automaticamente rimborsati.
MySMSGate si distingue come una delle migliori API SMS più economiche per piccole imprese, fornendo una robusta API REST per gli sviluppatori e una dashboard web intuitiva per gli utenti non tecnici.
Passo 3: Prepara il Tuo Google Sheet per l'Invio di SMS
La struttura del tuo Google Sheet è fondamentale. Avrai bisogno di colonne per il numero di telefono del destinatario e il contenuto del messaggio. Considera di aggiungere più colonne per la personalizzazione o il tracciamento.
Configuriamo un semplice foglio con tre colonne:
- Numero di Telefono: Il numero internazionale completo del destinatario (es. +12345678900).
- Messaggio: Il contenuto testuale dell'SMS.
- Stato: Una colonna per tracciare se l'SMS è stato inviato con successo (opzionale, ma altamente raccomandato per il debug e il tracciamento).
Ecco un esempio di come potrebbe apparire il tuo foglio:
| Numero di Telefono | Messaggio | Stato |
|---|---|---|
| +12345678900 | Hi John, your appointment is tomorrow at 2 PM. | |
| +19876543210 | Reminder: Your invoice is due on March 20th. | |
| +11122334455 | Special offer just for you! Use code SAVE10. |
Assicurati che i tuoi numeri di telefono siano formattati correttamente con il prefisso internazionale (es. +1, +44, +91) poiché ciò è essenziale per una consegna affidabile.
Passo 4: Accedi a Google Apps Script
Google Apps Script è una piattaforma basata su JavaScript che ti permette di estendere le applicazioni Google Workspace come Sheets, Docs e Forms. È qui che scriveremo il codice per connettere il tuo foglio a MySMSGate.
- Apri il tuo Google Sheet.
- Vai alla barra dei menu e clicca su Estensioni > Apps Script.
- Si aprirà una nuova scheda del browser, mostrando l'editor di Google Apps Script. Probabilmente vedrai un file predefinito chiamato
Code.gscon una funzione vuota,myFunction().
È qui che scriveremo il nostro codice JavaScript personalizzato.
Passo 5: Scrivi il Codice di Google Apps Script
Ora, scriviamo il codice JavaScript che leggerà i dati dal tuo Google Sheet e li invierà all'API di MySMSGate. Creeremo una funzione che itera attraverso le righe, costruisce la richiesta API e invia il messaggio.
function sendSmsFromSheet() {
const SHEET_NAME = 'Sheet1'; // Replace with your sheet name
const API_KEY = 'YOUR_MY_SMS_GATE_API_KEY'; // Replace with your MySMSGate API Key
const API_ENDPOINT = 'https://mysmsgate.net/api/v1/send';
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME);
const dataRange = sheet.getDataRange();
const values = dataRange.getValues();
// Assuming headers are in the first row, start from the second row
for (let i = 1; i < values.length; i++) {
const row = values[i];
const phoneNumber = row[0]; // Phone number from the first column
const messageText = row[1]; // Message from the second column
let statusCell = sheet.getRange(i + 1, 3); // Status in the third column (row index + 1, column index)
// Skip if phone number or message is empty, or if status is already 'Sent'
if (!phoneNumber || !messageText || statusCell.getValue() === 'Sent') {
continue;
}
try {
const payload = {
'api_key': API_KEY,
'number': phoneNumber,
'message': messageText
// 'device_id': 'YOUR_DEVICE_ID' // Optional: Specify a connected Android device ID
// 'sim_slot': 1 // Optional: Specify SIM slot (1 or 2) if dual SIM
};
const options = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(payload)
};
const response = UrlFetchApp.fetch(API_ENDPOINT, options);
const responseData = JSON.parse(response.getContentText());
if (responseData.success) {
statusCell.setValue('Sent');
Logger.log('SMS sent successfully to ' + phoneNumber);
} else {
statusCell.setValue('Failed: ' + responseData.message);
Logger.log('Failed to send SMS to ' + phoneNumber + ': ' + responseData.message);
}
} catch (e) {
statusCell.setValue('Error: ' + e.message);
Logger.log('Error sending SMS to ' + phoneNumber + ': ' + e.message);
}
// Optional: Add a small delay to avoid hitting API rate limits if sending many messages
// Utilities.sleep(1000);
}
}
Spiegazione del codice:
SHEET_NAME: Assicurati che corrisponda al nome esatto della tua scheda Google Sheet (es. 'Sheet1', 'Elenco SMS').API_KEY: IMPORTANTE: Sostituisci'YOUR_MY_SMS_GATE_API_KEY'con la tua chiave API effettiva dalla tua dashboard MySMSGate.API_ENDPOINT: Questo è l'endpoint API di MySMSGate per l'invio di messaggi.sheet.getDataRange().getValues(): Questo recupera tutti i dati dal tuo foglio attivo.- Ciclo attraverso le righe: Il ciclo
forinizia dai = 1per saltare la riga dell'intestazione. phoneNumberemessageText: Queste variabili estraggono i dati dalla prima (indice 0) e seconda (indice 1) colonna di ogni riga. Regola questi indici se le tue colonne sono diverse.statusCell: Questo ottiene un riferimento alla cella nella terza colonna (indice 2) della riga corrente, dove aggiorneremo lo stato.payload: Questo oggetto JSON contiene i dati richiesti dall'API di MySMSGate: la tuaapi_key, ilnumbere ilmessage. Puoi facoltativamente includeredevice_idesim_slotse hai più dispositivi o telefoni dual SIM connessi e desideri specificare quale utilizzare.UrlFetchApp.fetch(): Questo è il metodo di Google Apps Script per effettuare richieste HTTP. Stiamo inviando una richiesta POST con payload JSON.- Gestione della Risposta: Lo script analizza la risposta dell'API e aggiorna di conseguenza la colonna 'Stato', indicando 'Inviato' o 'Fallito' con un messaggio di errore.
Per maggiori dettagli sui parametri API, consulta la documentazione API di MySMSGate.
Passo 6: Configura e Testa il Tuo Mittente SMS
Dopo aver incollato il codice nell'editor di Apps Script, devi salvarlo e concedere le autorizzazioni necessarie.
- Salva lo Script: Clicca sull'icona del floppy disk (Salva progetto) o su File > Salva.
- Seleziona la Funzione: Nella barra degli strumenti sopra l'editor di codice, c'è un menu a discesa (potrebbe indicare 'myFunction' o 'sendSmsFromSheet'). Seleziona
sendSmsFromSheet. - Esegui lo Script: Clicca sull'icona 'Esegui' (un triangolo che punta a destra).
- Autorizza i Permessi: La prima volta che esegui uno script che accede a servizi esterni o al tuo foglio di calcolo, Google ti chiederà l'autorizzazione. Segui questi passaggi:
- Clicca su 'Rivedi i permessi'.
- Seleziona il tuo account Google.
- Rivedi i permessi richiesti (es. 'Vedi, modifica, crea ed elimina tutti i tuoi fogli di calcolo Google Sheets', 'Connettiti a un servizio esterno').
- Clicca su 'Consenti'.
- Controlla il Tuo Foglio: Dopo l'autorizzazione riuscita, lo script verrà eseguito. Torna al tuo Google Sheet. Dovresti vedere la colonna 'Stato' aggiornata con 'Inviato' per i messaggi consegnati con successo o 'Fallito' con un messaggio di errore.
- Controlla il Tuo Telefono: Verifica che il tuo telefono Android connesso abbia inviato i messaggi.
Se riscontri errori, controlla la scheda 'Esecuzioni' nell'editor di Apps Script per i log e i dettagli degli errori. I problemi comuni includono una chiave API errata, numeri di telefono malformati o un messaggio vuoto.
Passo 7: Automatizza l'Invio di SMS con i Trigger
L'esecuzione manuale dello script va bene per i test, ma il vero potere dell'automazione SMS da Google Sheets deriva dai trigger. Puoi impostare il tuo script per essere eseguito automaticamente in base a vari eventi:
- Basato sul tempo: Esegui lo script ogni ora, giorno, settimana, ecc., per elaborare nuove righe.
- All'invio del modulo: Se il tuo foglio è popolato da un Google Form, invia un SMS immediatamente dopo una nuova sottomissione del modulo.
- Alla modifica: Attiva lo script quando una cella o un intervallo specifico viene modificato.
Ecco come configurare un trigger basato sul tempo:
- Nell'editor di Apps Script, clicca sull'icona 'Trigger' (un orologio) nella barra laterale sinistra.
- Clicca su '+ Aggiungi Trigger' nell'angolo in basso a destra.
- Configura il trigger:
- Scegli quale funzione eseguire:
sendSmsFromSheet - Scegli la distribuzione da eseguire:
Head - Seleziona la sorgente dell'evento:
Basato sul tempo - Seleziona il tipo di trigger basato sul tempo: Es.
Timer orario - Seleziona l'intervallo orario: Es.
Ogni ora
- Scegli quale funzione eseguire:
- Clicca su 'Salva'.
Ora, il tuo Google Sheet controllerà automaticamente i nuovi messaggi da inviare all'intervallo specificato, rendendo le tue campagne SMS completamente automatiche. Puoi anche integrare MySMSGate con strumenti come Zapier, Make.com o n8n per flussi di lavoro di automazione più complessi, come dettagliato nelle nostre guide all'integrazione.
Passo 8: Consigli Avanzati e Casi d'Uso
Una volta che hai imparato le basi su come inviare SMS da Google Sheets, considera questi suggerimenti avanzati per massimizzare la tua automazione:
- Personalizzazione: Aggiungi più colonne al tuo foglio (es. Nome Cliente, Numero Ordine) e inseriscile dinamicamente nel testo del tuo messaggio all'interno dello script.
- Comunicazione Bidirezionale: MySMSGate inoltra automaticamente tutti gli SMS in arrivo alla tua dashboard web. Puoi quindi rispondere utilizzando l'interfaccia delle Conversazioni Web, offrendoti un'esperienza simile a una chat direttamente dal tuo browser.
- Gestione Errori e Logging: Migliora il tuo script per registrare messaggi di successo/fallimento più dettagliati, magari in un foglio 'Log' separato, per un monitoraggio migliore.
- Gestione dei Costi: Con i prezzi trasparenti di MySMSGate a $0.03/SMS, puoi facilmente calcolare i costi. Rispetto a concorrenti come Twilio ($0.05-$0.08/SMS più costi aggiuntivi per i numeri di telefono e la registrazione 10DLC), MySMSGate offre risparmi significativi, specialmente per le piccole imprese o per chi invia grandi volumi.
- Dispositivi/SIM Dedicati: Se hai più telefoni Android collegati a MySMSGate, puoi specificare quale
device_idosim_slotutilizzare per l'invio di determinati messaggi, consentendo la gestione multi-filiale o identità mittente distinte. - Pianifica Messaggi: Sebbene i trigger di Google Apps Script possano pianificare, per una pianificazione più precisa, potresti gestire le code di messaggi nel tuo foglio e fare in modo che lo script invii i messaggi solo quando viene raggiunta l'ora programmata.
Sfruttando queste capacità, il tuo Google Sheet può diventare una potente piattaforma di comunicazione integrata per la tua attività.
Domande Frequenti
Posso inviare SMS personalizzati da Google Sheets?
Sì, assolutamente! Aggiungendo colonne per dati personalizzati (come nomi dei clienti, numeri d'ordine o date specifiche) nel tuo Google Sheet, puoi facilmente modificare lo script di Google Apps Script per inserire dinamicamente queste informazioni nel tuo messaggio SMS. Ciò consente una comunicazione altamente pertinente e coinvolgente con i tuoi destinatari.
È costoso inviare SMS da Google Sheets?
Il costo dipende dal gateway SMS che utilizzi. Con MySMSGate, l'invio di SMS da Google Sheets è estremamente conveniente, costando solo $0.03 per SMS senza costi mensili o contratti. Questo è significativamente più economico di molte API SMS tradizionali come Twilio, che spesso addebitano $0.05-$0.08 per SMS più costi aggiuntivi per i numeri di telefono e la conformità. Il modello di MySMSGate che utilizza i tuoi telefoni Android aiuta a contenere i costi.
Ho bisogno di competenze di codifica per automatizzare gli SMS da Google Sheets?
Per il metodo descritto in questo tutorial, una familiarità di base con il copia e incolla del codice e la comprensione di semplici variabili in JavaScript (Google Apps Script) è utile. Non è necessario essere uno sviluppatore esperto. Lo snippet di codice fornito è pronto per l'uso con piccole modifiche (chiave API, nome del foglio). Per gli utenti non tecnici, MySMSGate offre anche una dashboard web per l'invio diretto di SMS, o integrazioni senza codice con Zapier, Make.com e n8n, che possono connettersi a Google Sheets senza scrivere codice personalizzato.
Come posso tracciare lo stato di consegna degli SMS da Google Sheets?
In questo tutorial, abbiamo incluso una colonna 'Stato' nel tuo Google Sheet che si aggiorna con 'Inviato' o 'Fallito' direttamente dopo che l'API di MySMSGate risponde. Per un tracciamento della consegna in tempo reale più dettagliato, MySMSGate offre webhook che possono inviare aggiornamenti sullo stato di consegna ai tuoi sistemi, che uno script Google Apps Script più avanzato potrebbe potenzialmente elaborare e aggiornare nel tuo foglio o in un altro database.
Quali sono le alternative a MySMSGate per gli SMS da Google Sheets?
Mentre MySMSGate offre una soluzione unica ed economica, altre alternative includono API SMS tradizionali come Twilio, Vonage o Plivo, che possono anche essere integrate con Google Apps Script. Tuttavia, queste spesso comportano costi per messaggio più elevati, costi mensili e richiedono processi di conformità come la registrazione 10DLC negli Stati Uniti. L'uso dei tuoi telefoni Android da parte di MySMSGate elimina queste complessità e costi, rendendola una alternativa a Twilio superiore per molte piccole imprese e sviluppatori.
Comments (0)
Be the first to comment!