Cómo crear tu propia extensión en Google Sheets para Chat GPT  (Usando Chat GPT)

Crea tu propia extensión en Google Sheets para Chat GPT

En este post veremos cómo hacer tu propia extensión en Google Sheets! Sí, sí, como lo lees, hay formas muy sencillas de construir tus propias extensiones y todo con la ayuda de la IA.

Este artículo surge de la necesidad personal de conectar Google Sheets con Chat GPT para automatizar una tarea. Abrí mi archivo de Google Sheets y fui a utilizar una de las extensiones que había probado anteriormente, pero ¡oh! ¡Sorpresa! La extensión ahora es de pago, y no barata precisamente… :/

Entonces pensé: exporta el archivo y súbelo a Chat GPT para que automatice la tarea que necesitas. Pero tras probarlo 4 ó 5 veces me di cuenta de que el chat no estaba procesando correctamente lo que le pedía. Y me exportaba un archivo incorrecto. Así que me dije, vamos a probar otra cosa.

Pídele ayuda a Chat GPT para crear tu propia extensión de Google Sheets

Abrí Chat GPT y le pregunté lo siguiente:


AD 4nXdXC8cU6CZwJ87GG9gfzpAdEMNAj8 HgycFPPc5R8ruX97H0ZFDpixGf6iOlWZyK3BnOq3sTNymMW1S4uQQYeAl80eM6 PG 25WCU8rrO

Buen inicio. Entonces seguí preguntándole (el prompt podría ser mejor, pero el chat me entendió):

AD 4nXevzEzdf7WFqf0is9qHMe77Wbun RpzVMMuHOERj9aSGH0he oWPbb8zJust3443LBhG52jw7z3Xmr0r9ILF vfz9Y8xnUBxITghRAmvPhho a9dTGpQdIgPGtm3o7tGGi524UFpORAUcIyhyKRbn3XuUU?key=5XHYwQUeha3V870amrfO1w

Tras esto, me copió un código en el que había un par de errores. Le fui guiando, indicando los errores que me devolvía el código:

AD 4nXep UINdVl9YcGdMDx68Egr787oyoAHsHmiazfr7 HkSelsWYdJKd2GzLV6Z

O este otro (los ….. sería mi API KEY):

AD 4nXev1QUBJ0IozKCcYFM37HvJ kQM Cq0YwIwDQ26N64dyXl2Go3 RXDn2o28LtdI8xdVhK 6CA IWqf7uJM27lkw7PNfza cIlKpAMC39eqZutqJ8bq8pna0fcWC5AIcmpiw05ioyO1TL2HMAWEBQV Oge4?key=5XHYwQUeha3V870amrfO1w

Finalmente me devolvió el código correcto:

AD 4nXfKbZ4vFpY4w1WbValJo yR BTx9BQ6GPrY7WVZKST7Ihij4DgB2mI8dPw2SeWkAPGzQTYoqdM6k3rdtgr0XUAvlKRaZUcNDeZoXDn26x436LNizb5S

function GPT(prompt, cellValue) {

  var apiKey = ‘TU_API_KEY_DE_OPENAI’;

  var url = ‘https://api.openai.com/v1/chat/completions’;

  var promptText = prompt + » » + cellValue;

  var data = {

‘model’: ‘gpt-4’, // Modelo GPT-4

‘messages’: [

   {‘role’: ‘system’, ‘content’: ‘You are a helpful assistant.’},

   {‘role’: ‘user’, ‘content’: promptText}

],

‘max_tokens’: 150

  };

  var options = {

‘method’: ‘post’,

‘contentType’: ‘application/json’,

‘headers’: {

   ‘Authorization’: ‘Bearer ‘ + apiKey

},

‘payload’: JSON.stringify(data),

‘muteHttpExceptions’: true

  };

  try {

var response = UrlFetchApp.fetch(url, options);

var json = response.getContentText();

var result = JSON.parse(json);

if (result.error) {

   return ‘Error: ‘ + result.error.message;

}

if (result.choices && result.choices.length > 0) {

   return result.choices[0].message.content.trim();

} else {

   return ‘Error: No choices found in the response.’;

}

  } catch (e) {

return ‘Error: ‘ + e.toString();

  }

}

AD 4nXcsSiBpMELzzsSm5R3w 0jClrkLsgib9hTWBXrfEV42RGprJude FbcBK9k3QXNCRZNNpZoLxC2Glj0MWusiozu77NOTDCctX9yK2o6jkYDnUq4rZsPe56HqsGie6f 4m5kds1yXnVb4EYD7ubeCjCtn11?key=5XHYwQUeha3V870amrfO1w

Y ¡listo! Con esto la extensión funcionó perfectamente. ¿Pero cómo la ejecutas?

En primer lugar, necesitarás tener una cuenta de Chat GPT y una API Key, accede a este enlace a API Keys de Opein AI

