2Slides Logo
Airtable转AI演示文稿工作流指南(2026)
2Slides Team
7 min read

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年架构分离了三个关注点:

  1. 数据层(Airtable) — 记录、视图、筛选器、汇总。这是您的数据源头所在。演示文稿生成工作流程不应要求在其他地方复制数据。
  2. 编排层(Airtable Automations、Zapier、Make或自定义扩展) — 监听触发器(按钮点击、状态变更、定时任务)、查询相关记录、将其格式化为提示词并调用2Slides API的粘合剂。
  3. 生成层(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. ![Screenshot of Zapier HTTP request step with 2Slides endpoint](https://example.com/zapier-http.png) 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?q=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