> ## 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

> Керуйте обліковими записами соціальних мереж Ваших користувачів з Airtable

## Огляд

[Airtable](https://www.airtable.com) — це універсальна хмарна платформа, яка бездоганно поєднує структуру електронної таблиці з потужними можливостями бази даних.

Інтегруючи скрипти автоматизації Airtable — написані на JavaScript — з API Ayrshare, Ви можете оптимізувати керування соціальними мережами безпосередньо в Airtable. Ця інтеграція дозволяє Вам публікувати контент, аналізувати показники ефективності та керувати коментарями від імені Ваших користувачів — усе з одного централізованого місця.

У цьому посібнику ми проведемо Вас крізь кроки налаштування інтеграції.

## Налаштування

<Warning>
  Для запуску скриптів автоматизації Airtable потрібен [платний](https://airtable.com/pricing) тарифний план Airtable.
  Переконайтеся, що Ваш план Airtable включає автоматизації зі скриптами.
</Warning>

Цей посібник показує, як автоматично публікувати в прив'язані облікові записи соціальних мереж в Airtable через [Ayrshare](https://www.ayrshare.com).
Ви можете публікувати в облікові записи однієї компанії або в облікові записи Ваших керованих клієнтів. Увесь наведений нижче код можна знайти на [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" />

## Отримайте свій API Key

Почніть з отримання свого безкоштовного або платного плану API Key у [Ayrshare Dashboard](https://www.ayrshare.com). Ключ використовуватиметься у скрипті нижче.

Якщо Ви на Ayrshare [Launch Plan](/multiple-users/business-launch-overview) або [Business Plan](https://www.ayrshare.com/business-plan-for-multiple-users/) і хочете публікувати від імені своїх клієнтів, зберіть усі Profile Keys Ваших клієнтів через ендпоінти /user або /create-profile чи в Ayrshare Dashboard.

<Tip>
  Переконайтеся, що Ви прив'язали кілька облікових записів соціальних мереж у Ayrshare. Перевірте це на [сторінці
  прив'язки соціальних мереж Ayrshare](https://app.ayrshare.com/social-accounts).
</Tip>

## Створіть робочу область Airtable

У [Airtable](https://www.airtable.com) створіть нову робочу область з полями. Обов'язково назвіть стовпці клітинок так:

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

  <li>
    `Platforms` як Multi Select з типами: facebook, instagram, twitter, linkedin, reddit і
    telegram
  </li>

  <li>`Images` як Attachment</li>
  <li>`Profile Keys` як Single Line Text</li>
  <li>`Status` як Single Line Text.</li>
  <li>`Schedule Date` як Date з Local Format, Include Time Field, і 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" />

Ці поля використовуватимуться у скрипті автоматизації Airtable, який ми зараз побудуємо.

Дивіться [живий приклад Airtable](https://airtable.com/shrCWY0oA1ghB42tI/tblpnTEiPwyuViqBo).

<Card horizontal icon="book-open" href="https://airtable.com/shrCWY0oA1ghB42tI/tblpnTEiPwyuViqBo" title="Airtable Social Media Example">
  Дивіться живий приклад Airtable
</Card>

## Введіть тестові дані для публікації

Нам потрібні деякі зразкові дані для тестування публікації. Ось пропозиція:

<ul class="custom-bullets">
  <li>`Post`: введіть *Happy New Year 2025* </li>

  <li>
    `Platforms`: виберіть одну або кілька мереж, які Ви прив'язали. Переконайтеся, що назва в нижньому регістрі.
  </li>

  <li>
    `Images`: додайте зображення. Нам подобається це, яке Ви можете завантажити та прикріпити:
    [https://img.ayrshare.com/012/gb.jpg](https://img.ayrshare.com/012/gb.jpg)
  </li>

  <li>
    `Profile Keys`: якщо Ви на Business Plan або Launch Plan і хочете публікувати у профіль клієнта, введіть
    його Profile Key. *Інакше залиште порожнім.*
  </li>

  <li>
    `Status`: введіть *pending*. Скрипт бере лише записи зі статусом pending. Переконайтеся, що
    "`pending` в нижньому регістрі.
  </li>

  <li>
    `Schedule Date`: залиште порожнім, оскільки зараз ми просто перевіримо негайну публікацію. Пізніше Ви зможете
    вибрати майбутню дату для планування публікації.
  </li>
</ul>

## Побудуйте скрипт автоматизації в редакторі скриптів

Тепер ми побудуємо скрипт автоматизації Airtable, який зчитує Ваші дані з таблиці, створює публікацію та надсилає її в соціальні мережі через Ayrshare. Ви використовуватимете редактор скриптів Airtable.

### Додайте тригер

* У робочій області натисніть *Automation*, а потім *+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>Назвіть автоматизацію.</li>
  <li>Натисніть *Choose a Trigger*.</li>
  <li>Виберіть When a Record is Created.</li>
  <li>Виберіть таблицю з наведеними вище полями.</li>
  <li>Натисніть Done.</li>
</ul>

## Додайте дію

<ul class="custom-bullets">
  <li>Почніть, натиснувши *Add Action*.</li>
  <li>Виберіть *Run Script*. Ви потрапите до редактора скриптів.</li>
</ul>

**Видаліть** рядок:

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

І **скопіюйте та вставте** у редактор скриптів наступний код:

```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
    });
  }
}
```

Цей код зчитає дані з Вашої таблиці та опублікує через Ayrshare. Однак спочатку Вам потрібно додати свій API Key (отриманий вище).

Замініть `Your API Key` своїм справжнім API-ключем.

## Протестуйте скрипт

У редакторі скриптів натисніть *>Test*

Скрипт запуститься та виведе відповідь від виклику API. Якщо все спрацювало, Ви побачите повідомлення про успіх, поле pending у Ваших записах зміниться на success, а Вашу публікацію — у вибраній соціальній мережі.

Після того як Ви створите новий запис у таблиці, скрипт запуститься та оброблятиме записи зі статусом pending.

## Документація Airtable

Якщо Вам потрібна додаткова інформація, дивіться [документацію Airtable](https://www.airtable.com/developers).
У ній є деталі про те, як користуватися редактором скриптів Airtable.

## Відеоурок

Ось чудовий відеоурок від команди Automate All The Things. Це відео описує, як інтегрувати Ayrshare у живий проект 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>

Дивіться більше [прикладів інтеграції Airtable із соціальними мережами](https://www.ayrshare.com/blog/automatically-post-to-social-media-from-airtable/).

## Запитання

Якщо у Вас є запитання чи коментарі, зв'яжіться з нами через [електронну пошту](mailto:contact@ayrshare.com) або <a href="javascript:void(0)" onClick={() => window.Intercom && window.Intercom('show')}>напишіть нам у чат</a>.
