
خودکارسازی تجمیع اخبار نظارتی مالی با n8n
8 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۷
دانلود workflow
فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.
- فایل JSON را دانلود کنید.
- در n8n: Workflows → Import from File.
- Credentialهای هر node را متصل کنید.
- workflow را فعال کنید.
شناسه workflow: 11227 · منبع: کاتالوگ Axeto
تجمیع اخبار نظارتی مالی با ScrapeGraphAI، هشدارهای Slack و Google Sheets
این گردش کار، تجمیع روزانه اخبار نظارتی مالی را از چندین وبسایت آژانس خودکار میکند. از ScrapeGraphAI برای استخراج آخرین بهروزرسانیها، فیلتر کردن آنها برای ۲۴ ساعت گذشته، بایگانی آنها در Google Sheets و ارسال هشدارهای Slack برای اطلاعات مرتبط جدید استفاده میکند. این امر تضمین میکند که تیمهای انطباق، دیدگاهی یکپارچه و بهروز از اقدامات نظارتی با حداقل تلاش دستی داشته باشند.
این گردش کار و موارد دیگر را در کاتالوگ n8n در Axeto.ai کاوش کنید.
نمای کلی گردش کار
گردش کار به چهار بلوک اصلی تقسیم شده است:
1. دریافت ورودی و زمانبندی: ماشه روزانه را تنظیم کرده و منابع نظارتی را برای خراشیدن تعریف میکند.
2. استخراج و تجزیه دادهها: از ScrapeGraphAI برای استخراج اخبار ساختاریافته از هر منبع استفاده میکند.
3. فیلتر کردن دادهها: اخبار منتشر شده در ۲۴ ساعت گذشته را جدا میکند.
4. تحویل دادهها و هشداردهی: تمام بهروزرسانیها را در Google Sheets بایگانی کرده و در صورت یافتن اطلاعات مرتبط جدید، اعلانهای Slack ارسال میکند.
---
تجزیه و تحلیل دقیق گردش کار
۱. دریافت ورودی و زمانبندی
این بلوک گردش کار را روزانه آغاز کرده و لیست URLهای آژانسهای نظارتی را برای خراشیدن آماده میکند.
گرهها (Nodes):
- نظرسنجی روزانه نظارتی (Schedule Trigger)
* نقش: گردش کار را هر ۲۴ ساعت یکبار فعال میکند.
* پیکربندی: فاصله زمانی را روی ۲۴ ساعت تنظیم کرده و منطقه زمانی و ساعت شروع را در صورت نیاز تنظیم کنید.
- منابع نظارتی (Code)
* نقش: آرایهای از URLهای آژانسهای نظارتی را تولید کرده و به هر کدام برچسب agency اختصاص میدهد.
* کد:
```javascript
const urls = [
'https://www.sec.gov/news/pressreleases',
'https://www.finra.org/rules-guidance/notices',
'https://www.esma.europa.eu/press-news'
];
return urls.map(url => ({
json: {
url,
agency: url.includes('sec.gov') ? 'SEC' : url.includes('finra.org') ? 'FINRA' : 'ESMA'
}
}));
```
- تقسیم URLها (SplitInBatches)
* نقش: هر URL را به صورت جداگانه برای مدیریت بار خراشیدن پردازش میکند.
- یادداشت دریافت منبع (Sticky Note)
* نقش: فرآیند زمانبندی و آمادهسازی URL را مستند میکند.
---
۲. استخراج و تجزیه دادهها
این بلوک از ScrapeGraphAI برای استخراج دادههای اخبار استفاده کرده و سپس نتایج را برای پردازش آسانتر مسطح میکند.
گرهها (Nodes):
- خراشیدن بهروزرسانیهای نظارتی (ScrapeGraphAI)
* نقش: پنج بهروزرسانی نظارتی اخیر را از هر URL ارائه شده استخراج میکند.
* پیکربندی:
* Prompt: درخواست دادههای JSON با آرایه updates، که هر شیء حاوی title، summary، date (قالب ISO)، agency و source_url است.
* Website URL: به صورت پویا از URL ورودی تنظیم میشود.
- مسطح کردن بهروزرسانیها (Code)
* نقش: آرایههای بهروزرسانی تودرتو را به موارد JSON مسطح و جداگانه تبدیل کرده و فراداده (metadata) مانند زمان خراشیدن را اضافه میکند.
* کد: این گره دادههای خراشیده شده را پیمایش کرده، هر بهروزرسانی را استخراج کرده و در صورت لزوم فراداده جایگزین را اختصاص میدهد.
- یادداشت پردازش و فیلتر (Sticky Note)
* نقش: مراحل استخراج و مسطح کردن دادهها را توضیح میدهد.
---
۳. فیلتر کردن دادهها
این بلوک اخبار استخراج و مسطح شده را فیلتر میکند تا فقط موارد منتشر شده در ۲۴ ساعت گذشته را شامل شود.
گرهها (Nodes):
- فیلتر بهروزرسانیهای اخیر (Code)
* نقش: بهروزرسانیهای قدیمیتر از ۲۴ ساعت یا آنهایی که تاریخ نامعتبر دارند را حذف میکند.
* منطق: فیلد date هر بهروزرسانی را با زمان فعلی مقایسه کرده و از حد قطع ۲۴ ساعته (۸۶,۴۰۰,۰۰۰ میلیثانیه) استفاده میکند. بهروزرسانیهای با تاریخهای گمشده یا نادرست حذف میشوند.
---
۴. تحویل دادهها و هشداردهی
این بلوک نهایی تمام بهروزرسانیهای فیلتر شده را در Google Sheets بایگانی کرده و در صورت یافتن اطلاعات مرتبط جدید، هشدارهای Slack ارسال میکند.
گرهها (Nodes):
- ثبت در Google Sheets (Google Sheets)
* نقش: هر بهروزرسانی را به عنوان یک ردیف جدید در یک Google Sheet مشخص اضافه میکند.
* پیکربندی:
* Spreadsheet ID: {{YOUR_SPREADSHEET_ID}} را با شناسه سند واقعی خود جایگزین کنید یا از طریق متغیرهای محیطی پیکربندی کنید.
* Sheet Name: "RegUpdates".
* Column Mapping: فیلدهای بهروزرسانی (Date, Title, Agency, Summary, Scraped At, Source URL) را به ستونهای شیت نگاشت میکند.
* Operation: Append.
- ارسال هشدار انطباق (Slack)
* نقش: هنگام شناسایی بهروزرسانیهای جدید، پیامی را در یک کانال Slack مشخص ارسال میکند.
* پیکربندی: از شناسه Webhook Slack برای ارسال پیامها استفاده میکند. محتوای پیام را میتوان در داخل گره پیکربندی کرد.
- یادداشت تحویل (Sticky Note)
* نقش: توضیح میدهد که Google Sheets به عنوان بایگانی برای تمام دادهها عمل میکند، در حالی که هشدارهای Slack فقط برای بهروزرسانیهای جدید فعال میشوند.
---
جدول خلاصه
| نام گره (Node Name) | نوع گره (Node Type) | نقش عملکردی (Functional Role) | گره(های) ورودی (Input Node(s)) | گره(های) خروجی (Output Node(s)) | یادداشت چسبنده مرتبط (Associated Sticky Note) |
|---|---|---|---|---|---|
| نظرسنجی روزانه نظارتی | Schedule Trigger | ماشه روزانه گردش کار | - | منابع نظارتی | - |
| منابع نظارتی | Code | تولید لیست URLهای نظارتی | نظرسنجی روزانه نظارتی | تقسیم URLها | - |
| تقسیم URLها | SplitInBatches | پردازش متوالی هر URL | منابع نظارتی | خراشیدن بهروزرسانیهای نظارتی | یادداشت دریافت منبع (مستندسازی این مرحله دریافت) |
| خراشیدن بهروزرسانیهای نظارتی | ScrapeGraphAI | استخراج بهروزرسانیهای نظارتی ساختاریافته | تقسیم URLها | مسطح کردن بهروزرسانیها | یادداشت پردازش و فیلتر (توضیح استخراج و مسطح کردن) |
| مسطح کردن بهروزرسانیها | Code | مسطح کردن بهروزرسانیهای تودرتو به موارد جداگانه | خراشیدن بهروزرسانیهای نظارتی | فیلتر بهروزرسانیهای اخیر | یادداشت پردازش و فیلتر |
| فیلتر بهروزرسانیهای اخیر | Code | فیلتر بهروزرسانیها از ۲۴ ساعت گذشته | مسطح کردن بهروزرسانیها | ثبت در Google Sheets، ارسال هشدار انطباق | یادداشت پردازش و فیلتر |
| ثبت در Google Sheets | Google Sheets | افزودن بهروزرسانیها به بایگانی Google Sheet | فیلتر بهروزرسانیهای اخیر | - | یادداشت تحویل (بایگانی تمام دادهها) |
| ارسال هشدار انطباق | Slack | ارسال هشدار Slack هنگام وجود بهروزرسانیهای جدید | فیلتر بهروزرسانیهای اخیر | - | یادداشت تحویل (هشدار انطباق فقط در بهروزرسانیهای جدید) |
| 📝 نمای کلی | Sticky Note | نمای کلی گردش کار و دستورالعملهای راهاندازی | - | - | توضیحات کلی گردش کار و مراحل راهاندازی را ارائه میدهد |
| یادداشت دریافت منبع | Sticky Note | مستندسازی بلوک دریافت | - | - | ماشه روزانه و تقسیم URL را توضیح میدهد |
| یادداشت پردازش و فیلتر | Sticky Note | مستندسازی فرآیند پردازش و فیلتر | - | - | نحوه پردازش دادههای ScrapeGraphAI را توضیح میدهد |
| یادداشت تحویل | Sticky Note | مستندسازی مراحل تحویل دادهها و هشداردهی | - | - | بایگانی Google Sheets و هشداردهی Slack را توضیح میدهد |
---
بازتولید گردش کار
برای بازسازی این گردش کار از ابتدا:
1. یک گره Schedule Trigger اضافه کنید:
* نام آن را "نظرسنجی روزانه نظارتی" بگذارید.
* آن را طوری پیکربندی کنید که هر ۲۴ ساعت یکبار فعال شود.
* منطقه زمانی و ساعت شروع را مطابق با نیازهای خود تنظیم کنید.
2. یک گره Code اضافه کنید:
* نام آن را "منابع نظارتی" بگذارید.
* کد جاوا اسکریپت زیر را در آن قرار دهید:
```javascript
const urls = [
'https://www.sec.gov/news/pressreleases',
'https://www.finra.org/rules-guidance/notices',
'https://www.esma.europa.eu/press-news'
];
return urls.map(url => ({
json: {
url,
agency: url.includes('sec.gov') ? 'SEC' : url.includes('finra.org') ? 'FINRA' : 'ESMA'
}
}));
```
* گره "نظرسنجی روزانه نظارتی" را به این گره "منابع نظارتی" متصل کنید.
3. یک گره SplitInBatches اضافه کنید:
* نام آن را "تقسیم URLها" بگذارید.
* گره "منابع نظارتی" را به این گره متصل کنید.
4. یک گره ScrapeGraphAI اضافه کنید:
* نام آن را "خراشیدن بهروزرسانیهای نظارتی" بگذارید.
* گره "تقسیم URLها" را به این گره متصل کنید.
* گره را با یک prompt برای استخراج title، summary، date، agency و source_url در قالب ISO در یک آرایه updates پیکربندی کنید. پارامتر websiteUrl را به صورت پویا تنظیم کنید.
5. یک گره Code دیگر اضافه کنید:
* نام آن را "مسطح کردن بهروزرسانیها" بگذارید.
* گره "خراشیدن بهروزرسانیهای نظارتی" را به این گره متصل کنید.
* کد جاوا اسکریپت را برای مسطح کردن آرایه تودرتوی updates به موارد جداگانه پیادهسازی کنید.
6. یک گره Code دیگر اضافه کنید:
* نام آن را "فیلتر بهروزرسانیهای اخیر" بگذارید.
* گره "مسطح کردن بهروزرسانیها" را به این گره متصل کنید.
* کد جاوا اسکریپت را برای فیلتر کردن موارد، نگه داشتن فقط موارد ۲۴ ساعت گذشته، پیادهسازی کنید.
7. یک گره Google Sheets اضافه کنید:
* نام آن را "ثبت در Google Sheets" بگذارید.
* گره "فیلتر بهروزرسانیهای اخیر" را به این گره متصل کنید.
* گره را با شناسه Spreadsheet خود، نام شیت "RegUpdates" پیکربندی کرده و فیلدهای مربوطه را نگاشت کنید. عملیات را روی "Append" تنظیم کنید.
8. یک گره Slack اضافه کنید:
* نام آن را "ارسال هشدار انطباق" بگذارید.
* گره "فیلتر بهروزرسانیهای اخیر" را به این گره متصل کنید.
* Webhook Slack و محتوای پیام را پیکربندی کنید.
9. یادداشتهای چسبنده اضافه کنید:
* یادداشتهای چسبنده را در سراسر گردش کار اضافه کنید تا هر مرحله را همانطور که در تجزیه و تحلیل دقیق توضیح داده شده است، مستند کنید.
Nodeهای استفادهشده
سوالات متداول
این گردش کار n8n چه کاری انجام میدهد؟▾
این گردش کار به طور خودکار اخبار نظارتی مالی را از وبسایتهای مختلف آژانسها جمعآوری میکند، اخبار ۲۴ ساعت گذشته را استخراج میکند، آنها را در Google Sheets بایگانی میکند و هشدارهای Slack را برای اطلاعات جدید ارسال میکند.
چه ابزارهایی در این گردش کار استفاده شده است؟▾
این گردش کار از n8n، ScrapeGraphAI برای استخراج دادهها، Google Sheets برای بایگانی و Slack برای ارسال هشدار استفاده میکند.
چگونه این گردش کار اخبار را فیلتر میکند؟▾
گردش کار اخبار استخراج شده را بر اساس تاریخ انتشار فیلتر میکند تا فقط مواردی که در ۲۴ ساعت گذشته منتشر شدهاند، در نظر گرفته شوند.
workflowهای مرتبط
- طبقهبندی خودکار حوادث امنیتی با GPT-4 و Google SheetsSecOps
- دستهبندی خودکار ایمیل جیمیل با GPT-4o و هشدار SlackAI Summarization
- دستهبندی خودکار پستهای وبلاگ با هوش مصنوعی و گیتهابContent Creation
- خودکارسازی اصلاح نقطه پایانی با Wazuh، ClamAV و GPT-4SecOps
- تغییر نام خودکار گرههای n8n با هوش مصنوعیEngineering
- ردیابی خودکار هزینهها از LINE با GPT-4 و Google SheetsPersonal Productivity
