

Руководство по созданию презентаций из Airtable с помощью AI (2026)
Airtable — эталонная база данных для тысяч команд: CRM-воронки, трекеры проектов, контент-календари, CRM для инвесторов, системы управления запасами. В 2026 году процесс создания презентаций из Airtable превращает любое представление Airtable в готовую PowerPoint-презентацию менее чем за минуту, используя два подхода: (1) no-code через автоматизации Airtable + Make/Zapier + API 2Slides, идеально для презентаций по записи или представлению (еженедельные обзоры для клиентов, ежемесячные обновления для инвесторов); (2) пользовательское расширение Airtable с использованием API V1 2Slides, идеально для генерации презентаций по требованию прямо внутри Airtable. Это руководство подробно описывает оба рабочих процесса с рабочим кодом, точной структурой запроса к API 2Slides и четырьмя реальными шаблонами презентаций на основе Airtable (обзор воронки продаж, ежемесячный отчёт по контент-календарю, квартальный обзор бизнеса по трекеру проектов, обновление для инвесторов из CRM), которые вы можете адаптировать под свою базу. Каждый шаблон включает точные сопоставления полей, логику создания промптов и стратегию опроса, чтобы вы могли вставить их в своё рабочее пространство и получить готовую к использованию интеграцию уже к концу дня.
Архитектура Airtable-to-Deck 2026
Большинство баз Airtable уже содержат 80% презентации: цифры, имена, даты, флаги статусов. Недостаёт только повествовательного слоя — заголовка, структуры, объяснения «что это значит для бизнеса». Именно этот пробел и заполняет генератор презентаций на основе большой языковой модели.
Архитектура 2026 года разделяет три области ответственности:
- Слой данных (Airtable) — записи, представления, фильтры, сводки. Здесь находится ваш единственный источник истины. Рабочий процесс создания презентации не должен требовать дублирования данных в другом месте.
- Слой оркестрации (Airtable Automations, Zapier, Make или пользовательское расширение) — связующее звено, которое прослушивает триггеры (нажатие кнопки, изменение статуса, запланированный cron), запрашивает соответствующие записи, форматирует их в промпт и вызывает API 2Slides.
- Слой генерации (2Slides V1 API) — конечная точка
/api/v1/slides/generateпринимает промпт плюс опциональные параметры темы и количества страниц, затем асинхронно создаёт файл PowerPoint с AI-генерируемым повествованием, структурированными диаграммами, заметками докладчика и опциональным аудио озвучиванием.
Слой оркестровки — это место, где выбор реализации имеет значение. Команды, которым нужно нулевое кодирование, выбирают Airtable Automations + вебхуки Zapier. Команды, которым нужна кнопка «Создать презентацию» непосредственно внутри Airtable, создают пользовательское расширение (Extension). Оба пути сходятся к одному и тому же API-контракту, поэтому вы можете начать с прототипа на no-code подходе, а затем перейти к более надёжному решению на базе Extension.
Метод 1: No-Code (Airtable Automations + Zapier + 2Slides)
Путь без кода — самый быстрый к внедрению — обычно занимает менее часа — и является правильным выбором, когда триггер основан на записи (новая сделка переходит в этап «Предложение», проект помечен как «Готов к QBR», кампания достигает конца месяца).
Шаг 1: Подготовка базы Airtable
Добавьте три поля в таблицу, из которой вы хотите генерировать презентации:
Статус презентации(одиночный выбор: В очереди, Генерируется, Готово, Ошибка)URL презентации(URL)ID задачи презентации(однострочный текст)
Эти поля позволяют автоматизации записывать прогресс обратно в запись, чтобы пользователь видел появление презентации в той же строке, из которой он её запустил.
Шаг 2: Создание автоматизации Airtable
Создайте новую автоматизацию с триггером «Когда запись соответствует условиям» — например, Статус презентации — В очереди. Добавьте действие «Запустить скрипт», которое форматирует запись в промпт:
const inputConfig = input.config();
const record = inputConfig.record;
const prompt = `Create a 10-slide account review deck for ${record.accountName}.
Pipeline value: $${record.pipelineValue.toLocaleString()}.
Current stage: ${record.stage}.
Last touchpoint: ${record.lastTouchpoint}.
Open risks: ${record.risks}.
Recommended next action: ${record.nextAction}.
# Airtable автоматизация: автоматическая генерация презентаций при обновлении CRM-записи
Эта автоматизация генерирует аккаунт-обзор или презентацию для следующего шага, когда запись в Airtable входит в определённую стадию — например, когда сделка переходит в стадию "Квалифицирована" или аккаунт помечается для ежеквартального обзора.
## Общая схема
1. **Триггер автоматизации Airtable**: срабатывает при изменении записи (например, поле `Deal Stage` = "Квалифицирована")
2. **Скрипт автоматизации Airtable**: создаёт промпт из данных CRM и отправляет вебхук в Zapier
3. **Zapier вызывает API 2Slides**: `POST /v1/slides/generate`
4. **Вебхук обратного вызова** обновляет запись Airtable ссылкой для скачивания
---
## Пошаговая настройка
### Шаг 1: Добавление полей для хранения ссылки на презентацию
Добавьте в свою таблицу Airtable:
* **Deck URL** (тип: URL)
* **Deck Status** (тип: Single select — `Not Started`, `Generating`, `Ready`, `Error`)
* **Deal Stage** (или любое поле-триггер)
### Шаг 2: Создание автоматизации Airtable
**Триггер**: *Когда запись соответствует условиям*
Условия: `Deal Stage` is `Квалифицирована` AND `Deck Status` is `Not Started`
**Действие**: *Запустить скрипт*
```javascript
// Ссылки на поля ввода из триггера
let record = input.config();
let output = {};
// Формируем промпт из полей Airtable
let prompt = `Создайте обзорную презентацию для аккаунта "${record.getCellValue('Account Name')}".
Раздел: ${record.getCellValue('Industry')}
ARR: $${record.getCellValue('ARR')}
Контакты: ${record.getCellValue('Contacts')}
Последнее взаимодействие: ${record.getCellValue('Last Interaction')}
Структура: заголовок, краткое резюме, история взаимоотношений, статус pipeline,
риски и блокирующие факторы, оценка возможностей, рекомендуемые следующие шаги, приложение.`;
output.set('prompt', prompt);
output.set('recordId', record.id);Шаг 3: Отправка вебхука в Zapier (или Make)
Добавьте действие "Отправить вебхук", которое отправляет POST на Zapier catch hook. Второй шаг в Zapier вызывает API 2Slides:
POST https://2slides.com/api/v1/slides/generate
Headers:
Authorization: Bearer {{YOUR_2SLIDES_API_KEY}}
Content-Type: application/json
Body:
{
"prompt": "{{промпт из Airtable}}",
"pages": 10,
"theme": "corporate-navy",
"language": "ru",
"webhook": "https://hooks.zapier.com/hooks/catch/XXXXX/airtable-deck-ready"
}Ответ содержит jobId. Сохраните его обратно в запись Airtable через действие Airtable в Zapier и установите Deck Status в Generating.
Шаг 4: Обработка вебхука завершения
2Slides вызывает ваш webhook URL после завершения задания. Этот Zap считывает downloadUrl и обновляет запись Airtable с Deck URL и Deck Status = Ready. Общая задержка end-to-end: обычно 40–75 секунд.
Если вы не хотите использовать вебхуки, опрашивайте /api/v1/jobs/:id каждые 5 секунд из второго Zap, запускаемого по расписанию. Для более глубокого изучения паттернов опроса и логики повторных попыток см. наше дополнительное руководство по автоматизации генерации презентаций с помощью Python и 2Slides API.
Метод 2: Пользовательское расширение Airtable
Когда вам нужна кнопка «Создать презентацию», встроенная непосредственно в интерфейс Airtable — без внешнего Zap, без маршрутизации webhook — пользовательское расширение (Extension) является правильным решением. Расширения Airtable — это React-приложения, которые отображаются внутри базы и могут вызывать внешние API с помощью fetch.
Вот минимальное расширение, которое читает выбранную запись, вызывает /api/v1/slides/generate и опрашивает /api/v1/jobs/:id до тех пор, пока презентация не будет готова:
import {
initializeBlock, useBase, useCursor, useRecordById,
Button, Text, Box, useGlobalConfig,
} from '@airtable/blocks/ui';
import React, { useState } from 'react';
function DeckGenerator() {
const base = useBase();
const cursor = useCursor();
const globalConfig = useGlobalConfig();
const apiKey = globalConfig.get('TWO_SLIDES_API_KEY');
const table = base.getTableByIdIfExists(cursor.activeTableId);
const record = useRecordById(table, cursor.selectedRecordIds[0] || '');
const [status, setStatus] = useState('idle');
const [deckUrl, setDeckUrl] = useState(null);
async function generateDeck() {
if (!record) return;
setStatus('submitting');
```javascript
const prompt = buildPrompt(record);
const res = await fetch('https://2slides.com/api/v1/slides/generate', {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ prompt, pages: 10, theme: 'corporate-navy' }),
});
const { jobId } = await res.json();
setStatus('generating');
pollJob(jobId);
}
async function pollJob(jobId) {
const interval = setInterval(async () => {
const res = await fetch(`https://2slides.com/api/v1/jobs/${jobId}`, {
headers: { 'Authorization': `Bearer ${apiKey}` },
});
const job = await res.json();
if (job.status === 'success') {
clearInterval(interval);
setDeckUrl(job.downloadUrl);
setStatus('ready');
await table.updateRecordAsync(record, {
'Deck URL': { url: job.downloadUrl },
'Deck Status': { name: 'Готово' },
});
} else if (job.status === 'failed') {
clearInterval(interval);
setStatus('failed');
}
}, 5000);
}
return (
<Box padding={3}>
<Button onClick={generateDeck} disabled={status === 'generating'}>
{status === 'generating' ? 'Создание…' : 'Создать презентацию'}
</Button>
{deckUrl && <Text>Презентация готова: <a href={deckUrl}>Скачать</a></Text>}
</Box>
);
}function buildPrompt(record) {
return `Создайте презентацию из 10 слайдов для ${record.getCellValueAsString('Account')}.
Воронка: ${record.getCellValueAsString('Pipeline Value')}.
Этап: ${record.getCellValueAsString('Stage')}.
Примечания: ${record.getCellValueAsString('Notes')}.`;
}
initializeBlock(() => <DeckGenerator />);Это даёт вам кнопку «Создать презентацию» в один клик внутри любого представления Airtable. Паттерн Extension также упрощает повторное использование одного API-ключа для всей команды через globalConfig. Для более широкого взгляда на продуктовую разработку и встраивание AI-генерации презентаций в любой SaaS-интерфейс см. интеграция AI-генерации слайдов в SaaS-продукт.
Полезная нагрузка API 2Slides для данных Airtable
Конечная точка /api/v1/slides/generate принимает следующую JSON-структуру. Всё, кроме prompt, является необязательным, но рабочие процессы на основе Airtable выигрывают от явного указания pages, theme и language для согласованного результата.
{
"prompt": "Create a 12-slide Q4 pipeline review for Acme Corp. Pipeline value: $420,000 across 7 open deals. Top account: Globex ($180,000, Proposal stage). At-risk: Initech ($60,000, stalled 28 days). Structure: title, executive summary, pipeline overview chart, account-by-account, risks, forecast, recommended next actions, appendix.",
"pages": 12,
"theme": "corporate-navy",
"language": "en",
"aspectRatio": "16:9",
"tone": "executive",
"includeSpeakerNotes": true,
"webhook": "https://your-app.com/webhooks/deck-ready"
}Ответ:
{ "jobId": "tl_a1b2c3d4e5", "status": "pending" }Чтобы проверить прогресс без webhooks, опрашивайте GET /api/v1/jobs/:id. При успешном ответе (success) возвращаются downloadUrl (файл .pptx), pdfUrl (если был запрошен PDF) и pages (массив метаданных для каждой страницы, включая URL изображений и голосовых записей).
Связанные конечные точки V1, которые стоит знать для рабочих процессов Airtable:
POST /api/v1/slides/generate— основной эндпоинт для создания презентаций из текстового запроса.POST /api/v1/slides/create-pdf-slides— принимает исходный PDF (например, загруженное вложение из Airtable) и создает презентацию с его кратким содержанием.POST /api/v1/slides/create-like-this— клонирует структуру из существующей презентации; полезно, когда нужно, чтобы каждый еженедельный отчёт для клиента соответствовал шаблону.POST /api/v1/slides/generate-narration— генерирует аудио-озвучку для каждого слайда. Используйте вместе с конвейером экспорта видео для асинхронных обновлений в стиле Loom.GET /api/v1/slides/download-slides-pages-voices/:jobId— массовая выгрузка всех изображений слайдов и аудиофайлов в виде ZIP-архива, удобно для полей вложений в Airtable.GET /api/v1/jobs/:id— эндпоинт опроса для проверки статуса задачи.GET /api/v1/themes/search?query=corporate— каталог тем с поиском, позволяет пользователям Airtable выбирать тему через поле связанной записи.
4 реальных паттерна презентаций на основе Airtable
Паттерн 1: Обзор воронки продаж
Структура базы: таблица Deals с полями Account, Stage, ARR, Owner, Last Contact, Risks, Next Step.
Триггер: расписание на пятницу 8:00, отфильтрованное по сделкам, где Stage имеет значение Proposal или Negotiation.
Построение промпта: агрегируйте все совпадающие записи в один промпт с итогами по этапам, топ-5 списком по ARR и отмеченным списком сделок без контакта 14+ дней. Установите pages: 12, theme: corporate-navy, tone: executive.
Результат: каждый понедельник утром руководитель отдела продаж открывает Airtable и видит готовую презентацию с названием "Pipeline Review — Week of {date}", уже прикреплённую к синхронизированной таблице "Weekly Reviews". Никакого ручного копирования слайдов.
Паттерн 2: Ежемесячный отчёт по контент-календарю
Структура базы: таблица Content с полями Title, Publish Date, Channel, Views, Engagement Rate, Author.
Триггер: первое число каждого месяца, автоматизация запускается для записей за предыдущие 30 дней.
Построение промпта: ранжируйте по вовлечённости, вычислите дельту месяц к месяцу, сгруппируйте по каналам. Попросите модель создать презентацию на 10 слайдов со структурой: итоги, лучшие результаты, худшие результаты, распределение по каналам, рейтинг авторов, рекомендации. Установите pages: 10, theme: editorial, includeSpeakerNotes: true.
Результат: контент-лиды получают презентацию, которую можно использовать на ежемесячном совещании без необходимости работать в PowerPoint.
Паттерн 3: Ежеквартальный отчёт по проектам
Базовая структура: таблица Projects с полями Client, Status, Completion %, Milestones, Blockers, Hours Used, Hours Budgeted.
Триггер: ручная кнопка в расширении Airtable, настроенная на одного клиента за раз.
Конструкция промпта: извлечь все проекты клиента за последний квартал, суммировать по статусу выполнения, выявить все блокеры, рассчитать использование часов. Структурировать презентацию следующим образом: титульный слайд, квартал в общих чертах, разбор проекта за проектом, блокеры + риски, прогноз на следующий квартал, рекомендуемые корректировки объёма. Установить pages: 14, theme: consulting-slate.
Результат: менеджер проекта открывает карточку клиента, нажимает «Сгенерировать презентацию для квартального отчёта» и получает готовый документ на 14 слайдов менее чем за минуту. Просматривает, при необходимости редактирует в PowerPoint и отправляет.
Паттерн 4: Обновление CRM для инвесторов
Базовая структура: таблица Investors с полями Fund, Stage Interest, Last Meeting, Notes, Intro Via.
Триггер: срабатывает при изменении Status на Scheduled Follow-Up.
Создание шаблона обновления для инвесторов
Конструкция промпта: создайте презентацию с обновлениями компании, адаптированную под интересы инвестора на заявленной им стадии. Извлекайте метрики компании из связанной таблицы KPIs — MRR (ежемесячный регулярный доход), темп роста, burn rate (скорость сжигания средств), runway (взлётная полоса), численность команды — и внедряйте их в промпт. Структура: титульный слайд, что изменилось с последнего разговора, обновление KPI, новые логотипы клиентов, дорожная карта продукта, команда, запрос. Установите pages: 15, theme: startup-modern и используйте create-like-this, указывая на предыдущую презентацию, чтобы каждое обновление для инвесторов имело единообразный визуальный стиль.
Результат: каждое последующее обращение к инвестору получает персонализированную презентацию в фирменном стиле без необходимости основателю пересобирать её из мастер-шаблона.
Часто задаваемые вопросы
Как передать вложения Airtable (PDF, презентации) в API 2Slides?
Airtable предоставляет вложения в виде URL в данных записи. Для PDF-файлов вызовите POST /api/v1/slides/create-pdf-slides с URL вложения в поле sourcePdfUrl. Для существующей презентации PowerPoint, стиль которой вы хотите применить, сначала скачайте вложение, затем вызовите create-like-this с загрузкой файла. Оба эндпоинта возвращают jobId, который опрашивается так же, как и generate.
Можно ли использовать сводные и расчётные поля Airtable в промпте?
Да, и это рекомендуется делать. Сводные поля (общий ARR, средний размер сделки, количество проектов в зоне риска) создают именно те сводные числа, которые делают презентации полезными. Ссылайтесь на них так же, как на любое другое поле в скрипте Automation — record.getCellValueAsString('Total ARR') — и встраивайте их в строку промпта.
Что произойдёт, если задание 2Slides завершится ошибкой?
Неудачные задания возвращают status: "failed" из /api/v1/jobs/:id с полем error, описывающим причину (чаще всего: некорректный промпт, неподдерживаемый slug темы, недостаточно кредитов). В производственных процессах Airtable обрабатывайте это на этапе опроса, установите Deck Status = Failed для записи и при необходимости повторите попытку с более простым промптом. Планируйте одну повторную попытку на запись; постоянные ошибки обычно указывают на ошибку в конструкции промпта, которую стоит зарегистрировать.
Как защитить API-ключ 2Slides в скриптах Airtable?
Для скриптов Automations храните ключ в отдельной таблице-конфигурации с одной записью и читайте его динамически, или передавайте как входную переменную, ссылающуюся на секретную переменную окружения в Zapier/Make. Для Extensions используйте globalConfig.setAsync('TWO_SLIDES_API_KEY', value) через одноразовый экран настройки администратора — это сохраняет ключ в метаданных базы, а не в коде, контролируемом системой версий.
Могут ли несколько участников команды использовать один API-ключ без превышения лимитов?
Да. Лимиты 2Slides для ключей тарифа Team достаточно щедрые (обычно 60 запросов/минуту, 500/час), что комфортно поддерживает 10-20 активных пользователей Airtable, создающих презентации. Для высоконагруженных программных процессов — например, ежедневная генерация презентации для каждого из 2000 клиентов — разделяйте на пакеты и распределяйте вызовы во времени, или запросите Enterprise-ключ с повышенными лимитами.
Вывод
Airtable превосходно справляется с хранением структурированных, реляционных данных для совместной работы команды. PowerPoint превосходно справляется с представлением информации людям. Разрыв между ними — разрыв «теперь превратите это в презентацию» — раньше отнимал часы каждую неделю у руководителей отделов продаж, контент-маркетологов, менеджеров проектов и основателей компаний. В 2026 году этот разрыв закрывается одним webhook или одной кнопкой.
Два метода в этом руководстве охватывают весь спектр: no-code путь позволяет запустить решение в производство за один день без какой-либо инфраструктуры, а путь через Extension дает вашей команде нативную кнопку «Создать презентацию», которая находится прямо внутри Airtable. Оба варианта сходятся к одному и тому же контракту /api/v1/slides/generate, что означает, что вы можете начать с Zapier, проверить структуру промпта на реальных записях и перейти к кастомному Extension, как только рабочий процесс будет отработан. Четыре паттерна выше — обзор воронки продаж, контент-отчет, квартальный отчет по проекту, обновление для инвесторов — охватывают большинство реальных сценариев использования Airtable для создания презентаций, и они намеренно достаточно компактны, чтобы вставить их в свою базу и адаптировать за один день.
Превратите любое представление Airtable в PowerPoint — получите API-ключ 2Slides и подключите его к автоматизациям Airtable меньше чем за час.
About 2Slides
Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.
Try For Free