

دليل سير عمل Airtable إلى عرض تقديمي بالذكاء الاصطناعي (2026)
Airtable هي قاعدة البيانات المرجعية لآلاف الفرق — مسارات إدارة علاقات العملاء (CRM)، متتبعات المشاريع، تقاويم المحتوى، أنظمة إدارة علاقات المستثمرين، أنظمة المخزون. يحوّل مسار Airtable إلى العرض التقديمي لعام 2026 أي عرض Airtable إلى عرض تقديمي PowerPoint منجز في أقل من دقيقة باستخدام نهجين: (1) بدون أكواد عبر Airtable Automations + Make/Zapier + 2Slides API، مثالي لعروض تقديمية لكل سجل أو عرض (مراجعات العملاء الأسبوعية، تحديثات المستثمرين الشهرية)؛ (2) امتداد Airtable مخصص باستخدام 2Slides V1 API، مثالي لإنشاء العروض التقديمية عند الطلب من داخل Airtable نفسه. يشرح هذا الدليل كلا سير العمل بأكواد عملية، وبنية 2Slides API الدقيقة، وأربعة أنماط حقيقية للعروض التقديمية المدفوعة بـ Airtable (مراجعة مسار المبيعات، تقرير شهري لتقويم المحتوى، مراجعة ربع سنوية لمتتبع المشروع، تحديث إدارة علاقات المستثمرين) يمكنك تكييفها مع قاعدتك الخاصة. يأتي كل نمط مع تعيينات الحقول الدقيقة، ومنطق بناء الأوامر، واستراتيجية الاستعلام حتى تتمكن من لصقها في مساحة العمل الخاصة بك والحصول على تكامل جاهز للإنتاج بحلول نهاية فترة ما بعد الظهر.
هندسة تحويل Airtable إلى عرض تقديمي 2026
تحتوي معظم قواعد Airtable بالفعل على 80% من العرض التقديمي: الأرقام، الأسماء، التواريخ، علامات الحالة. ما ينقص هو الطبقة السردية — العنوان الرئيسي، الإطار، "ما يعنيه هذا للأعمال." هذه تحديداً هي الفجوة التي يملأها مُولّد العروض التقديمية بنموذج اللغة الكبير.
تفصل هندسة 2026 ثلاثة اهتمامات:
- طبقة البيانات (Airtable) — السجلات، طرق العرض، الفلاتر، التجميعات. هذا هو المكان الذي يعيش فيه مصدر الحقيقة الخاص بك. لا يجب أن يتطلب أي شيء في سير عمل توليد العرض التقديمي تكرار البيانات في مكان آخر.
- طبقة التنسيق (Airtable Automations، Zapier، Make، أو Extension مخصص) — الرابط الذي يستمع للمحفزات (ضغطة زر، تغيير حالة، cron مجدول)، يستعلم عن السجلات ذات الصلة، يُنسقها في prompt، ويستدعي 2Slides API.
- طبقة التوليد (2Slides V1 API) — نقطة النهاية تقبل prompt بالإضافة إلى معاملات اختيارية للمظهر وعدد الشرائح، ثم تُنتج بشكل غير متزامن ملف PowerPoint مع سرد مُولّد بـ AI، ومخططات منظمة، وملاحظات المتحدث، وصوت السرد الاختياري.
/api/v1/slides/generate
طبقة التنسيق هي المكان الذي يهم فيه اختيار التنفيذ. الفرق التي تريد عدم استخدام أي كود تلجأ إلى Airtable Automations + Zapier webhooks. الفرق التي تريد زر "إنشاء عرض تقديمي" داخل Airtable نفسه تبني Extension مخصص. كلا المسارين يتقاربان على نفس عقد API، لذا يمكنك إنشاء نموذج أولي بالمسار بدون كود ثم التحول إلى مسار Extension لاحقاً.
الطريقة الأولى: بدون برمجة (Airtable Automations + Zapier + 2Slides)
المسار بدون برمجة هو الأسرع للوصول إلى الإنتاج — عادةً أقل من ساعة — وهو الخيار الصحيح عندما يكون المُحفز مبنياً على سجل (صفقة جديدة تدخل مرحلة "اقتراح"، مشروع يُحدد على أنه "جاهز للمراجعة ربع السنوية"، حملة تصل إلى نهاية الشهر).
الخطوة الأولى: إعداد قاعدة Airtable
أضف ثلاثة حقول إلى الجدول الذي تريد إنشاء العروض التقديمية منه:
- (اختيار واحد: Queued, Generating, Ready, Failed)
Deck Status - (رابط URL)
Deck URL - (نص من سطر واحد)
Deck Job ID
تتيح هذه الحقول للأتمتة كتابة التقدم مرة أخرى إلى السجل حتى يرى المستخدم العرض التقديمي يظهر في نفس الصف الذي قام بتفعيله منه.
الخطوة الثانية: بناء أتمتة Airtable
أنشئ أتمتة جديدة مع محفز "When record matches conditions" — على سبيل المثال، Deck Status is Queued. أضف إجراء "Run a script" الذي يُنسق السجل في صيغة prompt:
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}. Structure: title, executive summary, relationship history, pipeline status, risks and blockers, opportunity sizing, recommended next steps, appendix.`; output.set('prompt', prompt); output.set('recordId', record.id);
الخطوة الثالثة: إرسال webhook إلى Zapier (أو Make)
أضف إجراء "Send webhook" يرسل POST إلى catch hook في Zapier. الخطوة الثانية في 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" }
تتضمن الاستجابة
jobIdDeck Statusالخطوة الرابعة: معالجة webhook الإكمال
يستدعي 2Slides عنوان webhook الخاص بك بمجرد انتهاء المهمة. يقرأ ذلك الـ Zap
downloadUrlDeck URLDeck Status = Readyإذا كنت لا تريد استخدام webhooks، يمكنك استقصاء
/api/v1/jobs/:idالطريقة 2: امتداد Airtable مخصص
عندما تريد زر "إنشاء عرض تقديمي" مضمّن مباشرة في واجهة Airtable — بدون Zap خارجي، بدون توجيه webhook — فإن الامتداد المخصص هو الشكل المناسب. امتدادات Airtable هي تطبيقات React يتم عرضها داخل القاعدة ويمكنها استدعاء واجهات برمجة التطبيقات الخارجية باستخدام
fetchإليك امتداد بسيط يقرأ السجل المحدد، ويستدعي
/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'); 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 `Create a 10-slide deck for ${record.getCellValueAsString('Account')}. Pipeline: ${record.getCellValueAsString('Pipeline Value')}. Stage: ${record.getCellValueAsString('Stage')}. Notes: ${record.getCellValueAsString('Notes')}.`; } initializeBlock(() => <DeckGenerator />);
يمنحك هذا زر "إنشاء عرض تقديمي" بنقرة واحدة داخل أي عرض في Airtable. يسهّل نمط الامتداد أيضاً إعادة استخدام مفتاح API واحد عبر فريقك بالكامل عبر
globalConfigحمولة API الخاصة بـ 2Slides لبيانات Airtable
تقبل نقطة النهاية
/api/v1/slides/generatepromptpagesthemelanguage{ "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/:idsuccessdownloadUrl.pptxpdfUrlpagesنقاط نهاية V1 ذات الصلة التي يجدر معرفتها لسير عمل Airtable:
- — نقطة النهاية الأساسية لتحويل النص إلى عرض تقديمي.
POST /api/v1/slides/generate - — تقبل ملف PDF مصدر (مثل مرفق تم تحميله على Airtable) وتنتج عرضاً تقديمياً يلخصه.
POST /api/v1/slides/create-pdf-slides - — تستنسخ الهيكل من عرض تقديمي موجود؛ مفيدة عندما تريد أن تتطابق كل مراجعة عميل أسبوعية مع قالب معين.
POST /api/v1/slides/create-like-this - — تولد تعليقاً صوتياً لكل شريحة. يمكن دمجها مع مسار تصدير الفيديو للحصول على تحديثات غير متزامنة بنمط Loom.
POST /api/v1/slides/generate-narration - — تجلب بالجملة جميع صور الصفحات وملفات الصوت كملف ZIP، مفيدة لحقول المرفقات في Airtable.
GET /api/v1/slides/download-slides-pages-voices/:jobId - — نقطة نهاية الاستعلام لحالة المهمة.
GET /api/v1/jobs/:id - — دليل قوالب قابل للبحث، بحيث يمكنك السماح لمستخدمي Airtable باختيار قالب عبر حقل سجل مرتبط.
GET /api/v1/themes/search?q=corporate
4 أنماط حقيقية لإنشاء العروض التقديمية من Airtable
النمط 1: مراجعة مسار المبيعات
هيكل القاعدة: جدول
DealsAccountStageARROwnerLast ContactRisksNext Stepالمحفز: جدولة يوم الجمعة الساعة 8:00 صباحًا، مع التصفية للصفقات حيث
Stageبناء الطلب: تجميع جميع السجلات المطابقة في طلب واحد مع الإجماليات حسب المرحلة، وقائمة أفضل 5 حسب ARR، وقائمة مميزة للصفقات التي لم يتم التواصل بشأنها لمدة 14 يومًا أو أكثر. تعيين
pages: 12theme: corporate-navytone: executiveالنتيجة: كل صباح يوم الاثنين، يفتح مدير المبيعات Airtable ويجد عرضًا تقديميًا بعنوان "مراجعة المسار — أسبوع {التاريخ}" مرفقًا بالفعل بجدول "المراجعات الأسبوعية" المتزامن. لا حاجة لنسخ ولصق الشرائح يدويًا.
النمط 2: تقرير شهري لتقويم المحتوى
هيكل القاعدة: جدول
ContentTitlePublish DateChannelViewsEngagement RateAuthorالمحفز: أول كل شهر، يعمل التشغيل التلقائي على السجلات من آخر 30 يومًا.
بناء الطلب: الترتيب حسب التفاعل، حساب الفرق شهريًا، التجميع حسب القناة. اطلب من النموذج إنشاء عرض تقديمي من 10 شرائح بالهيكل التالي: ملخص، الأداء الأفضل، الأداء الأضعف، مزيج القنوات، ترتيب المؤلفين، التوصيات. تعيين
pages: 10theme: editorialincludeSpeakerNotes: trueالنتيجة: يحصل قادة المحتوى على عرض تقديمي يمكنهم استخدامه في اجتماع المراجعة الشهرية دون لمس PowerPoint.
النمط 3: مراجعة ربع سنوية لمتتبع المشاريع
هيكل القاعدة: جدول
ProjectsClientStatusCompletion %MilestonesBlockersHours UsedHours Budgetedالمحفز: زر يدوي في Airtable Extension، محدد النطاق لعميل واحد في كل مرة.
بناء الطلب: سحب كل مشروع للعميل من الربع الأخير، تلخيص حسب حالة الإنجاز، إظهار أي عوائق، حساب استخدام الساعات. هيكل العرض: العنوان، نظرة عامة على الربع، ملخص كل مشروع، العوائق والمخاطر، توقعات للربع القادم، تعديلات النطاق الموصى بها. تعيين
pages: 14theme: consulting-slateالنتيجة: يفتح مدير المشروع سجل العميل، يضغط على "إنشاء عرض المراجعة الربعية"، ويحصل على مُخرج من 14 شريحة في أقل من دقيقة. يراجع، يحرر في PowerPoint إذا لزم الأمر، ويرسل.
النمط 4: تحديث نظام إدارة علاقات المستثمرين
هيكل القاعدة: جدول
InvestorsFundStage InterestLast MeetingNotesIntro Viaالمحفز: يُطلق عندما يتغير
Statusبناء الطلب: إنشاء عرض تحديث للشركة مخصص لاهتمام المرحلة المعلن للمستثمر. سحب مقاييس الشركة من جدول
KPIspages: 15theme: startup-moderncreate-like-thisالنتيجة: كل متابعة مع مستثمر تحصل على عرض تقديمي مخصص ومتسق مع الهوية دون حاجة المؤسس لإعادة البناء من قالب رئيسي.
الأسئلة الشائعة
كيف أقوم بتمرير مرفقات Airtable (ملفات PDF، عروض تقديمية) إلى 2Slides API؟
يعرض Airtable المرفقات كروابط URL في حمولة السجل. بالنسبة لمدخلات PDF، قم باستدعاء
POST /api/v1/slides/create-pdf-slidessourcePdfUrlcreate-like-thisjobIdgenerateهل يمكنني استخدام حقول التجميع والصيغ في Airtable ضمن الموجه؟
نعم، ويجب عليك ذلك. تنتج حقول التجميع (إجمالي ARR، متوسط حجم الصفقة، عدد المشاريع المعرضة للخطر) بالضبط نوع الأرقام الملخصة التي تجعل العروض التقديمية مفيدة. ارجع إليها بنفس طريقة أي حقل آخر في نص Automation الخاص بك —
record.getCellValueAsString('Total ARR')ماذا يحدث إذا فشلت مهمة 2Slides؟
تُرجع المهام الفاشلة
status: "failed"/api/v1/jobs/:iderrorDeck Status = Failedكيف أحافظ على مفتاح 2Slides API الخاص بي خارج نصوص Airtable؟
بالنسبة لنصوص Automations، احفظ المفتاح في جدول تكوين بسجل واحد واقرأه ديناميكياً، أو مرره كمتغير إدخال يشير إلى سر بيئة في Zapier/Make. بالنسبة لـ Extensions، استخدم
globalConfig.setAsync('TWO_SLIDES_API_KEY', value)هل يمكن لعدة أعضاء في الفريق مشاركة مفتاح API واحد دون تجاوز حدود المعدل؟
نعم. حدود معدل 2Slides سخية لمفاتيح خطة Team (عادةً 60 طلب/دقيقة، 500/ساعة)، مما يدعم بشكل مريح 10-20 مستخدم Airtable نشط يطلقون عروضاً تقديمية. بالنسبة لسير العمل البرمجي ذو الحجم الأعلى — على سبيل المثال، إنشاء عرض تقديمي لكل عميل ليلياً عبر 2,000 عميل — قسّم إلى دفعات ووزع المكالمات، أو اطلب مفتاح Enterprise بحدود أعلى.
الخلاصة
Airtable رائع في تخزين البيانات المنظمة والمترابطة والمشتركة بين الفريق. PowerPoint رائع في تقديم السرد للبشر. الفجوة بينهما — فجوة "الآن حوّل هذا إلى عرض تقديمي" — كانت تستهلك ساعات كل أسبوع لقادة المبيعات ومسوقي المحتوى ومديري المنتجات والمؤسسين. في عام 2026، تُغلق هذه الفجوة بـ webhook واحد أو زر واحد.
الطريقتان في هذا الدليل تغطيان الطيف الكامل: مسار no-code يوصلك إلى الإنتاج في فترة بعد الظهر بدون أي بنية تحتية، ومسار Extension يمنح فريقك زر "إنشاء عرض تقديمي" يبدو أصليًا ويعيش داخل Airtable نفسه. كلاهما يتقارب على نفس عقد
/api/v1/slides/generateحوّل أي عرض 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