Saltar al contenido principal
Versión: v2 ⚡

Crea un workflow que conecte una API REST con Google Sheets

En este tutorial te mostramos cómo crear un workflow sencillo de OpenFn que automatiza la sincronización de datos entre una API REST y Google Sheets, con los adaptors http y GoogleSheets.

Video explicativo​

Mira el video y sigue los pasos que aparecen abajo.

Antes de empezar​

Antes de comenzar, damos por hecho que revisaste lo siguiente:

Primeros pasos​

En esta guía vamos a configurar un workflow que sincronice automáticamente datos de user desde una API REST web y los importe a una GoogleSheet.

Esta integración se divide en dos partes:

  1. Obtener datos de la API REST (la aplicación de "origen")
  2. Transformar e importar estos datos a una tabla de tu GoogleSheet (la aplicación de "destino")

¡Empecemos!

1: Crea un workflow nuevo​

Para crear un workflow nuevo en tu proyecto:

  1. Ve a la página project dashboard.
  2. Haz clic en el botón Create new workflow.
  3. Ponle a tu workflow un Name descriptivo (por ejemplo, Sync Users List).
  4. Elige tu trigger.
  5. Edita tu primer step.

2. Configura tu primer step para obtener datos de la API REST​

JSONPlaceholder ofrece una API falsa y gratuita para hacer pruebas y prototipos. Usaremos la API REST de usuarios para extraer datos de usuarios. Para eso, configuraremos un step en OpenFn que obtenga esos datos con una solicitud HTTP GET. Haz clic en tu primer step para configurarlo con estas opciones:

  • Name Fetch Users
  • Adaptor http
  • Version: 6.0.0
  • Credentials (opcional: credencial "Raw JSON") - { "baseUrl": "https://jsonplaceholder.typicode.com/"}
  • Código del job: si configuraste la credencial "Raw JSON" con jsonplaceholder como baseURL, agrega la operación get("users") en el bloque de código.
¿Necesitas ayuda para escribir el código del job?

Consulta la documentación sobre el adaptor "http", sobre cómo configurar steps y sobre cómo escribir jobs.

Cuando termines de configurar y escribir tu step, ¡guárdalo y ejecútalo!

Revisa el panel Output & Log para ver si tu run se completó con éxito. Si fue así, deberías ver:

  • El estado success
  • La pestaña Log termina con Run complete with status: success
  • La pestaña Input muestra {}
  • La pestaña Output muestra { data: [ {...}]}

3. Configura otro step para transformar los datos e importarlos a tu GoogleSheet​

Crea una Credential nueva de Googlesheet con el correo de tu cuenta de Google. (Asegúrate de que este usuario de Google tenga permiso de edición en la GoogleSheet que quieres integrar).

¿No ves la opción de credencial de GoogleSheets?

Si el superusuario de tu instancia no configuró un cliente OAuth global, quizás tengas que configurar uno tú. Consulta los clientes OAuth y los detalles de un cliente de GoogleSheet.

Para esta demostración, configuramos la Googlesheet así para guardar los datos de users.

Crea un step nuevo con el adaptor googlesheets para cargar los datos de los usuarios en tu GoogleSheet de destino. Configura el step con estas opciones:

  • Name Sync Users

  • Adaptor googlesheets

  • Version: 2.2.2

  • Credentials: crea una credencial GoogleSheet OAuth nueva y guárdala

  • Operaciones del step: en este job usaremos la operación appendValues() para agregar un array de filas a la hoja de cálculo. Asegúrate de cambiar el spreadsheetId por el ID de tu hoja de cálculo.

    // Prepara el array con los datos de los usuarios
    fn(state => {
    const users = state.data.map(
    ({ id, name, username, address, phone, website, company }) => [
    id,
    name,
    username,
    address.city,
    phone,
    website,
    company.name,
    ]
    );

    return { ...state, users };
    });

    // Agrega los datos de los usuarios a la GoogleSheet
    appendValues({
    spreadsheetId: '1gT4cpHSDQp8A_JIX_5lqTLTwV0xBo_u8u3ZNWALmCLc',
    range: 'users!A1:G1',
    values: state => state.users,
    });
  • Input - Final output of Fetch Users

Si ya ejecutaste el step Fetch Users, tendrás una entrada inicial para probar el step Sync Users. Selecciona la entrada en el panel Input y haz clic en Create New Work Order para ejecutar este step.

4. ¡Hora de probar!​

  1. Selecciona el step Fetch Users y ábrelo en el Inspector.
  2. Crea una entrada nueva vacía {}.
  3. Haz clic en Create New Work Order para ejecutar el step.
  4. Revisa los resultados en el panel Output & Logs y comprueba que los dos steps terminaron con el estado success.
  5. Por último, revisa tu hoja de cálculo para ver los datos de usuarios sincronizados.

¿Te aparecen errores o no sabes cómo seguir? Consulta la documentación sobre workflows o sobre solución de problemas.

¿No puedes avanzar? ¿Tienes preguntas?

Recuerda ver el video o publicar en la comunidad para pedir ayuda.