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:


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

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:

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

Finalmente me devolvió el código correcto:

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();

  }

}

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-……………”

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!

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.

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):

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

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.