كيفية إنشاء تدفق Power Automate لتقارير المتابعة الأسبوعية للرسائل الإلكترونية غير المجابة
- Sam Fawzi
- Jan 2
- 3 min read
يُعدّ تراكم رسائل البريد الإلكتروني تحديًا شائعًا في بيئة العمل الحديثة، ومن السهل أن تضيع الرسائل المهمة. تخيّل الحصول على ملخص مُنظّم وتلقائي أسبوعيًا يُدرج جميع رسائل البريد الإلكتروني التي أرسلتها ولم تتلقَّ ردًا بعد، لتتمكن من المتابعة قبل فوات الأوان. سيُوضح لك هذا الدليل خطوة بخطوة كيفية إنشاء هذه الأتمتة في Microsoft Power Automate، بالاستفادة من Outlook وبعض المنطق لضمان عدم تفويت أي شيء. والأفضل من ذلك؟ بمجرد إعدادها، ستعمل تلقائيًا بالكامل.

يرشدك هذا الدليل إلى كيفية إنشاء تدفق Power Automate يرسل إليك عبر البريد الإلكتروني ملخصًا أسبوعيًا للرسائل التي أرسلتها الأسبوع الماضي ولم تتلقَّ ردًا بعد. سنستخدم موصل Office 365 Outlook، وبعض المتغيرات، واستدعاء HTTP إلى Microsoft Graph (عبر موصل Outlook)، وجدول HTML للحصول على تقرير واضح.
ما ستحتاج إليه
- مايكروسوفت 365 مع صندوق بريد أوتلوك
- الوصول إلى Power Automate (
- إذن استخدام موصل Office 365 Outlook
الخطوة 1 - إنشاء التدفق
1) انتقل إلى إنشاء → تدفق سحابي مجدول.
2) قم بتسميته "ملخص رسائل البريد الإلكتروني التي لم يتم الرد عليها في الأسبوع الماضي".
3) اضبطه ليتم تشغيله أسبوعيًا في اليوم/الوقت المفضل لديك.
الخطوة 2 - ضبط مُشغّل التكرار
اضبط: التكرار = أسبوع، الفاصل الزمني = 1، اليوم = الجمعة، المنطقة الزمنية = التوقيت الشرقي القياسي (أو قم بتغييره ليتناسب مع الوقت والمنطقة الزمنية المفضلة لديك)

الخطوة 3 - تهيئة المتغيرات
EmailTO (نص)
CC (سلسلة نصية)
مصفوفة (مصفوفة)

الخطوة 4 - أنشئ فلترًا زمنيًا متجددًا (آخر 7 أيام) - عدّله إذا لزم الأمر
أضف إجراء
sentDateTime ge @{addDays(utcNow(),-7)}
الخطوة 5 - استلام العناصر المرسلة للأسبوع الماضي
أضف طلب HTTP باستخدام موصل Office 365 Outlook (العملية: HttpRequest) للاستعلام عن العناصر المرسلة:
GET /V1.0/me/mailFolders/SentItems/messages?$filter=@{outputs('FilterValue')}&$top=999 &$select=id,subject,from,toRecipients,ccRecipients,internetMessageId,conversationId,sentDateTime
قم بتحليل الاستجابة باستخدام إجراء تحليل JSON (قم بتضمين id، الموضوع، from.emailAddress، toRecipients[]، ccRecipients[]، internetMessageId، conversationId، sentDateTime).
مخطط
{
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"subject": {
"type": "string"
},
"sentDateTime": {
"type": "string"
},
"from": {
"type": "object",
"properties": {
"emailAddress": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
}
}
}
}
},
"toRecipients": {
"type": "array",
"items": {
"type": "object",
"properties": {
"emailAddress": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
}
}
}
},
"required": [
"emailAddress"
]
}
},
"ccRecipients": {
"type": "array",
"items": {
"type": "object",
"properties": {
"emailAddress": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
}
}
}
},
"required": [
"emailAddress"
]
}
},
"internetMessageId": {
"type": "string"
},
"conversationId": {
"type": "string"
}
},
"required": [
"id",
"subject",
"from",
"toRecipients",
"ccRecipients",
"internetMessageId",
"conversationId"
]
}
}
}
}
الخطوة 6 - لكل بريد إلكتروني مُرسل، تحقق من سلسلة الرسائل بحثًا عن رد

