Latenode

Crear y actualizar un registro en una tabla de Airtable con Latenode

Cómo crear y actualizar un registro en una tabla de una base de Airtable

4 min de lectura
Flujo de Latenode para crear y actualizar registros en una tabla de Airtable

Introducción

Configuremos un script que permita usar Latenode para crear y actualizar un registro en una tabla de la base de datos de Airtable;

Preparación de Airtable

Vaya al sitio web de "Airtable";

Los enlaces a todos los sitios están al final del artículo;

Si ya tenía tablas, vuelva a la página de inicio, cree una nueva con el botón "Empezar desde cero" y seleccione "Kanban";

Después de crearla, seleccione la columna "Priority" en el menú inferior y compruebe que también estén seleccionadas "Status" y "Assignee";

Si acaba de registrarse, seleccione "Tasks" en el paso titulado "Now, we'll add some info" para crear un tablero Kanban prediseñado con las tres tareas ya añadidas;

Añadir un token personal

Vaya al enlace "crear token personal de Airtable";

Haga clic en el botón "Create new token" en la esquina superior derecha;

Introduzca cualquier nombre que desee, por ejemplo, "AirtableLatenode";

En "Scope", añada lo siguiente: data.records:read data.records:write schema.bases:read;

En "Permissions", seleccione el "workspace" deseado al que quiere conceder acceso para gestionarlo mediante la "API";

Haga clic en "Create token";

Guarde el token resultante, por ejemplo, temporalmente en un bloc de notas;

Crear un proyecto en Latenode

Vaya a nuestra lista de proyectos en "Latenode";

Vamos a crear un nuevo proyecto;

A continuación, cree el primer nodo "Webhook";

Copie su dirección en su cliente REST o bloc de notas;

Guarde el nodo;

Cree un nodo "JavaScript" (JS) y copie en él el código del artículo;

Código para el nodo JS

let apiURI, personalToken, newTask, recordID;
	apiURI = "https://api.airtable.com/v0";
	personalToken = "Bearer [Insert your personal token in place of these square brackets]";
	newTask = {
		name: , // After the colon and before the comma, select the name field from the received query
		status: , // After the colon and before the comma, select the status field from the resulting query
		priority: , // After the colon and before the comma, select the priority field from the resulting query
	};
	if () { // Inside the parentheses, select the recordID field from the resulting query
		recordID = ; // After the equal sign and before the semicolon, select the recordID field from the received query
	} else {
		recordID = false;
	}
	
return {
	apiURI,
	personalToken,
	newTask,
	recordID,
}

Por ahora, sin cambiar nada, simplemente guárdelo;

Inicie el proyecto;

Con el cliente REST, realice una solicitud pegando la dirección del nodo webhook en la barra de direcciones;

Solicitud para el cliente REST


  curl --request POST --url [insert the address of your webhook in the Latenode project instead of these square brackets]
  --header 'Content-Type: application/x-www-form-urlencoded'
  --header 'Accept: application/json'
  --data 'name=Send data from Latenode!'
  --data 'priority=In progress'
  --data 'status=Medium'
  --data 'recordID='

Vuelva al nodo "JS" y edítelo;

Compruebe que, al colocar el cursor de texto dentro del nodo, estos datos aparezcan en el menú lateral. Si no aparecen, repita la ejecución y la llamada al webhook;

Inserte en los lugares indicados los datos enviados en la solicitud;

Guarde los cambios;

Cree cuatro nuevos nodos "HTTP request" para obtener la lista de bases de datos;

En cada uno, copie el código siguiente y guárdelo. Lo más importante es no confundirlos; puede asignar a cada uno un nombre claro;

REQ01 Obtener la lista de bases


  curl --request GET --url '[insert the apiURL variable from the JS node in place of these square brackets]/meta/bases'
  --header 'Accept: application/json'
  --header 'Authorization: [Insert the personal token in place of these square brackets]'

REQ02 Obtener el esquema y el contenido de la base


  curl --request GET --url '[insert in place of these square brackets the variable apiURL from the JS node]/meta/bases/[the ID of your base from the REQ01 query]/tables'
  --header 'Accept: application/json'
  --header 'Authorization: [Insert personal token]'

