

Airtable 到 AI 演示文稿工作流指南 (2026)
Airtable 是数千个团队的真实数据源数据库——CRM 流程管道、项目跟踪器、内容日历、投资者 CRM、库存系统。2026 年的 Airtable 到演示文稿流程可以使用两种方法在不到一分钟内将任何 Airtable 视图转换为完整的 PowerPoint 演示文稿:(1) 通过 Airtable Automations + Make/Zapier + 2Slides API 实现无代码,适用于每条记录或每个视图的演示文稿(每周客户评审、每月投资者更新);(2) 使用 2Slides V1 API 的自定义 Airtable Extension,适用于在 Airtable 内部按需生成演示文稿。本指南详细介绍这两种工作流,包含可用代码、确切的 2Slides API 有效负载,以及四种真实的 Airtable 驱动演示文稿模式(销售管道评审、内容日历月度报告、项目跟踪器季度业务审查、投资者 CRM 更新),您可以将其调整应用到自己的数据库。每种模式都提供确切的字段映射、提示构建逻辑和轮询策略,让您可以将其粘贴到自己的工作区中,并在下午结束前拥有一个生产就绪的集成。
2026年Airtable到演示文稿的架构
大多数Airtable数据库已经包含了演示文稿80%的内容:数字、名称、日期、状态标志。缺少的是叙述层——标题、框架设定、以及"这对业务意味着什么"。这正是大语言模型演示文稿生成器填补的空白。
2026年架构分离了三个关注点:
- 数据层(Airtable) — 记录、视图、筛选器、汇总。这是您的数据源头所在。演示文稿生成工作流程不应要求在其他地方复制数据。
- 编排层(Airtable Automations、Zapier、Make或自定义扩展) — 监听触发器(按钮点击、状态变更、定时任务)、查询相关记录、将其格式化为提示词并调用2Slides API的粘合剂。
- 生成层(2Slides V1 API) —
/api/v1/slides/generate端点接受提示词以及可选的主题和页数参数,然后异步生成包含AI生成叙述、结构化图表、演讲者备注和可选旁白音频的PowerPoint文件。
编排层是实现选择至关重要的地方。希望零代码的团队会选择 Airtable Automations + Zapier webhooks。希望在 Airtable 内部直接使用"生成演示文稿"按钮的团队则会构建自定义 Extension。两种路径都汇聚到相同的 API 契约上,因此您可以先用无代码路径进行原型设计,之后再升级为 Extension 路径进行加固。
Please structure the deck as: [1] Cover, [2] Relationship Timeline, [3–5] Pipeline Breakdown, [6–7] Risk & Mitigation, [8] Next Steps, [9] Success Metrics, [10] Thank You.`;
output.set('prompt', prompt);
This prompt is tuned to mirror the structure a customer success manager would manually build — call it **prompt engineering for your CRM**.
### Step 3: Send the prompt to 2Slides via Zapier
Connect the automation to Zapier using a webhook trigger. The Zap has two steps:
1. **HTTP POST to 2Slides** (`/api/v1/generate`) with the prompt and template ID.
2. **Parse the `job_id`** from the response and write it back to Airtable using Zapier's Airtable "Update Record" action — into the `Deck Job ID` field.
The **template ID** can be hard-coded (one standard design) or read from an Airtable lookup if you route different record types to different templates (proposal vs. QBR vs. onboarding).
### Step 4: Poll for completion or use a webhook
2Slides returns results asynchronously. You can either:
- **Poll** using a scheduled Zap every 2 minutes that checks open `Deck Job ID` records against `/api/v1/status/:job_id`.
- **Receive a webhook** when the deck is ready, then update Airtable directly from 2Slides's webhook payload.
When the deck is ready, write the public URL to `Deck URL` and set `Deck Status` to *Ready*. The CRM user clicks one link — done.
---
## Method 2: Code-Light (Make.com / n8n)
If your trigger logic is more complex — *"generate a deck every Sunday summarizing all deals that moved stage this week"* or *"create a unique deck per contact on a filtered view"* — visual workflow tools like Make.com (formerly Integromat) or n8n give you branching, iteration, and in-line JavaScript without deploying a server.
### Step 1: Trigger on schedule or view
Set a **scheduled trigger** (e.g., every Monday 9 AM) that queries an Airtable view via the Airtable module. Use a filter like `{Stage Change Date} >= dateAdd(today(), -7, 'days')`.
Alternatively, trigger on **"New record in view"** if you maintain a filtered view called "Needs Deck."
### Step 2: Loop and accumulate data
If you need **one deck per record**, add a **for-each iterator** around the list of records. If you want a **single rollup deck**, use an array aggregator to collect all records into one JSON payload, then generate a single prompt referencing the entire array.
Example prompt for a rollup (inserted via JavaScript in Make):
```javascript
const deals = input.array.map(d =>
`• ${d.fields.Name} ($${d.fields.Value}, stage: ${d.fields.Stage})`
).join('\n');
return `Create a weekly pipeline report.
Deals that advanced this week:
${deals}
# 逐步指南:在 Airtable 中自动化销售客户报告幻灯片
**结构:**标题、执行摘要、关系历史、销售管线状态、
风险和障碍、机会规模、建议的下一步、附录。`;
output.set('prompt', prompt);
output.set('recordId', record.id);步骤 3:将 webhook 发送到 Zapier(或 Make)
添加一个**"发送 webhook"**操作,POST 到 Zapier 的 catch hook。Zapier 的第二步调用 2Slides API:
POST https://2slides.com/api/v1/slides/generate
Headers:
Authorization: Bearer {{YOUR_2SLIDES_API_KEY}}
Content-Type: application/json
Body:
{
"prompt": "{{prompt from Airtable}}",
"pages": 10,
"theme": "corporate-navy",
"language": "en",
"webhook": "https://hooks.zapier.com/hooks/catch/XXXXX/airtable-deck-ready"
}响应包含一个 jobId。通过 Zapier 的 Airtable 操作将其存储回 Airtable 记录,并将 Deck Status 设置为 Generating
步骤 4:处理完成 webhook
2Slides 在作业完成后调用您的 webhook URL。该 Zap 读取 downloadUrl 并用 Deck URL``Deck Status = Ready 更新 Airtable 记录。总端到端延迟:通常为 40-75 秒。
如果您不想使用 webhooks,可以从第二个按计划触发的 Zap 每 5 秒轮询一次 /api/v1/jobs/:id。要深入了解轮询模式和重试逻辑,请参阅我们的配套指南:使用 Python 和 2Slides API 自动化演示文稿生成。
方法二:自定义 Airtable Extension
当您希望在 Airtable 用户界面中直接嵌入一个"生成演示文稿"按钮——无需外部 Zap、无需 webhook 路由——自定义 Extension 是正确的选择。Airtable Extensions 是在基础库内渲染的 React 应用程序,可以使用 fetch 调用外部 API。
以下是一个最小化的 Extension 示例,它读取选定的记录,调用 /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: 'Ready' },
});
} 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 `为 ${record.getCellValueAsString('Account')} 创建一个 10 页的演示文稿。
销售管道价值:${record.getCellValueAsString('Pipeline Value')}。
阶段:${record.getCellValueAsString('Stage')}。
备注:${record.getCellValueAsString('Notes')}。`;
}
initializeBlock(() => <DeckGenerator />);这为您在任何 Airtable 视图中提供了一个一键"生成演示文稿"按钮。扩展模式还使您可以通过 globalConfig 在整个团队中轻松重用单个 API 密钥。有关将 AI 演示文稿生成嵌入任何 SaaS 界面的更广泛产品工程视角,请参阅将 AI 幻灯片生成集成到 SaaS 产品。
用于 Airtable 数据的 2Slides API 载荷
/api/v1/slides/generate 端点接受以下 JSON 结构。除了 prompt 之外,所有内容都是可选的,但由 Airtable 驱动的工作流程受益于明确设置 pages、theme 和 language,以确保输出一致。
{
"prompt": "为 Acme Corp. 创建一个 12 页的第四季度销售管道审查。管道价值:420,000 美元,涵盖 7 个开放交易。最大客户:Globex(180,000 美元,提案阶段)。风险客户:Initech(60,000 美元,停滞 28 天)。结构:标题、执行摘要、管道概览图表、逐客户分析、风险、预测、建议的后续行动、附录。",
"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" }如果不使用 webhook,可以通过轮询 GET /api/v1/jobs/:id 来检查进度。success 响应会返回 downloadUrl(.pptx 文件)、pdfUrl(如果请求了 PDF)以及 pages(包含每页元数据的数组,包括图像和语音 URL)。
值得了解的用于 Airtable 工作流程的其他 V1 端点:
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(谈判)的交易。
**提示词构建:**将所有匹配记录汇总到单个提示词中,包含按阶段分组的总计、按 ARR 排序的前 5 名列表,以及标记 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(作者)等字段。
**触发器:**每月 1 号,自动化流程针对过去 30 天的记录运行。
**提示词构建:**按互动率排序,计算环比变化,按渠道分组。要求模型生成 10 页幻灯片,结构为:概述、表现最佳内容、表现欠佳内容、渠道组合、作者排行榜、建议。设置 pages: 10、theme: editorial、includeSpeakerNotes: true。
结果: 内容负责人获得一份可直接带入月度评审会议的演示文稿,无需打开 PowerPoint。
模式 3:项目跟踪季度业务评审
基础结构: Projects 表,包含 Client、Status、Completion %、Milestones、Blockers、Hours Used、Hours Budgeted。
触发方式: 在 Airtable Extension 中手动按钮操作,每次针对单个客户。
提示词构建: 提取该客户上季度的所有项目,按完成状态汇总,显示所有阻碍因素,计算工时利用率。演示文稿结构为:标题页、季度概览、逐项目回顾、阻碍因素 + 风险、下季度预测、推荐的范围调整。设置 pages: 14、theme: consulting-slate。
结果: 项目经理打开客户记录,点击"生成季度业务评审演示文稿",不到一分钟即可获得一份 14 页的交付成果。他们可以审阅、在 PowerPoint 中编辑(如需),然后发送。
模式 4:投资人 CRM 更新
基础结构: Investors 表,包含 Fund、Stage Interest、Last Meeting、Notes、Intro Via。
触发方式: 当 Status 更改为 Scheduled Follow-Up 时触发。
提示词构建:为投资人定制公司进展汇报PPT
根据投资人所关注的阶段,构建专属的公司进展汇报幻灯片。从关联的 KPIs 表中提取公司指标——MRR(月度经常性收入)、增长率、烧钱率、资金跑道、员工人数——并将其注入提示词中。
结构包括:
- 标题
- 自上次沟通以来的变化
- KPI 更新
- 新签客户
- 产品路线图
- 团队情况
- 融资诉求
设置 pages: 15(页数:15),theme: startup-modern(主题:现代创业风格),并使用 create-like-this 指向之前的演示文稿,确保每份投资人进展汇报都保持一致的视觉识别。
**成果:**每位投资人都能收到个性化、符合品牌调性的演示文稿,创始人无需从主模板重新制作。
通过 2Slides 的智能提示词系统和数据集成能力,创始人可以高效生成专业的投资人沟通材料,将更多精力投入到业务增长本身。
常见问题
如何将 Airtable 附件(PDF、演示文稿)传递给 2Slides API?
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 任务失败会怎样?
失败的任务会从 /api/v1/jobs/:id 返回 status: "failed",并带有一个 error 字段描述失败原因(最常见的是:提示词格式错误、不支持的主题 slug、积分不足)。在生产环境的 Airtable 工作流中,在轮询步骤中捕获此错误,在记录上设置 Deck Status = Failed,并可选择使用更简单的提示词重试。为每条记录预留一次重试;持续失败通常表明提示词构造存在值得记录的 bug。
如何让我的 2Slides API 密钥不出现在 Airtable 脚本中?
对于自动化脚本,将密钥存储在单记录配置表中并动态读取,或将其作为输入变量传递,该变量引用 Zapier/Make 中的环境密钥。对于扩展,通过一次性管理员设置屏幕使用 globalConfig.setAsync('TWO_SLIDES_API_KEY', value) —— 这会将密钥存储在 base 的元数据中,而不是源代码控制的代码中。
多个团队成员可以共享一个 API 密钥而不触及速率限制吗?
可以。2Slides 的速率限制对于团队计划密钥非常宽松(通常为每分钟 60 次请求,每小时 500 次),可以轻松支持 10-20 个活跃的 Airtable 用户触发演示文稿生成。对于更高容量的程序化工作流程 —— 例如,每晚为 2,000 个客户各生成一个演示文稿 —— 可以分批处理并错开调用时间,或申请具有更高限制的企业密钥。
总结
Airtable 擅长存储结构化、关联性强、团队共享的数据。PowerPoint 擅长向人类传递叙事内容。它们之间的鸿沟——也就是"现在把这些数据做成演示文稿"的鸿沟——过去每周都会让销售负责人、内容营销人员、产品经理和创始人消耗数小时。到 2026 年,这一鸿沟只需一个 webhook 或一个按钮即可弥合。
本指南中的两种方法涵盖了全部场景:无代码路径让你在一个下午就能零基础设施地投入生产,而 Extension 路径则为你的团队提供一个原生感的"生成演示文稿"按钮,直接内置在 Airtable 中。两种方法都基于同一个 /api/v1/slides/generate 接口,这意味着你可以从 Zapier 起步,针对真实记录验证提示词结构,待工作流程验证成熟后再升级到自定义 Extension。上述四种模式——销售漏斗评审、内容报告、项目 QBR、投资者更新——涵盖了大多数基于 Airtable 生成演示文稿的真实用例,并且它们都刻意保持精简,可以在一个下午内粘贴到你自己的 base 中并完成调整。
将任何 Airtable 视图转化为 PowerPoint——获取 2Slides API 密钥,并在一小时内将其接入你的 Airtable 自动化流程。
About 2Slides
Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.
Try For Free