

Airtable'ist AI-esitluseni töövoo juhend (2026)
Airtable on tuhandete meeskondade tõeallikandmebaas — CRM-torustikud, projektijälgimissüsteemid, sisukorralduskalendrid, investorite CRM-id, laoarvestussüsteemid. 2026. aasta Airtable'ist-slaidipakki töövoog muudab mis tahes Airtable'i vaate lõpetatud PowerPointi esitluseks alla minuti jooksul, kasutades kahte lähenemist: (1) koodivaba Airtable Automations + Make/Zapier + 2Slides API kaudu, ideaalne kirje- või vaatepõhiste esitluste jaoks (iganädalased klientide ülevaated, igakuised investorite ajakohastused); (2) kohandatud Airtable Extension, kasutades 2Slides V1 API-d, ideaalne nõudmisel esitlusgeneratsiooni jaoks otse Airtable'i seest. See juhend selgitab mõlemat töövogu koos toimiva koodiga, täpse 2Slides API andmeformaadiga ja nelja reaalse Airtable'i-põhise esitlusmustriga (müügitorustiku ülevaade, sisukorralduskalendri kuuaruanne, projektijälgija QBR, investori-CRM-i ajakohastus), mida saate kohandada oma baasi jaoks. Iga muster sisaldab täpseid väljavastavusi, viiba konstrueerimise loogikat ja küsitlusstrateegiat, nii et saate selle kleepida oma tööruumi ja omada pärastlõunaks valmis tootmisvalmis integratsiooni.
2026 Airtable-to-Deck Arhitektuur
Enamik Airtable'i baase sisaldab juba 80% esitlusest: numbrid, nimed, kuupäevad, oleku lipud. Puudu on narratiivne kiht — pealkiri, raamistik, "mida see ettevõttele tähendab." Just seda lünka täidab suure keelemudeliga esitluste generaator.
2026 arhitektuur eraldab kolm valdkonda:
- Andmekiht (Airtable) — kirjed, vaated, filtrid, koondandmed. Siin asub teie tõeallikas. Ükski esitluste genereerimise töövoo osa ei tohiks nõuda andmete dubleerimist mujale.
- Orkestreerimine (Airtable Automations, Zapier, Make või kohandatud laiendus) — liim, mis kuulab päästikuid (nupu vajutus, oleku muutus, ajastatud cron), pärib asjakohaseid kirjeid, vormindab need promptiks ja kutsub 2Slides API-t.
- Genereerimiskiht (2Slides V1 API) — lõpp-punkt võtab vastu prompti koos valikuliste teema ja lehekülgede arvu parameetritega, seejärel toodab asünkroonselt PowerPointi faili AI-genereeritud narratiivi, struktureeritud diagrammide, esineja märkuste ja valikulise jutustava heliga.
/api/v1/slides/generate
Orkestreerimine on kiht, kus rakendusvalik loeb. Meeskonnad, kes soovivad nullkoodi, kasutavad Airtable Automations + Zapier webhooks'e. Meeskonnad, kes soovivad "Loo esitlus" nuppu otse Airtable'i sees, ehitavad kohandatud Extension'i. Mõlemad teed kohtuvad sama API lepingu juures, seega saad prototüübi luua koodivaba teega ja hiljem tugevdada Extension'i teeks.
Create title slide, executive summary, pipeline overview, open opportunities, risks & mitigations, proposed next steps, timeline, contact plan, terms, and thank-you slide. Use a clean, modern design.`;
output.set("prompt", prompt);
Then add a **"Run script"** action with a web request (Airtable supports `fetch` in automations): ```javascript const API_KEY = "your_2slides_api_key_here"; const TEMPLATE_ID = "t_abc123"; // optional const inputConfig = input.config(); const prompt = inputConfig.prompt; const recordId = inputConfig.recordId; const response = await fetch("https://api.2slides.ai/v1/generate", { method: "POST", headers: { "Authorization": `Bearer ${API_KEY}`, "Content-Type": "application/json" }, body: JSON.stringify({ prompt: prompt, template: TEMPLATE_ID, format: "pptx" }) }); const data = await response.json(); // Write back Job ID await base.getTable("Accounts").updateRecordAsync(recordId, { "Deck Job ID": data.job_id, "Deck Status": "Generating" }); output.set("jobId", data.job_id);
Step 3: Poll for completion with Zapier
2Slides jobs typically finish in 45–90 seconds. Because Airtable automations don't natively support delayed polling loops, add a Zapier Zap:
- Trigger: Airtable "Updated record" (watch Deck Status = Generating)
- Action 1: Delay 60 seconds
- Action 2: HTTP GET with
https://api.2slides.ai/v1/jobs/{job_id}Authorization: Bearer {API_KEY} - Action 3: Filter — only continue if
status == "completed" - Action 4: Update Airtable record
- Deck Status →
Ready - Deck URL →
{download_url}
- Deck Status →
If the job is still processing, the Zap will stop at the filter and the record remains Generating; a second update a minute later will re-trigger the Zap.
Step 4: Notify the user
Add a final Airtable automation or Zapier step:
- Trigger: Deck Status is Ready
- Action: Send email or Slack message with the
Deck URL
Method 2: Low-Code (Make.com scenario)
Make.com offers a visual canvas, built-in HTTP modules, and native delay/polling — a middle ground for teams who want more control without writing Python.
Visual flow
- Airtable: Watch records (trigger on Deck Status = Queued)
- Set variables (extract record fields into reusable variables)
- Text composer: Build the prompt
- HTTP: POST
https://api.2slides.ai/v1/generate - Airtable: Update record (write , set status Generating)
job_id - Repeater (5×) + Sleep 20s
Inside loop:- HTTP: GET
/v1/jobs/{job_id} - Router:
- Path A (status = completed) → Update record (Ready, write URL) → Break
- Path B (status ≠ completed) → Continue
- HTTP: GET
- Error handler (if loop exhausted): Update record (Failed)
Make.com's error handling and retry logic are more robust than stacked Zaps, and the scenario runs as a single execution (no polling record noise).
Method 3: Full-Code (Python + Airtable API + 2Slides SDK)
For high-throughput, multi-tenant SaaS, or complex conditional logic (e.g., if pipeline > $500k, use executive template; else use sales template), a backend service is the right architecture.
Architecture
- Trigger: Airtable webhook → AWS Lambda / Google Cloud Function
- Orchestration: Python function polls 2Slides, writes back to Airtable
- Observability: Log job IDs to CloudWatch / Cloud Logging
Code
import os import time import requests from pyairtable import Table AIRTABLE_API_KEY = os.environ["AIRTABLE_API_KEY"] AIRTABLE_BASE_ID = os.environ["AIRTABLE_BASE_ID"] AIRTABLE_TABLE_NAME = "Accounts" SLIDES_API_KEY = os.environ["SLIDES_API_KEY"] table = Table(AIRTABLE_API_KEY, AIRTABLE_BASE_ID, AIRTABLE_TABLE_NAME) def lambda_handler(event, context): """ Triggered by Airtable webhook when Deck Status → Queued. event["recordId"] contains the Airtable record ID. """ record_id = event["recordId"] record = table.get(record_id) fields = record["fields"] # Build prompt prompt = f"""Create a 10-slide account review for {fields['Account Name']}. Pipeline: ${fields['Pipeline Value']:,} Stage: {fields['Stage']} Risks: {fields['Risks']} Next action: {fields['Next Action']} # Struktureeritud kliendiesitluste automaatne loomine Airtable'i ja 2Slides API abil Hooldage iga müügitegevust **Airtable'i** *Accounts* tabelis koos kontakti ajaloo, tehingukanali ja riskidega. Kui **Deck Status** muutub, käivitage Airtable'i automatiseerimine 2Slides'i API kaudu täisliku klientide äriplaani loomiseks. --- ## Samm-sammuline läbivaatus ### 1. samm: Airtable'i baasi loomine Looge tabel nimega **Accounts**, väljadega: | Välja nimi | Tüüp | Näide | |------------|------|-------| | Account Name | Üherea tekst | *ACME Corp* | | Owner | Kasutaja | *Alice Johnson* | | Deck Status | Üksikvalik | *Not Started, Requested, Generating, Ready* | | Deck URL | URL | *(täidetakse hiljem)* | | Job ID | Üherea tekst | *(täidetakse hiljem)* | | ARR (€) | Number | 450000 | | Industry | Üherea tekst | *Manufacturing* | | Last Touch | Kuupäev | 2025-04-18 | | … | … | … | Lisage nii palju kohandatud välju, kui vajate (tootekasutusnäitajad, võtmeisikud jne). ### 2. samm: Airtable'i automatiseerimine Käivitage **Kui kirje vastab tingimustele** → tingimus: `Deck Status` = *Requested*. Lisage **Skripti käivitamine** tegevus. Skript loob SEO-optimeeritud, struktureeritud prompti: ```javascript const table = base.getTable('Accounts'); const record = await input.recordAsync(); const accountName = record.getCellValue('Account Name'); const arr = record.getCellValue('ARR (€)') || 0; const industry = record.getCellValue('Industry') || 'General'; const prompt = `Loo professionaalne äriplaani esitlus ettevõttele ${accountName}. **Kontekst** Tööstusharu: ${industry} ARR: €${arr.toLocaleString('et-EE')} **Nõutav struktuur** Iga lehekülg peab olema selge, andmepõhine ja täitva tiimi orienteeritud. Struktuur: pealkiri, kokkuvõte, suhete ajalugu, müügitoru olek, riskid ja takistused, võimaluste hindamine, soovitatud järgmised sammud, lisa.`; output.set('prompt', prompt); output.set('recordId', record.id);
3. samm: Saada webhook Zapier'ile (või Make'ile)
Lisage "Saada webhook" tegevus, mis POST'ib Zapier'i catch hook'i. Zapier'i teine samm kutsub 2Slides API:
POST https://2slides.com/api/v1/slides/generate Headers: Authorization: Bearer {{TEIE_2SLIDES_API_VÕTI}} Content-Type: application/json Body: { "prompt": "{{prompt Airtable'ist}}", "pages": 10, "theme": "corporate-navy", "language": "et", "webhook": "https://hooks.zapier.com/hooks/catch/XXXXX/airtable-deck-ready" }
Vastus sisaldab
jobIdDeck Status4. samm: Käsitle valmimise webhook'i
2Slides kutsub teie webhook URL'i, kui töö on valmis. See Zap loeb
downloadUrlDeck URLDeck Status = ReadyKui te ei soovi kasutada webhookke, küsitlege
/api/v1/jobs/:idMeetod 2: Kohandatud Airtable laiendus
Kui soovid "Genereeri esitlus" nuppu otse Airtable kasutajaliideses — ilma välise Zap'i või webhook'i marsruutimiseta — on kohandatud laiendus õige lahendus. Airtable laiendused on React rakendused, mis renderduvad baasi sees ja saavad väliseid API-sid kutsuda kasutades
fetchSiin on minimaalne laiendus, mis loeb valitud kirje, kutsub
/api/v1/slides/generate/api/v1/jobs/:idimport { 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: 'Valmis' }, }); } else if (job.status === 'failed') { clearInterval(interval); setStatus('failed'); } }, 5000); } return ( <Box padding={3}> <Button onClick={generateDeck} disabled={status === 'generating'}> {status === 'generating' ? 'Genereerin…' : 'Genereeri esitlus'} </Button> {deckUrl && <Text>Esitlus valmis: <a href={deckUrl}>Laadi alla</a></Text>} </Box> ); }
function buildPrompt(record) { return `Loo 10-slaidine esitlus ${record.getCellValueAsString('Account')} jaoks. Müügitoru: ${record.getCellValueAsString('Pipeline Value')}. Etapp: ${record.getCellValueAsString('Stage')}. Märkused: ${record.getCellValueAsString('Notes')}.`; } initializeBlock(() => <DeckGenerator />);
See annab teile ühe klõpsuga "Genereeri esitlus" nupu mis tahes Airtable vaates. Extension muster muudab ka lihtsamaks ühe API võtme taaskasutamise kogu teie meeskonnas
globalConfig## 2Slides API Payload Airtable'i Andmete Jaoks Endpoint `/api/v1/slides/generate` aktsepteerib järgmist JSON struktuuri. Kõik väljad peale `prompt` on valikulised, kuid Airtable'i-põhised töövood saavad kasu `pages`, `theme` ja `language` selgesõnalisest määramisest järjepideva väljundi saavutamiseks. ```json { "prompt": "Loo 12-slaitiline Q4 müügitoru ülevaade Acme Corp. jaoks. Müügitoru väärtus: $420,000 läbi 7 avatud tehingu. Peamine klient: Globex ($180,000, Pakkumise staadium). Ohus: Initech ($60,000, seiskunud 28 päeva). Struktuur: tiitelleht, kokkuvõte juhtkonnale, müügitoru ülevaate diagramm, klient-kliendilt, riskid, prognoos, soovitatud järgmised sammud, lisa.", "pages": 12, "theme": "corporate-navy", "language": "en", "aspectRatio": "16:9", "tone": "executive", "includeSpeakerNotes": true, "webhook": "https://your-app.com/webhooks/deck-ready" }
Vastus:
{ "jobId": "tl_a1b2c3d4e5", "status": "pending" }
Edenemise kontrollimiseks ilma webhook'ideta kasuta päringut
GET /api/v1/jobs/:idsuccessdownloadUrl.pptxpdfUrlpagesSeotud V1 endpoint'id, mida on Airtable'i töövoogude puhul kasulik teada:
- — peamine viiba-esitluseks muutmise otspunkt.
POST /api/v1/slides/generate - — võtab vastu lähte-PDF-i (nt üleslaaditud Airtable'i manus) ja loob sellest kokkuvõtva esitluse.
POST /api/v1/slides/create-pdf-slides - — kloonib olemasoleva esitluse struktuuri; kasulik, kui soovid, et iga nädala kliendiülevaade vastaks mallile.
POST /api/v1/slides/create-like-this - — loob igale slaidile diktorheli. Kombineeri video eksportimise töövooluga Loom-stiilis asünkroonsete uuenduste jaoks.
POST /api/v1/slides/generate-narration - — laadib hulgana alla kõik lehekülje pildid ja helifailid ZIP-failina, mugav Airtable'i manuste väljade jaoks.
GET /api/v1/slides/download-slides-pages-voices/:jobId - — tööde oleku jälgimise otspunkt.
GET /api/v1/jobs/:id - — otsitav teemade kataloog, nii et saad lasta Airtable'i kasutajatel valida teema lingitud kirje välja kaudu.
GET /api/v1/themes/search?q=corporate
4 reaalset Airtable'i-põhist esitluse mustrit
Muster 1: Müügitoru ülevaade
Baasi struktuur: tabel
TehingudKlientEtappARROmanikViimane kontaktRiskidJärgmine sammKäivitaja: reede 8:00 ajakava, filtreeritud tehingutele, kus
EtappPromti konstrueerimine: koonda kõik vastavad kirjed ühte prompti koos etappide kogusummadega, top-5 nimekiri ARR järgi ja märgistatud nimekiri tehingutele, millega pole 14+ päeva tegeletud. Määra
pages: 12theme: corporate-navytone: executiveTulemus: iga esmaspäeva hommik avab müügijuht Airtable'i ja leiab sünkroniseeritud tabelist "Iganädalased ülevaated" juba manusena esitluse pealkirjaga "Müügitoru ülevaade — nädal {kuupäev}". Mitte mingit käsitsi slaidide kopeerimist-kleepimist.
Muster 2: Sisukava kuuaruanne
Baasi struktuur: tabel
SisuPealkiriAvaldamise kuupäevKanalVaatamisedKaasatuse määrAutorKäivitaja: iga kuu esimene päev, automatiseerimine töötab eelmise 30 päeva kirjete põhjal.
Promti konstrueerimine: järjesta kaasatuse järgi, arvuta kuu-võrdlus muutus, grupeeri kanali järgi. Küsi mudelt 10-slaidist esitlust struktuuriga: kokkuvõte, parimad tulemused, nõrgemad tulemused, kanalite segu, autorite edetabel, soovitused. Määra
pages: 10theme: editorialincludeSpeakerNotes: trueTulemus: sisumeeskonna liikmed saavad dekilaadse, mille saavad viia igakuisele ülevaatekoosolekule ilma PowerPointi puutumata.
Muster 3: Projekti Jälgimise QBR
Põhistruktuur:
ProjectsClientStatusCompletion %MilestonesBlockersHours UsedHours BudgetedKäivitaja: manuaalne nupp Airtable Extensionis, ulatusega üks klient korraga.
Prompti koostamine: tõmba kõik kliendi projektid viimasest kvartalist, tee kokkuvõte lõpetamise staatuse järgi, too esile kõik takistused, arvuta tundide kasutus. Struktuuri dekk järgmiselt: tiitelleht, kvartali ülevaade, projekt-projekti haaval kokkuvõte, takistused + riskid, prognoos järgmiseks kvartaliks, soovitatud ulatuse muudatused. Määra
pages: 14theme: consulting-slateTulemus: projektijuht avab kliendi kirje, vajutab "Generate QBR Deck" ja saab 14-slaidilise materjaali alla minuti jooksul. Ta vaatab üle, redigeerib vajadusel PowerPointis ja saadab.
Muster 4: Investorite CRM Uuendus
Põhistruktuur:
InvestorsFundStage InterestLast MeetingNotesIntro ViaKäivitaja: käivitatakse, kui
StatusPrompti koostamine: Loo investorile kohandatud ettevõtte uuendusdekk
Koosta ettevõtte uuendusdekk, mis on kohandatud investori deklareeritud staadiumihuvi järgi. Tõmba ettevõtte mõõdikud lingitud
KPIspages: 15theme: startup-moderncreate-like-thisTulemus: iga investori järelkontakt saab personaliseeritud, brändikohase deki ilma, et asutaja peaks mastermallist uuesti ehitama.
Korduma Kippuvad Küsimused
Kuidas edastada Airtable'i manuseid (PDF-id, esitlused) 2Slides API-sse?
Airtable esitab manused kirje andmetes URL-idena. PDF-sisendite jaoks kutsu välja
POST /api/v1/slides/create-pdf-slidessourcePdfUrlcreate-like-thisjobIdgenerateKas Airtable'i koondvälju ja valemivälju saab kasutada küsimuses?
Jah, ja peaksite seda tegema. Koondväljad (kogu ARR, keskmine tehingu suurus, riskialtiste projektide arv) toodavad just selliseid koondarve, mis muudavad esitlused kasulikuks. Viidake neile samamoodi nagu mis tahes teisele väljale oma automaatika skriptis —
record.getCellValueAsString('Total ARR')Mis juhtub, kui 2Slides töö ebaõnnestub?
Ebaõnnestunud tööd tagastavad
/api/v1/jobs/:idstatus: "failed"errorDeck Status = FailedKuidas hoida oma 2Slides API võtit väljaspool Airtable skripte?
Automations skriptide puhul salvesta võti ühe kirjega konfiguratsiooni tabelisse ja loe seda dünaamiliselt või edasta see sisendmuutujana, mis viitab keskkonna saladusele Zapieris/Make'is. Extensions puhul kasuta
globalConfig.setAsync('TWO_SLIDES_API_KEY', value)Kas mitu meeskonnaliiget saavad jagada ühte API võtit ilma määra piirangutesse sattumata?
Jah. 2Slides määra piirangud on Team plaani võtmete puhul heldemeelsed (tavaliselt 60 päringut/minutis, 500/tunnis), mis toetab mugavalt 10-20 aktiivset Airtable kasutajat, kes käivitavad esitlusi. Suurema mahuga programmaatiliste töövoogude jaoks — näiteks ühe esitluse genereerimine kliendi kohta öösel 2000 kliendi peale — jaga partiideks ja ajasta kõned või taotle Enterprise võtit kõrgemate piirangutega.
Kokkuvõte
Airtable on suurepärane struktureeritud, relatsiooniliste, meeskonnas jagatud andmete säilitamiseks. PowerPoint on suurepärane narratiivi esitamiseks inimestele. Nende vaheline lõhe — "nüüd muuda see esitluseks" lõhe — põletas varem iga nädal tunde müügijuhtide, sisturundajate, tootejuhtide ja asutajate jaoks. 2026. aastal sulgub see lõhe ühe webhook'i või ühe nupuvajutusega.
Selles juhendis käsitletud kaks meetodit katavad kogu spektri: koodivaba tee viib teid tootmisse ühe pärastlõuna jooksul ilma infrastruktuurita ja Laiendusetee annab teie meeskonnale Airtable'i sisse integreeritud "Loo esitlus" nupu. Mõlemad kohtuvad samas
/api/v1/slides/generateMuutke iga Airtable'i vaade PowerPointiks — hankige 2Slides API võti ja integreerige see oma Airtable'i automatiseeringutesse alla tunni jooksul.
About 2Slides
Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.
Try For Free