Cómo automatizar la sincronización de contactos desde una planilla de Google Sheets hacia icomm
La integración entre icomm y Google Sheets permite sincronizar automáticamente los contactos desde una planilla de cálculo hacia la plataforma. Esta funcionalidad facilita el proceso de importación de contactos y mantiene actualizada la base de datos de manera eficiente.
Configuración inicial:
Abre tu planilla de Google Sheets.
Haz click en Extensiones en la barra de menú y selecciona Apps Script.

Elimina el código predeterminado e introduce el siguiente código.
Configuración de la planilla de Google Sheets:
Asegúrate de que tu planilla tenga las columnas necesarias para los datos de contactos (por ejemplo, email, nombre, celular).
Nombra las columnas de acuerdo con los campos específicos que deseas sincronizar.
Ten en cuenta la posición de cada columna, ya que esta se indicará en el script (por ejemplo, la columna A representa la columna 1).

Configuración del script y la API de icomm:
En la sección if (sheet.getName() === "Nombre de la Hoja"), reemplaza "Nombre de la Hoja" con el nombre de tu planilla de Google Sheets.
En la sección var email = sheet.getRange(i, 1).getValue(), indica el número de columna correspondiente para cada campo (por ejemplo, 1 para email).
En la sección "CustomFields", coloca los mismos campos que en tu planilla y en el perfil de icomm. Es importante destacar que, al agregar campos después del Key y del Value, deben agregarse "," (comas) para delimitar los mismos. Por ejemplo: "Key": "nombre", "Value": "nombre"

Obtén la clave de la BBDD (Key) de tu cuenta en icomm y reemplázala en la variable "ProfileKey" del código.
Accede a nuestro artículo sobre Cómo obtener el Profile Key de un perfil regular.

Asegúrate de que la URL en la variable url sea correcta para la API de icomm: https://api.icommarketing.com/Contacts/SaveContact.Json/.
Accede a nuestro artículo sobre Cómo ver el Dominio y ApiKey en icomm.
Reemplaza el valor de 'Authorization' con tu API Key proporcionada por icomm.

Guarda el script en el ícono de disquete.
Ejecución del script:
Crea una BBDD en icomm con los mismos campos que tu planilla de Google Sheets.
Edita tu planilla de cálculo como lo haces normalmente. El script se ejecutará automáticamente cuando se realicen ediciones en la planilla, enviando los datos a la plataforma de icomm.
Activadores (Triggers):
En la barra de menú, selecciona la pestaña "Triggers" y luego "Add Trigger".

En el popup, configura las opciones: "atEdit", "Head", "From spreadsheet", "On edit" y selecciona la preferencia para recibir notificaciones cuando se edite la planilla.

Guarda los cambios.
Una vez guardado el disparador o Trigger, debemos regresar a la parte de edición y seleccionar la opción de "EnviarSolicitudHTTP".

Una vez realizado este paso, podrás cargar contactos en la planilla de Google Sheets y los mismos se verán reflejados en la BBDD creada en icomm.
Este script permite la carga masiva de información.
Funciona para planillas de cálculo conectadas a un formulario de Google.
Se puede cambiar el nombre de los encabezados sin modificar el script.
No se puede cambiar la posición de los campos en la planilla, ya que el script reconoce su ubicación.
Si deseas dejar únicamente el campo Email, debes borrar el resto de campos del script al igual que el Key & Value.
Pasos para la configuración:
Configuración inicial:
Abre tu planilla de Google Sheets.
Haz click en Extensiones en la barra de menú y selecciona Apps Script.

