Cómo INTEGRAR VÍA WEBHOOK con Google Sheets
IMPORTANTE: Google está limitando algunas funciones dentro de las cuentas básicas de Google. Para integrar con Google Sheets, necesitas tener una cuenta GSuite.
- Accede a la página inicial de Google Sheets y crea una nueva hoja de cálculo en blanco:

- En la primera pestaña, ingresa los nombres de cada campo que se completará en el formulario de tu landing page, uno por columna (como en el ejemplo de abajo):

- Después de eso, accede al menú "Tools > Script Editor" (o "Herramientas > Editor de secuencias de comandos", si el idioma está en español).

- Después de acceder al área de scripts, verás una pantalla como la de la imagen de abajo. Ahí, ponle un nombre a tu proyecto donde dice "Untitled project" o "Proyecto sin título". Puedes llamarlo "API GreatPages".

- Enseguida, selecciona todo el contenido y reemplázalo por el código de abajo:
// Link de compartilhamento do Google Sheets
var SPREADSHEET_URL = 'https://docs.google.com/spreadsheets/';
function doPost(e) {
var values = getValues(e);
if (SPREADSHEET_URL) {
handleSpreadsheet(values, SPREADSHEET_URL);
}
return ContentService.createTextOutput('OK');
}
function getValues(e) {
var values = JSON.parse(e.postData.contents);
var answers = values["answers"];
if (typeof answers === "object") {
Object.keys(answers)
.forEach(function(answerLabel) {
var answer = answers[answerLabel];
values[answerLabel] = answer != null ? answer.toString() : answer;
});
delete values["answers"];
}
values['received_at'] = new Date();
return values;
}
function handleSpreadsheet(values, spreadsheetUrl) {
var ss = SpreadsheetApp.openByUrl(spreadsheetUrl);
var sheet = ss.getSheets()[0];
var headerMap = getExistingKeyColMap(sheet);
updateKeyColMap(sheet, headerMap, values);
writeValuesWithHeaderMap(sheet, headerMap, values);
}
function getExistingKeyColMap(sheet) {
var map = {};
sheet.getRange('1:1').getValues()[0].forEach(function(value, colIndex){
if (value.trim().length) {
map[value] = colIndex + 1;
}
});
return map;
}
function updateKeyColMap(sheet, headerMap, values) {
var maxColIndex = 0;
Object.keys(headerMap).forEach(function(key) {
maxColIndex = Math.max(maxColIndex, headerMap[key]);
});
Object.keys(values).forEach(function(valueKey) {
if (headerMap[valueKey] !== undefined) {
return;
}
// The values object has a key we haven't seen before.
maxColIndex += 1;
sheet.getRange(1, maxColIndex).setValue(valueKey);
headerMap[valueKey] = maxColIndex;
});
sheet.setFrozenRows(1);
var headerRow = sheet.getRange("1:1");
headerRow.setFontWeight("bold");
}
function writeValuesWithHeaderMap(sheet, headerMap, values) {
const rowIndex = sheet.getLastRow() + 1;
Object.keys(values).forEach(function(key) {
const colIndex = headerMap[key];
sheet.getRange(rowIndex, colIndex).setValue(values[key]);
});
}
function test() {
doPost({
postData: {
type: "application/json",
contents: '{ "hello": "world" }',
}
})
}
- En la segunda línea donde está -> https://docs.google.com/spreadsheets, vas a reemplazarlo por el enlace de tu hoja de cálculo de Google;
- Guarda el script haciendo clic en el ícono de "Guardar";

- Después de eso, haz clic en "Implementar" y en el menú que se abrirá haz clic en "Nueva implementación";


- En la siguiente pantalla que se abrirá, haz clic en el ícono de engranaje y enseguida haz clic en "Aplicación web";


- Después de eso, se abrirá un espacio en la pantalla donde tendrás que agregar una descripción de la integración, seleccionar la cuenta de Gmail y por último seleccionar la opción "Cualquier persona", como en el ejemplo de abajo;

- Después de hacer clic en "Implementar", aparecerá en la siguiente pantalla el botón "Autorizar acceso", que es donde deberás hacer clic;

- Enseguida se te preguntará sobre algunos permisos. Elige una cuenta de Google y sigue el proceso;
- Cuando finalices los permisos, se generará la URL de integración, que deberás copiar y guardar para implementarla en GreatPages;

- Inicia sesión en GreatPages y accede a la configuración del formulario (haz clic en el formulario y enseguida haz clic en "Editar");

- Ve a "Configurar", en la sección Integração haz clic en "Adicionar integração";

- Selecciona la opción “Webhook”;

- En la siguiente pantalla necesitarás pegar el enlace que fue generado en Google Sheets en “URL da integração”, y seleccionar la opción “POST+JSON”. Por último, continúa haciendo clic en “Continuar” (no es necesario completar el campo “token”).

- En la pantalla “Configurar campos” necesitarás configurar las variables de los campos. Ellas necesitan ser exactamente iguales a las variables que configuraste en la hoja de cálculo.
Por último, ¡haz clic en Salvar! Tu integración está lista.
¿Te quedó alguna duda? ¡Habla con nuestro equipo en el Chat! Siempre estamos listos para ayudarte.
Actualizado el: 29/07/2026
¡Gracias!
