نود Google Docs در N8N
نود Google Docs در N8N یکی از نودهای کاربردی برای ساخت، خواندن و ویرایش اسناد گوگل داکس بهصورت خودکار است. با این نود میتوان گزارشها، قراردادها، فاکتورها، صورتجلسهها، مستندات داخلی و انواع فایلهای متنی را بدون دخالت دستی ایجاد یا بهروزرسانی کرد.
اگر در ورکفلوهای خود نیاز دارید دادههایی مثل اطلاعات مشتری، خروجی فرم، گزارش فروش، متن تولیدشده با هوش مصنوعی یا دادههای دریافتی از API را وارد یک سند Google Docs کنید، این نود یکی از بهترین گزینهها برای اتوماسیون این فرایند است.
معرفی نود در N8N
نود Google Docs برای ارتباط مستقیم با سرویس Google Docs استفاده میشود. این نود از طریق حساب گوگل و دسترسی OAuth2 به اسناد شما متصل میشود و امکان انجام عملیات مختلف روی فایلهای Google Docs را فراهم میکند.
دستهبندی نود
- نوع نود: Integration
- ماهیت عملکرد: Action
- سرویس متصلشونده: Google Docs
- نیاز به احراز هویت: دارد، از طریق Google OAuth2
کاربرد اصلی نود
کاربرد اصلی این نود، اتوماسیون ساخت و ویرایش اسناد متنی در Google Docs است. در بسیاری از فرایندهای سازمانی، لازم است اطلاعات از منابع مختلف جمعآوری شده و در قالب یک سند قابل اشتراکگذاری ذخیره شود. نود Google Docs این کار را بهصورت خودکار انجام میدهد.
اهمیت در ورکفلوها
- کاهش کارهای دستی در تولید اسناد
- ایجاد گزارشهای خودکار از دادههای سیستمهای مختلف
- ثبت خروجی فرمها و درخواستها در قالب سند
- ساخت مستندات قابل اشتراکگذاری برای تیمها
- ترکیب ساده با Google Drive، Gmail، Google Sheets، HTTP Request و نودهای هوش مصنوعی
موارد استفاده
ساخت گزارش فروش روزانه
فرض کنید اطلاعات فروش روزانه در Google Sheets ذخیره میشود. میتوان با استفاده از نود Google Sheets دادهها را خواند، با نود Function یا Code آنها را قالببندی کرد و سپس با نود Google Docs یک گزارش متنی در قالب سند ایجاد کرد.
- Google Sheets: دریافت دادههای فروش
- Code: محاسبه جمع فروش، میانگین، تعداد سفارشها
- Google Docs: ایجاد سند گزارش روزانه
- Gmail: ارسال لینک گزارش به مدیر فروش
تولید قرارداد یا پیشفاکتور خودکار
در یک سیستم CRM، زمانی که اطلاعات مشتری ثبت میشود، میتوان یک قرارداد یا پیشفاکتور در Google Docs ایجاد کرد. اطلاعاتی مانند نام مشتری، شماره تماس، مبلغ، تاریخ و شرح خدمات از CRM دریافت شده و داخل سند قرار میگیرد.
- Webhook: دریافت اطلاعات مشتری از فرم یا CRM
- Google Docs: ساخت سند جدید با عنوان قرارداد
- Google Drive: انتقال سند به پوشه قراردادها
- Slack یا Gmail: اطلاعرسانی به تیم فروش
ثبت خروجی فرمها در سند
اگر کاربران یک فرم آنلاین را پر کنند، میتوان پاسخها را با Webhook دریافت کرد و سپس در یک سند Google Docs ذخیره کرد. این روش برای جمعآوری درخواستها، رزومهها، فرمهای ارزیابی و ثبت بازخورد کاربردی است.
ساخت مستندات با کمک هوش مصنوعی
میتوان دادههای خام را به نودهای هوش مصنوعی مانند OpenAI ارسال کرد و خروجی تولیدشده را در Google Docs ذخیره نمود. برای مثال، متن جلسه، خلاصه مقاله، گزارش تحلیل داده یا محتوای آموزشی میتواند بهصورت خودکار در سند قرار گیرد.
بهروزرسانی سندهای موجود
در برخی فرایندها نیاز نیست هر بار سند جدید ساخته شود. میتوان یک سند ثابت داشت و محتوای جدید را به آن اضافه یا بخشی از متن را جایگزین کرد. برای مثال، یک سند گزارش هفتگی که هر روز با دادههای جدید بهروزرسانی میشود.
پارامترها و تنظیمات
پارامترهای نود Google Docs بسته به نسخه N8N و عملیات انتخابشده ممکن است کمی متفاوت باشند، اما ساختار کلی آن شامل احراز هویت، انتخاب عملیات و تعیین سند هدف است.
تنظیمات احراز هویت
| نام پارامتر | نوع داده | توضیح کاربرد | مثال عملی |
|---|---|---|---|
| Credential | Google OAuth2 | برای اتصال N8N به حساب گوگل استفاده میشود. این Credential باید دسترسی لازم به Google Docs و در بعضی سناریوها Google Drive را داشته باشد. | Google Docs OAuth2 account |
پارامتر Resource
| نام پارامتر | نوع داده | توضیح کاربرد | مثال عملی |
|---|---|---|---|
| Resource | Options | منبعی که عملیات روی آن انجام میشود. در این نود معمولاً مقدار اصلی آن Document است. | Document |
پارامتر Operation
| نام پارامتر | نوع داده | توضیح کاربرد | مثال عملی |
|---|---|---|---|
| Operation | Options | مشخص میکند چه عملیاتی روی Google Docs انجام شود. | Create، Get، Update |
عملیات Create
عملیات Create برای ساخت یک سند جدید در Google Docs استفاده میشود.
| نام پارامتر | نوع داده | توضیح کاربرد | مثال عملی |
|---|---|---|---|
| Title | String | عنوان سند جدید را مشخص میکند. این عنوان در Google Drive نیز بهعنوان نام فایل نمایش داده میشود. | گزارش فروش روزانه – 1403/08/15 |
نمونه کاربرد در مقدار Title با Expression:
گزارش فروش روزانه - {{$now.format("yyyy-MM-dd")}}- اگر میخواهید سند در پوشه خاصی ذخیره شود، معمولاً باید پس از ایجاد سند از نود Google Drive برای انتقال فایل به پوشه موردنظر استفاده کنید.
- در بیشتر نسخهها، عملیات Create فقط سند خام را ایجاد میکند و برای اضافه کردن متن باید از عملیات Update استفاده شود.
عملیات Get
عملیات Get برای دریافت اطلاعات و محتوای یک سند موجود استفاده میشود.
| نام پارامتر | نوع داده | توضیح کاربرد | مثال عملی |
|---|---|---|---|
| Document ID | String | شناسه سند Google Docs که باید خوانده شود. این شناسه از URL سند قابل استخراج است. | 1A2B3C4D5E6F7G8H9I |
| Simplify Output | Boolean | در صورت وجود این گزینه، خروجی سند را سادهتر و خواناتر برمیگرداند. برای پردازشهای عمومی بهتر است فعال باشد. | true |
نمونه URL یک سند Google Docs:
https://docs.google.com/document/d/1A2B3C4D5E6F7G8H9I/editدر این مثال، مقدار Document ID برابر است با:
1A2B3C4D5E6F7G8H9Iعملیات Update
عملیات Update برای ویرایش سند موجود استفاده میشود. این عملیات معمولاً از اکشنهایی مانند درج متن، جایگزینی متن یا حذف بخشی از محتوا پشتیبانی میکند.
| نام پارامتر | نوع داده | توضیح کاربرد | مثال عملی |
|---|---|---|---|
| Document ID | String | شناسه سندی که باید ویرایش شود. | 1A2B3C4D5E6F7G8H9I |
| Actions | Array / Collection | لیستی از عملیاتهایی که باید روی سند انجام شود. میتواند شامل درج متن، جایگزینی متن یا حذف محدودهای از محتوا باشد. | Insert Text، Replace Text |
اکشن Insert Text
این اکشن برای درج متن در موقعیت مشخصی از سند استفاده میشود.
| نام پارامتر | نوع داده | توضیح کاربرد | مثال عملی |
|---|---|---|---|
| Text | String | متنی که باید داخل سند درج شود. | مجموع فروش امروز: 25,000,000 تومان |
| Index | Number | موقعیت درج متن در ساختار سند. در Google Docs معمولاً شروع محتوای اصلی از اندیس 1 است. | 1 |
نمونه متن داینامیک برای درج در سند:
نام مشتری: {{$json.customerName}}مبلغ سفارش: {{$json.amount}}تاریخ ثبت: {{$now.format("yyyy-MM-dd")}}اکشن Replace Text
این اکشن برای جایگزینی یک عبارت مشخص در سند با مقدار جدید استفاده میشود. این روش برای ساخت قالبهای آماده بسیار کاربردی است.
| نام پارامتر | نوع داده | توضیح کاربرد | مثال عملی |
|---|---|---|---|
| Text to Replace | String | عبارتی که باید در سند پیدا و جایگزین شود. | {{customer_name}} |
| Replace Text | String | متن جدیدی که بهجای عبارت قبلی قرار میگیرد. | علی رضایی |
| Match Case | Boolean | مشخص میکند جستجو نسبت به حروف بزرگ و کوچک حساس باشد یا خیر. در فارسی معمولاً اهمیت کمتری دارد، اما در متون انگلیسی مهم است. | false |
نمونه استفاده از قالب آماده:
قرارداد همکاریاین قرارداد بین {{company_name}} و {{customer_name}} در تاریخ {{contract_date}} منعقد میشود.در N8N میتوان هر کدام از مقادیر بالا را با داده واقعی جایگزین کرد:
{{company_name}} → شرکت نمونه{{customer_name}} → علی رضایی{{contract_date}} → 1403/08/15اکشن Delete Content Range
این اکشن برای حذف بخشی از محتوای سند بر اساس محدوده اندیس استفاده میشود. استفاده از این اکشن نیازمند دقت است، چون اگر اندیسها اشتباه وارد شوند، ممکن است بخش ناخواستهای از سند حذف شود.
| نام پارامتر | نوع داده | توضیح کاربرد | مثال عملی |
|---|---|---|---|
| Start Index | Number | اندیس شروع محدودهای که باید حذف شود. | 10 |
| End Index | Number | اندیس پایان محدودهای که باید حذف شود. | 50 |
نکات مهم هنگام پیکربندی
- برای استفاده از این نود باید Google OAuth2 Credential بهدرستی تنظیم شده باشد.
- در Google Cloud Console باید APIهای موردنیاز مانند Google Docs API فعال باشند.
- اگر میخواهید فایل را جابهجا، کپی یا مدیریت کنید، معمولاً به Google Drive API و نود Google Drive هم نیاز دارید.
- Document ID را از URL سند بردارید، نه کل URL را.
- برای جایگزینی متن در قالبها، بهتر است از placeholderهای منحصربهفرد مثل {{customer_name}} استفاده شود.
- در متنهای چندخطی، شکست خطها باید درست وارد شوند تا خروجی سند خوانا باشد.
- اگر سند متعلق به کاربر دیگری است، حساب متصلشده در Credential باید دسترسی ویرایش یا مشاهده داشته باشد.
ورودیها و خروجیها
ورودی نود
نود Google Docs میتواند دادههای ورودی را از نودهای قبلی دریافت کند و از آنها برای ساخت عنوان سند، درج متن یا جایگزینی placeholderها استفاده کند.
نمونه ورودی از یک Webhook یا CRM:
{ "customerName": "علی رضایی", "companyName": "شرکت نمونه", "amount": 25000000, "contractDate": "1403/08/15", "serviceTitle": "طراحی سایت شرکتی"}نمونه استفاده از داده ورودی در فیلدهای نود:
عنوان سند:قرارداد {{$json.customerName}} - {{$json.contractDate}}متن جایگزین:{{$json.customerName}}خروجی عملیات Create
پس از ساخت سند جدید، خروجی معمولاً شامل شناسه سند، عنوان و اطلاعات پایه فایل است.
{ "documentId": "1A2B3C4D5E6F7G8H9I", "title": "قرارداد علی رضایی - 1403/08/15"}خروجی عملیات Get
خروجی عملیات Get میتواند شامل اطلاعات ساختاری سند، عنوان، شناسه، محتوای بدنه و المانهای داخلی سند باشد.
{ "documentId": "1A2B3C4D5E6F7G8H9I", "title": "گزارش فروش روزانه", "body": { "content": [ { "startIndex": 1, "endIndex": 25, "paragraph": { "elements": [ { "textRun": { "content": "گزارش فروش روزانه" } } ] } } ] }}خروجی عملیات Update
پس از بهروزرسانی سند، خروجی معمولاً نتیجه اجرای درخواستهای ویرایشی را برمیگرداند. اگر چند اکشن همزمان اجرا شده باشد، پاسخ میتواند شامل چند نتیجه باشد.
{ "documentId": "1A2B3C4D5E6F7G8H9I", "replies": [ {}, {} ]}جدول خلاصه ورودی و خروجی
| نوع عملیات | ورودی اصلی | خروجی اصلی | کاربرد |
|---|---|---|---|
| Create | Title | Document ID و Title | ساخت سند جدید |
| Get | Document ID | اطلاعات و محتوای سند | خواندن سند موجود |
| Update | Document ID و Actions | نتیجه ویرایش سند | درج، جایگزینی یا حذف محتوا |
نکات پیشرفته و ترفندها
استفاده از Google Docs بهعنوان قالب
یکی از بهترین روشها برای تولید اسناد حرفهای، استفاده از یک سند قالب است. در این روش ابتدا یک Google Doc با طراحی و متن ثابت ایجاد میشود و داخل آن placeholderهایی مانند {{name}}، {{date}} و {{amount}} قرار میگیرد.
- ابتدا با Google Drive یک کپی از فایل قالب بسازید.
- سپس با Google Docs روی فایل کپیشده عملیات Replace Text انجام دهید.
- در پایان میتوانید لینک سند را با Gmail یا Slack ارسال کنید.
ترکیب با Google Drive برای مدیریت فایل
نود Google Docs برای کار با محتوای سند مناسب است، اما برای مدیریت فایلها بهتر است از Google Drive استفاده شود.
- انتقال سند به پوشه خاص
- کپی گرفتن از قالب
- تنظیم دسترسی فایل
- دریافت لینک اشتراکگذاری
- تبدیل سند به PDF در بعضی سناریوها
ساخت PDF از Google Docs
برای تولید PDF، معمولاً نود Google Docs بهتنهایی کافی نیست. روش رایج این است که سند با Google Docs ساخته یا ویرایش شود و سپس با Google Drive فایل به فرمت PDF export شود.
- Google Docs: ایجاد یا ویرایش سند
- Google Drive: Export فایل به PDF
- Gmail: ارسال PDF به مخاطب
استفاده از Expressionها برای تولید متن داینامیک
در N8N میتوان تقریباً در تمام فیلدهای متنی از Expression استفاده کرد. این قابلیت برای ساخت اسناد پویا بسیار مهم است.
مشتری: {{$json.customerName}}خدمت: {{$json.serviceTitle}}مبلغ: {{$json.amount.toLocaleString()}} تومانتاریخ: {{$now.format("yyyy-MM-dd")}}ساخت متن تمیز با نود Code
اگر متن سند پیچیده است، بهتر است قبل از نود Google Docs از نود Code استفاده شود و متن نهایی در یک فیلد مشخص آماده گردد.
return [ { json: { reportText: `گزارش فروشتعداد سفارشها: ${$json.ordersCount}جمع فروش: ${$json.totalSales} تومانتاریخ: ${new Date().toLocaleDateString("fa-IR")}` } }];سپس در نود Google Docs مقدار Text را برابر با این Expression قرار دهید:
{{$json.reportText}}استفاده از چند اکشن در یک Update
در بسیاری از موارد میتوان چند عملیات جایگزینی متن را در یک بار اجرای نود انجام داد. این روش باعث کاهش تعداد درخواستها به Google API و افزایش سرعت ورکفلو میشود.
- Replace {{customer_name}}
- Replace {{amount}}
- Replace {{date}}
- Replace {{service_title}}
مدیریت خطا با IF و Error Trigger
برای ورکفلوهای مهم، بهتر است پس از نود Google Docs وضعیت خروجی بررسی شود. اگر خطا رخ داد، میتوان با نودهای IF، Error Trigger، Slack یا Email اطلاعرسانی انجام داد.
محدودیتها و خطاها
محدودیتهای نود
- این نود برای طراحی کامل و پیچیده سند مانند صفحهآرایی حرفهای، کنترل دقیق استایلها و ساختارهای پیشرفته محدودیت دارد.
- برای مدیریت فایل، پوشه، سطح دسترسی و export معمولاً باید از Google Drive استفاده شود.
- ویرایش سند بر اساس Index میتواند حساس و خطاپذیر باشد.
- اگر فایل در Shared Drive یا متعلق به کاربر دیگری باشد، دسترسی حساب OAuth باید بهدرستی تنظیم شده باشد.
- Google API دارای محدودیت نرخ درخواست است و ارسال تعداد زیادی درخواست در مدت کوتاه ممکن است باعث خطا شود.
- ساختار خروجی Google Docs ممکن است برای اسناد پیچیده شامل جدول، تصویر، هدر، فوتر و عناصر تو در تو پیچیده باشد.
خطای 401 Unauthorized
این خطا معمولاً به دلیل مشکل در احراز هویت رخ میدهد.
- Credential را دوباره متصل کنید.
- مطمئن شوید Google OAuth2 بهدرستی تنظیم شده است.
- بررسی کنید Redirect URI در Google Cloud Console با مقدار N8N یکسان باشد.
خطای 403 Forbidden
این خطا نشان میدهد حساب متصلشده دسترسی لازم به سند یا API را ندارد.
- Google Docs API را در Google Cloud Console فعال کنید.
- دسترسی سند را برای حساب متصلشده بررسی کنید.
- اگر سند در Shared Drive است، سطح دسترسی کاربر را بررسی کنید.
- در صورت نیاز Scopeهای Credential را بازبینی کنید.
خطای 404 Not Found
این خطا معمولاً زمانی رخ میدهد که Document ID اشتباه وارد شده باشد یا سند برای حساب متصلشده قابل مشاهده نباشد.
- فقط شناسه سند را وارد کنید، نه کل URL.
- از حذف نشدن فایل مطمئن شوید.
- دسترسی حساب Google را بررسی کنید.
خطای Invalid requests
این خطا بیشتر هنگام عملیات Update رخ میدهد و معمولاً به دلیل مقدار اشتباه در Index یا ساختار نامعتبر درخواست است.
- مقادیر Start Index و End Index را بررسی کنید.
- برای درج متن در ابتدای سند معمولاً از Index برابر 1 استفاده میشود.
- قبل از حذف محدوده، سند را با عملیات Get بررسی کنید.
خطای Rate Limit
اگر تعداد درخواستها به Google API زیاد باشد، ممکن است با محدودیت نرخ درخواست مواجه شوید.
- از نود Wait بین درخواستهای زیاد استفاده کنید.
- چند عملیات Replace را در یک Update ترکیب کنید.
- از اجرای غیرضروری نود در حلقههای بزرگ جلوگیری کنید.
مشکل نمایش نادرست متن فارسی
Google Docs از فارسی پشتیبانی میکند، اما در برخی حالتها ممکن است جهت متن یا فاصلهها نیاز به اصلاح داشته باشد.
- قالب Google Docs را از ابتدا با جهت راستبهچپ آماده کنید.
- برای اسناد فارسی، بهتر است از قالب آماده استفاده شود و فقط placeholderها جایگزین شوند.
- متنهای چندخطی را قبل از ارسال در نود Code تمیز و استاندارد کنید.
ایده ها
- سیستم تولید قرارداد خودکار: دریافت اطلاعات مشتری از فرم، کپی قالب قرارداد، جایگزینی اطلاعات و ارسال لینک سند به تیم فروش.
- گزارشساز هوشمند مدیریتی: خواندن دادهها از Google Sheets یا دیتابیس، خلاصهسازی با هوش مصنوعی و ذخیره گزارش در Google Docs.
- ثبت خودکار صورتجلسه: دریافت متن جلسه از ابزارهای تبدیل صوت به متن، خلاصهسازی نکات مهم و ایجاد سند صورتجلسه.
- تولید محتوای تیمی: دریافت ایده از فرم، تولید پیشنویس مقاله با OpenAI و ذخیره آن در Google Docs برای ویرایش تیم محتوا.
- آرشیو درخواستهای مشتریان: تبدیل هر درخواست پشتیبانی مهم به یک سند Google Docs و ذخیره آن در پوشه مربوط به همان مشتری.