Inside an 'Apply to each' over body('Parse_JSON')?['value']:1) أضف خاصية إنشاء رسالة تقوم بإنشاء فلتر حسب معرف المحادثة:

conversationId eq '@{items('Apply_to_each_2')?['conversationId']}'
2) أضف طلب HTTP إلى صندوق الوارد مع كلا الفلترين (معرف المحادثة + آخر 7 أيام) و $top=1:

GET /V1.0/me/mailFolders/Inbox/messages?$filter=@{outputs('Compose_3')} and @{outputs('FilterValue')}&$top=13) قم بتحليل تلك الاستجابة (تحليل JSON). إذا كان طول المصفوفة يساوي صفرًا، فهذا يعني عدم وجود رد في تلك المحادثة.

نفس المخطط المستخدم أعلاه.
تجاهل أيضًا الردود التلقائية للتقويم عن طريق التحقق من

الخطوة 7 - إنشاء صفوف التقرير
ضمن الفرع الحقيقي للحالة:

استخدم خاصية التحديد لاستخراج عناوين "إلى" و"نسخة إلى" إلى سلاسل نصية مسطحة.
أضف إلى المتغيرين EmailTO و CC في حلقات صغيرة.




أضف كائنًا إلى مصفوفة بالمفاتيح التالية: إلى، الموضوع، نسخة إلى، التاريخ (sentDateTime).

أعد تعيين EmailTO و CC إلى قيمة فارغة بعد كل صف.

الخطوة 8 - أنشئ جدول HTML وأرسل البريد الإلكتروني
1) قم بإنشاء ملف CSS الخاص بك (اختياري) لتنسيق الجدول.

<style> table { width:100%; border-collapse:collapse; font-family:Arial; font-size:12px; } th { background-color:#003F2D; color:#fff; text-align:left; padding:8px; } td { border:1px solid #ddd; text-align:left; padding:8px; } tr:nth-child(even) { background:#f2f2f2;}</style>2) استخدم إنشاء جدول HTML على المتغيرات ('Array').

3) أرسل بريدًا إلكترونيًا (الإصدار 2) إلى نفسك. عنوان الرسالة: "إشعار أسبوعي: رسائل بريد إلكتروني بانتظار الردود". للاطلاع على عدد الرسائل، استخدم:

Total sent: @{length(body('Parse_JSON')?['value'])}
Unanswered Emails: @{length(variables('Array'))}
@{outputs('Style')}@{body('Create_HTML_table')}
الخطوة 9 - الحفظ والتشغيل والاختبار
احفظ التدفق، وقم بتشغيله، واختبر تشغيله يدويًا أو انتظر الوقت المحدد.
إضافات اختيارية
- ترقيم الصفحات إذا أرسلت أكثر من 999 بريدًا إلكترونيًا في الأسبوع.
- أضف "قائمة تجاهل" للمواضيع/المرسلين.
- قم بتوطين تنسيق المنطقة الزمنية والتاريخ.
- اكتب الجدول في Excel/SharePoint قبل إرساله عبر البريد الإلكتروني.
صممه خصيصاً لعملك
مع أن هذا الدليل يركز على رسائل البريد الإلكتروني التي لم يتم الرد عليها، إلا أنه يمكن تطبيق النمط نفسه على العديد من حالات الاستخدام الأخرى. من خلال تعديل مصدر البيانات، والفلتر، والمخرجات، يمكنك جعل الأتمتة تلبي احتياجاتك بدقة.
إليكم بعض الأفكار:
متابعة دعم العملاء
تتبع العملاء المحتملين
تذكيرات إدارة المشاريع
عمليات التحقق الداخلية للفريق
بمجرد استبدال منطق استرجاع البريد الإلكتروني بموصل أو مجموعة بيانات أخرى، يمكنك إعادة توظيف هذه الأتمتة لتناسب أي سيناريو متابعة متكرر تقريبًا.