Elimina el código predeterminado e introduce el siguiente código.
function atEdit(e) {
var sheet = e.source.getActiveSheet();
var range = e.range;
// Verificar si la edición se realizó en la hoja de cálculo que te interesa
if (sheet.getName() === "Nombre de la hoja") {
var row = range.getRow();
var numRows = range.getNumRows();
// Iterar sobre cada fila editada y enviar la solicitud HTTP por separado para cada una
for (var i = row; i < row + numRows; i++) {
var email = sheet.getRange(i, 1).getValue(); // Numero de columna
var nombre = sheet.getRange(i, 2).getValue(); // Numero de columna
var celular = sheet.getRange(i, 3).getValue(); // Numero de columna
// Construir el objeto de datos para enviar a la API
var data = {
"ProfileKey": "ProfileKey del perfil al cuál se agregan los contactos",
"ContactList": [
{
"Email": email,
"CustomFields": [
{
"Key": "nombre",
"Value": nombre
},
{
"Key": "celular",
"Value": celular
},
]
}
]
};
// Enviar solicitud HTTP a la API remota para la fila actual
enviarSolicitudHTTP(data);
}
}
}
function enviarSolicitudHTTP(data) {
var url = 'https://api.icommarketing.com/Contacts/SaveMultiContact.Json/';
var headers = {
'accept': 'application/json',
'Authorization': 'APIkey de la instancia en Icomm',
'Content-Type': 'application/json'
};
// Realizar la solicitud HTTP POST
var options = {
'method': 'post',
'headers': headers,
'payload': JSON.stringify(data)
};
UrlFetchApp.fetch(url, options);
}
Configuración de la planilla de Google Sheets:
Asegúrate de que tu planilla tenga las columnas necesarias para los datos de contactos (por ejemplo, email, nombre, celular).
Nombra las columnas de acuerdo con los campos específicos que deseas sincronizar.
Ten en cuenta la posición de cada columna, ya que esta se indicará en el script (por ejemplo, la columna A representa la columna 1).

Configuración del script y la API de icomm:
En la sección if (sheet.getName() === "Nombre de la Hoja"), reemplaza "Nombre de la Hoja" con el nombre de tu planilla de Google Sheets.
En la sección var email = sheet.getRange(i, 1).getValue(), indica el número de columna correspondiente para cada campo (por ejemplo, 1 para email).
En la sección "CustomFields", coloca los mismos campos que en tu planilla y en el perfil de icomm. Es importante destacar que, al agregar campos después del Key y del Value, deben agregarse "," (comas) para delimitar los mismos. Por ejemplo: "Key": "nombre", "Value": "nombre"

Obtén la clave de la BBDD (Key) de tu cuenta en icomm y reemplázala en la variable "ProfileKey" del código.
Accede a nuestro artículo sobre Cómo obtener el Profile Key de un perfil regular.

Asegúrate de que la URL en la variable url sea correcta para la API de icomm: https://api.icommarketing.com/Contacts/SaveContact.Json/.
Accede a nuestro artículo sobre Cómo ver el Dominio y ApiKey en icomm.
Reemplaza el valor de 'Authorization' con tu API Key proporcionada por icomm.

Guarda el script en el ícono de disquete.
Ejecución del script:
Crea una BBDD en icomm con los mismos campos que tu planilla de Google Sheets.
Edita tu planilla de cálculo como lo haces normalmente. El script se ejecutará automáticamente cuando se realicen ediciones en la planilla, enviando los datos a la plataforma de icomm.
Activadores (Triggers):
En la barra de menú, selecciona la pestaña "Triggers" y luego "Add Trigger".

En el popup, configura las opciones: "atEdit", "Head", "From spreadsheet", "On edit" y selecciona la preferencia para recibir notificaciones cuando se edite la planilla.

Guarda los cambios.
Una vez guardado el disparador o Trigger, debemos regresar a la parte de edición y seleccionar la opción de "EnviarSolicitudHTTP".

Una vez realizado este paso, podrás cargar contactos en la planilla de Google Sheets y los mismos se verán reflejados en la BBDD creada en icomm.
Notas importantes:
Este script permite la carga masiva de información.
Funciona para planillas de cálculo conectadas a un formulario de Google.
Se puede cambiar el nombre de los encabezados sin modificar el script.
No se puede cambiar la posición de los campos en la planilla, ya que el script reconoce su ubicación.
Si deseas dejar únicamente el campo Email, debes borrar el resto de campos del script al igual que el Key & Value.
Actualizado el: 18/03/2025
¡Gracias!