> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Airtable

> Gestiona las cuentas de redes sociales de tus usuarios desde Airtable

## Descripción general

[Airtable](https://www.airtable.com) es una plataforma versátil en la nube que combina de forma fluida la estructura de una hoja de cálculo con las robustas capacidades de una base de datos.

Al integrar los scripts de automatización de Airtable —escritos en JavaScript— con la API de Ayrshare, puedes agilizar la gestión de redes sociales directamente desde Airtable. Esta integración te permite publicar contenido, analizar métricas de rendimiento y gestionar comentarios en nombre de tus usuarios, todo desde una ubicación centralizada.

En esta guía te explicamos paso a paso cómo configurar la integración.

## Configuración

<Warning>
  Ejecutar Automation Scripts de Airtable requiere un plan [de pago](https://airtable.com/pricing) de Airtable.
  Asegúrate de que tu plan de Airtable incluye automatizaciones con scripts.
</Warning>

Esta guía te muestra cómo publicar automáticamente en cuentas de redes sociales vinculadas desde Airtable mediante [Ayrshare](https://www.ayrshare.com).
Puedes publicar en las cuentas sociales de una única empresa o en las cuentas de redes sociales de los clientes que gestionas. Todo el código de abajo está disponible en [GitHub](https://github.com/ayrshare/airtable-post-social-media/blob/main/script.js).

<Card horizontal icon="github" href="https://github.com/ayrshare/airtable-post-social-media/blob/main/script.js" title="GitHub: Airtable Post Social Media" />

## Obtén tu API Key

Empieza obteniendo tu API Key del plan gratuito o de pago en el [dashboard de Ayrshare](https://www.ayrshare.com). La clave se utilizará en el script de abajo.

Si estás en el [Launch Plan](/multiple-users/business-launch-overview) o [Business Plan](https://www.ayrshare.com/business-plan-for-multiple-users/) de Ayrshare y quieres publicar en nombre de tus clientes, reúne todas las Profile Keys de tus clientes mediante los endpoints /user o /create-profile, o desde el dashboard de Ayrshare.

<Tip>
  Asegúrate de haber vinculado unas cuantas cuentas sociales en Ayrshare. Verifícalo en la [página
  de vinculación social de Ayrshare](https://app.ayrshare.com/social-accounts).
</Tip>

## Crea un workspace en Airtable

En [Airtable](https://www.airtable.com), crea un nuevo workspace con los campos. Asegúrate de nombrar las columnas como se indica a continuación:

<ul class="custom-bullets">
  <li>`Post` como Long Text</li>

  <li>
    `Platforms` como Multi Select con los tipos: facebook, instagram, twitter, linkedin, reddit y
    telegram
  </li>

  <li>`Images` como Attachment</li>
  <li>`Profile Keys` como Single Line Text</li>
  <li>`Status` como Single Line Text.</li>
  <li>`Schedule Date` como Date con Local Format, Include Time Field y Time Format 24 Hours</li>
</ul>

<img class="center" src="https://mintcdn.com/ayrshare-docs/6mPR4kmwNEz1kMbX/images/packages-guides/airtable-example.webp?fit=max&auto=format&n=6mPR4kmwNEz1kMbX&q=85&s=ac8b91e08f67f7c2432ddfbbf7e65aa0" alt="Airtable Table Example" width="1536" height="161" data-path="images/packages-guides/airtable-example.webp" />

Estos campos se utilizarán en el script de automatización de Airtable que vamos a construir.

Consulta un [ejemplo real en Airtable](https://airtable.com/shrCWY0oA1ghB42tI/tblpnTEiPwyuViqBo).

<Card horizontal icon="book-open" href="https://airtable.com/shrCWY0oA1ghB42tI/tblpnTEiPwyuViqBo" title="Airtable Social Media Example">
  Consulta un ejemplo real en Airtable
</Card>

## Introduce datos de prueba para la publicación

Necesitamos algunos datos de ejemplo para probar la publicación. Aquí tienes una sugerencia:

<ul class="custom-bullets">
  <li>`Post`: introduce *Happy New Year 2025* </li>

  <li>
    `Platforms`: selecciona una o más redes que hayas vinculado. Asegúrate de que el nombre esté en minúsculas.
  </li>

  <li>
    `Images`: adjunta una imagen. Nos gusta esta que puedes descargar y adjuntar:
    [https://img.ayrshare.com/012/gb.jpg](https://img.ayrshare.com/012/gb.jpg)
  </li>

  <li>
    `Profile Keys`: si estás en el Business Plan o Launch Plan y quieres publicar en el perfil de un cliente, introduce
    su Profile Key. *De lo contrario, déjalo vacío.*
  </li>

  <li>
    `Status`: introduce *pending*. El script solo toma los registros con estado pending. Asegúrate de
    que "`pending`" esté en minúsculas.
  </li>

  <li>
    `Schedule Date`: déjalo vacío, ya que ahora solo probaremos la publicación inmediata. Más adelante puedes
    seleccionar una fecha futura para programar la publicación.
  </li>
</ul>

## Crea un Automation Script con el editor de scripts

Ahora construiremos el Automation Script de Airtable que lee los datos de tu tabla, crea una publicación y la envía a las redes sociales a través de Ayrshare. Usarás el editor de scripts de Airtable.

### Añadir un trigger

* En el workspace, haz clic en *Automation* y luego en *+New automation.*

<img class="center" src="https://mintcdn.com/ayrshare-docs/6mPR4kmwNEz1kMbX/images/packages-guides/new%20automation.webp?fit=max&auto=format&n=6mPR4kmwNEz1kMbX&q=85&s=d2637323e3e540d6e46cf0d45e2f161a" alt="Go to the Automation section of Airtable" width="932" height="144" data-path="images/packages-guides/new automation.webp" />

<ul class="custom-bullets">
  <li>Nombra la automatización.</li>
  <li>Haz clic en *Choose a Trigger*.</li>
  <li>Selecciona When a Record is Created.</li>
  <li>Selecciona la tabla con los campos anteriores.</li>
  <li>Haz clic en Done.</li>
</ul>

## Añadir una acción

<ul class="custom-bullets">
  <li>Empieza haciendo clic en *Add Action*.</li>
  <li>Selecciona *Run Script*. Se abrirá el editor de scripts.</li>
</ul>

**Elimina** la línea:

```javascript theme={"system"}
console.log(`Hello, ${base.name}!`);
```

Y **copia y pega** en el editor de scripts el siguiente código:

```javascript theme={"system"}
const API_KEY = "Your API Key"; // Get a free key at app.ayrshare.com

console.log(`Starting Post ${base.name}!`);

const sendPost = async (data) => {
  const { post, platforms, imageUrls, profileKeys, scheduleDate, shortenLinks } = data;

  const body = Object.assign(
    {},
    post && { post },
    platforms && { platforms },
    profileKeys && { profileKeys: profileKeys.split(",") },
    Array.isArray(imageUrls) &&
      imageUrls.length > 0 && {
        mediaUrls: imageUrls.map((image) => image.url)
      },
    scheduleDate && { scheduleDate },
    shortenLinks !== undefined && shortenLinks !== null && { shortenLinks }
  );

  console.log("Posting JSON:", JSON.stringify(body, null, 2));

  if (profileKeys) {
    body.profileKeys = profileKeys.split(",");
  }

  const response = await fetch("https://api.ayrshare.com/api/post", {
    method: "POST",
    body: JSON.stringify(body),
    headers: {
      "Content-Type": "application/json",
      Authorization: `Bearer ${API_KEY}`
    }
  }).then((res) => res.json());

  return response;
};

const table = base.getTable("Posts");
const query = await table.selectRecordsAsync();
const filteredRecords = query.records.filter((record) => {
  const status = record.getCellValue("Status");
  return status === "pending";
});

for (let record of filteredRecords) {
  const post = record.getCellValue("Post");
  const images = record.getCellValue("Images");
  const platforms = record.getCellValue("Platforms");
  const profileKeys = record.getCellValue("Profile Keys");
  const scheduleDate = record.getCellValue("Schedule Date");

  const shortenLinks = false;
  const response = await sendPost({
    post,
    platforms: platforms.map((x) => x.name),
    imageUrls: images,
    profileKeys,
    scheduleDate,
    shortenLinks
  });

  console.log(response);

  if (response) {
    let status;
    if (Array.isArray(response)) {
      status = response.map((x) => x.status).every((x) => x === "success") ? "success" : "error";
    } else {
      status = response.status;
    }

    await table.updateRecordAsync(record, {
      Status: status
    });
  }
}
```

Este código leerá los datos de tu tabla y publicará en Ayrshare. Sin embargo, primero necesitas añadir tu API Key (obtenida arriba).

Sustituye `Your API Key` por tu API Key real.

## Probar el script

En el editor de scripts, pulsa *>Test*.

El script se ejecutará y mostrará la respuesta de la llamada a la API. Si todo ha funcionado, verás un mensaje de éxito, el campo pending de tus registros cambiará a success y verás tu publicación en la red social seleccionada.

Una vez que crees un nuevo registro en la tabla, el script se ejecutará y procesará los registros pendientes.

## Documentación de Airtable

Si quieres más información, consulta la [documentación de Airtable](https://www.airtable.com/developers).
Contiene detalles sobre cómo usar el editor de scripts de Airtable.

## Video tutorial

Aquí tienes un excelente video tutorial del equipo de Automate All The Things. Este video explica cómo integrar Ayrshare en un proyecto real de Airtable.

<div class="video-container">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/U_jo6f5hsyY" title="Post To Social Media From Airtable" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" />
</div>

Consulta más [ejemplos de integración de Airtable con redes sociales](https://www.ayrshare.com/blog/automatically-post-to-social-media-from-airtable/).

## Preguntas

Si tienes preguntas o comentarios, contáctanos por [email](mailto:contact@ayrshare.com) o <a href="javascript:void(0)" onClick={() => window.Intercom && window.Intercom('show')}>chatea con nosotros</a>.