REQ03 Crear una nueva entrada en la tabla de tareas

curl --request POST --url '[insert the apiURL variable from the JS node in place of these square brackets]/[The ID of your database received in query REQ01]/[The ID of your table received in query REQ02]' --header 'Authorization: [Insert personal token]'
	--header 'Content-Type: application/json'
  --data '{
	    "records": [
	      {
	        "fields": {
	          "Priority": [Substitute the variable priority from the JS node],
	          "Name": [Substitute the name variable from the JS node ],
			      "Status": [Substitute the status variable from the JS node]
	        }
	      }
	    ]
	}'
  

Ahora los añadiremos uno por uno a la cadena y los ejecutaremos para configurar la obtención de datos;

Cambie todo lo que esté entre corchetes por datos de las consultas y otros nodos;

En cada uno debe añadir el token personal creado;

En los lugares donde se use el acceso a matrices, indique el índice deseado. Comienza en cero, como en otros casos, pese a que en el menú lateral el primero tendrá el número uno;

En la solicitud de creación, no olvide comprobar que POST esté seleccionado como tipo de método;

A continuación aparecen capturas de pantalla de cómo debe quedar cada uno de estos nodos tras realizar todas las modificaciones;

Después de ejecutar la consulta que añade un registro, vaya a la tabla de Airtable y compruebe que haya una nueva tarea con el texto "Send data from Latenode!". Si no es así, revise cada consulta individualmente: quizás en algún lugar no sustituyó los datos u olvidó introducir un token;

Elimine esta tarea;

Al final de la cadena, añada un nodo "Webhook response" para mayor comodidad;

Haga que devuelva el ID del nuevo registro creado;

Inicie el proyecto y llame al Webhook;

Asegúrese de que el objeto con record_id se devuelva como respuesta a la solicitud;

Vuelva a la tabla de tareas y compruebe que se haya creado;

Espero que también le haya funcionado;

Enlaces útiles:

Básico:

Latenode

Lista de flujos de Latenode

Airtable

Creación de un token personal de Airtable (Airtable Developers)

Plantillas de Airtable

Información:

https://developers.google.com/gmail/api/reference/rest/v1/users.messages/send

https://developers.google.com/gmail/api/reference/rest/v1/users.messages#Message

FAQ

Frequently Asked Questions

Necesita una base de Airtable con una tabla de estilo Kanban, un token de acceso personal con los permisos data.records:read, data.records:write y schema.bases:read, y un proyecto de Latenode con un nodo activador Webhook.

¿Te resultó útil? Compártelo →

Escrito por

Vasiliy Datsenko

Jefe de Soporte al Cliente

Vasiliy Datsenko es Jefe de Soporte al Cliente en Latenode y un escritor de automatización centrado en productos. Su trabajo conecta las conversaciones con los clientes, la investigación sobre automatización de flujos de trabajo, los casos de uso de IA y la educación práctica sobre productos para equipos que intentan automatizar procesos comerciales reales.

Perfil del autor →

Verificado por

Oleg Zankov

CEO Latenode, No-code Expert

Con una ética arraigada en la innovación, la resolución de problemas y la experiencia de usuario, me enfoco en capacitar a los equipos para crear integraciones personalizadas y automatizar flujos de trabajo con facilidad y eficiencia. Trayendo una gran experiencia en desarrollo empresarial, emprendimiento tecnológico y desarrollo de software, reconocí la necesidad de una solución de integración más accesible, escalable y adaptable. Así nació Latenode.com. Con nuestra plataforma, las empresas pueden aprovechar el poder de la tecnología sin necesidad de conocimientos extensos de codificación. Apasionado por fomentar un futuro donde la tecnología nos sirva, y no al revés, mi misión es simplificar procesos complejos. Creo en democratizar la tecnología y equipar a los equipos con las herramientas para innovar, crecer y tener éxito en un mundo cada vez más digital.

Perfil del autor →

Seguir leyendo