Le das a  “+ Create new secret key” y creas la tuya, tendrá un aspecto como: “sk-……………”

AD 4nXeISt9UgunmyAaPVKvqwAMHA6DDbuiBt1MKIoNYor8pNHY9prytJsChr41CyrOuMN1QskLYRvu73lEreL90kkX jCeGCnZ1K7 4s3YEI7u1PWhQXW60C7U

Cópiala y guárdala, que luego no podrás verla.

Si entras en la sección de billing y añades un método de pago, podrás recargar tu cuenta para usar la API (si lo haces por primera vez pon una pequeña cantidad de unos 5€, que es el mínimo, para probar primero). Ten en cuenta que cada petición que hagas tiene un coste de algunos céntimos, así que si eres nuevo/a ve con cuidado si no quieres gastar más de la cuenta.

Monta en Apps Scripts la extensión creada con Chat GPT

Una vez tengas esto listo ¡vamos a montar la extensión!

AD 4nXf8kv5wY4fYjUxqSINWRVRgaIKnYcEVLOC 9JRTy5h3oOEjaqYXURdqt zGqDHQx5iTRh yt35XVVVliRzvMwcD k h0mDQRDL0XeUOvyGkFBntTYJAgNRI 8qbn8eWfILeUE fNsAOB5UFAfv7BjE1motU?key=5XHYwQUeha3V870amrfO1w

Abre tu archivo de Google Sheets y ve a: Extensiones > Apps  Script

A continuación, copia tu código, modifica donde pone “tu-api-key” por tu API KEY y dale a guardar.

AD 4nXciG0CsIn3B6jdYdWFBq8OGt5Hves0DS3UK1zeQLyct eVT KxGsvpoGSO

Una vez hecho esto, puedes cerrar la pestaña de Apps Script y probar el código en tu documento, veamos una prueba.

Caso de ejemplo

Imagina que tienes un listado de reviews de diversos usuarios, los tienes exportados en un archivo que abres en Google Sheets. Entre ellos hay diferentes tipos: Positivos, Negativos y Neutros. Quieres saber de forma rápida el tono de cada uno de los comentarios. En el ejemplo vemos 4, pero se podría extrapolar a un listado de cientos de filas (OJO, cada fila será una petición con su correspondiente coste. Para una petición de este tipo sería mejor que la hicieras directamente en Chat GPT, pero nos sirve de ejemplo):

AD 4nXew1n5jWwdGQc5EU owqlipH9DBhc0w J0e6Dbjx kWH4V y9Dhgy9yXzzagFeDJ7 d6S4euh1XtT9kSFfVyW2PJ10wfBOaVgwa5sEa4nMSjChSrmZ6ZeD1M

Veamos el detalle de la primera celda de la columna “Tono”:

AD 4nXfruJItkHwa3aP7qxjc0snX150fH8gZWZMJeSAgjMezOZjgqQACFguju Oqit0SccOxFzYxi5CjU8LHFPjEfoEvY63jUPniM8nre9ouQ29Hp7pkDKPcjpZ9KljDQL690uVuWQ UpQD8nJEUeu8 jC r5HND?key=5XHYwQUeha3V870amrfO1w

La indicación que le hemos dado a la celda en la que queríamos el análisis es: =gpt(«Teniendo en cuenta la opinión del usuario que vas a leer ahora, indícame si el tono de la review es: Positivo, Negativo, Neutro. El output debe ser únicamente una de estas 3 opciones indicadas»;B2) 

Una alternativa al uso que le hemos pedido, es hacer que analice un conjunto de celdas al mismo tiempo. Siguiendo con el ejemplo anterior, habría un único output (una única respuesta), el coste sería menor y tendrías información de cómo se siente el conjunto de tus usuarios, en vez de tener el dato uno a uno. Veamos la columna “Tono General”:

Y la fórmula utilizada: =gpt(«Teniendo en cuenta las opiniones de los usuario que vas a leer ahora, indícame si el tono general de las reviews es: Positivo, Negativo, Neutro. El output debe ser únicamente una de estas 3 opciones indicadas»;B2:B5)

¡Y ya estaría! Ya has creado tu propia extensión de Google Sheets con Chat GPT para Chat GPT 😉

Ten en cuenta que según tus necesidades puedes pedirle al propio chat que vaya haciendo ajustes hasta que consigas el código que necesites. (También puedes cambiar el modelo a utilizar: gpt-4, gpt-3.5…). Puedes ir probando hasta dar con el código que responda a tus necesidades. 

PRO Tip: pídele al chat que te explique el código en detalle si necesitas entender alguna parte del mismo o ayuda para modificarlo, te desglosará el contenido para que comprendas qué hace cada parte y cómo ajustarlo.

Espero que este post te haya sido útil y hayas aprendido algo nuevo, ¡siempre estás a tiempo de jugar un poco con la IA para ver cómo puede ayudarte a hacer tu día a día más fácil!

Escríbenos si quieres resultados.