تخطَّ إلى المحتوى

تكامل Gmail

مكّن وكلاءك من إدارة رسائل البريد الإلكتروني وجهات الاتصال والمسودات عبر Gmail. أرسل رسائل البريد الإلكتروني، وابحث في الرسائل، وأدر جهات الاتصال، وأنشئ المسودات، وبسّط اتصالات البريد الإلكتروني باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.

قبل استخدام تكامل Gmail، تأكد من توفر ما يلي:

  1. انتقل إلى تكاملات CrewAI AMP
  2. ابحث عن Gmail في قسم تكاملات المصادقة
  3. انقر على Connect وأكمل عملية OAuth
  4. امنح الصلاحيات اللازمة لإدارة البريد الإلكتروني وجهات الاتصال
  5. انسخ رمز المؤسسة من إعدادات التكامل

2. تثبيت الحزمة المطلوبة

Section titled “2. تثبيت الحزمة المطلوبة”
Terminal window
uv add crewai-tools
Terminal window
export CREWAI_PLATFORM_INTEGRATION_TOKEN="your_enterprise_token"

أو أضفه إلى ملف .env:

CREWAI_PLATFORM_INTEGRATION_TOKEN=your_enterprise_token
gmail/fetch_emails

الوصف: استرجاع قائمة بالرسائل.

المعاملات:

  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • q (string, اختياري): استعلام بحث لتصفية الرسائل (مثال: ‘from:[email protected] is:unread’).
  • maxResults (integer, اختياري): الحد الأقصى لعدد الرسائل المُرجعة (1-500). (الافتراضي: 100)
  • pageToken (string, اختياري): رمز الصفحة لاسترجاع صفحة محددة من النتائج.
  • labelIds (array, اختياري): إرجاع الرسائل ذات التصنيفات التي تطابق جميع معرّفات التصنيف المحددة فقط.
  • includeSpamTrash (boolean, اختياري): تضمين رسائل البريد العشوائي والمحذوفات في النتائج. (الافتراضي: false)
gmail/send_email

الوصف: إرسال بريد إلكتروني.

المعاملات:

  • to (string, مطلوب): عنوان البريد الإلكتروني للمستلم.
  • subject (string, مطلوب): سطر موضوع البريد الإلكتروني.
  • body (string, مطلوب): محتوى رسالة البريد الإلكتروني.
  • userId (string, اختياري): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • cc (string, اختياري): عناوين نسخة كربونية (مفصولة بفواصل).
  • bcc (string, اختياري): عناوين نسخة كربونية مخفية (مفصولة بفواصل).
  • from (string, اختياري): عنوان المرسل (إذا كان مختلفاً عن المستخدم المصادق عليه).
  • replyTo (string, اختياري): عنوان الرد.
  • threadId (string, اختياري): معرّف السلسلة إذا كان الرد على محادثة موجودة.
gmail/delete_email

الوصف: حذف بريد إلكتروني بواسطة المعرّف.

المعاملات:

  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه.
  • id (string, مطلوب): معرّف الرسالة المراد حذفها.
gmail/create_draft

الوصف: إنشاء مسودة بريد إلكتروني جديدة.

المعاملات:

  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه.
  • message (object, مطلوب): كائن الرسالة الذي يحتوي على محتوى المسودة.
    • raw (string, مطلوب): رسالة البريد الإلكتروني بترميز base64url.
gmail/get_message

الوصف: استرجاع رسالة محددة بواسطة المعرّف.

المعاملات:

  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • id (string, مطلوب): معرّف الرسالة المراد استرجاعها.
  • format (string, اختياري): صيغة إرجاع الرسالة. الخيارات: “full”, “metadata”, “minimal”, “raw”. (الافتراضي: “full”)
  • metadataHeaders (array, اختياري): عند التحديد وكانت الصيغة METADATA، يتم تضمين الترويسات المحددة فقط.
gmail/get_attachment

الوصف: استرجاع مرفق رسالة.

المعاملات:

  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • messageId (string, مطلوب): معرّف الرسالة التي تحتوي على المرفق.
  • id (string, مطلوب): معرّف المرفق المراد استرجاعه.
gmail/fetch_thread

الوصف: استرجاع سلسلة بريد إلكتروني محددة بواسطة المعرّف.

المعاملات:

  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • id (string, مطلوب): معرّف السلسلة المراد استرجاعها.
  • format (string, اختياري): صيغة إرجاع الرسائل. الخيارات: “full”, “metadata”, “minimal”. (الافتراضي: “full”)
  • metadataHeaders (array, اختياري): عند التحديد وكانت الصيغة METADATA، يتم تضمين الترويسات المحددة فقط.
gmail/modify_thread

الوصف: تعديل التصنيفات المُطبقة على سلسلة.

المعاملات:

  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • id (string, مطلوب): معرّف السلسلة المراد تعديلها.
  • addLabelIds (array, اختياري): قائمة بمعرّفات التصنيفات المراد إضافتها لهذه السلسلة.
  • removeLabelIds (array, اختياري): قائمة بمعرّفات التصنيفات المراد إزالتها من هذه السلسلة.
gmail/trash_thread

الوصف: نقل سلسلة إلى سلة المحذوفات.

المعاملات:

  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • id (string, مطلوب): معرّف السلسلة المراد حذفها.
gmail/untrash_thread

الوصف: إزالة سلسلة من سلة المحذوفات.

المعاملات:

  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • id (string, مطلوب): معرّف السلسلة المراد استعادتها.
from crewai import Agent, Task, Crew
# Create an agent with Gmail capabilities
gmail_agent = Agent(
role="Email Manager",
goal="Manage email communications and messages efficiently",
backstory="An AI assistant specialized in email management and communication.",
apps=['gmail'] # All Gmail actions will be available
)
# Task to send a follow-up email
send_email_task = Task(
description="Send a follow-up email to [email protected] about the project update meeting",
agent=gmail_agent,
expected_output="Email sent successfully with confirmation"
)
# Run the task
crew = Crew(
agents=[gmail_agent],
tasks=[send_email_task]
)
crew.kickoff()
from crewai import Agent, Task, Crew
# Create agent with specific Gmail actions only
email_coordinator = Agent(
role="Email Coordinator",
goal="Coordinate email communications and manage drafts",
backstory="An AI assistant that focuses on email coordination and draft management.",
apps=[
'gmail/send_email',
'gmail/fetch_emails',
'gmail/create_draft'
]
)
# Task to prepare and send emails
email_coordination = Task(
description="Search for emails from the marketing team, create a summary draft, and send it to stakeholders",
agent=email_coordinator,
expected_output="Summary email sent to stakeholders"
)
crew = Crew(
agents=[email_coordinator],
tasks=[email_coordination]
)
crew.kickoff()

البحث في البريد الإلكتروني وتحليله

Section titled “البحث في البريد الإلكتروني وتحليله”
from crewai import Agent, Task, Crew
# Create agent with Gmail search and analysis capabilities
email_analyst = Agent(
role="Email Analyst",
goal="Analyze email patterns and provide insights",
backstory="An AI assistant that analyzes email data to provide actionable insights.",
apps=['gmail/fetch_emails', 'gmail/get_message'] # Specific actions for email analysis
)
# Task to analyze email patterns
analysis_task = Task(
description="""
Search for all unread emails from the last 7 days,
categorize them by sender domain,
and create a summary report of communication patterns
""",
agent=email_analyst,
expected_output="Email analysis report with communication patterns and recommendations"
)
crew = Crew(
agents=[email_analyst],
tasks=[analysis_task]
)
crew.kickoff()
from crewai import Agent, Task, Crew
# Create agent with Gmail thread management capabilities
thread_manager = Agent(
role="Thread Manager",
goal="Organize and manage email threads efficiently",
backstory="An AI assistant that specializes in email thread organization and management.",
apps=[
'gmail/fetch_thread',
'gmail/modify_thread',
'gmail/trash_thread'
]
)
# Task to organize email threads
thread_task = Task(
description="""
1. Fetch all threads from the last month
2. Apply appropriate labels to organize threads by project
3. Archive or trash threads that are no longer relevant
""",
agent=thread_manager,
expected_output="Email threads organized with appropriate labels and cleanup completed"
)
crew = Crew(
agents=[thread_manager],
tasks=[thread_task]
)
crew.kickoff()

تحتاج مساعدة؟

تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Gmail أو استكشاف الأخطاء وإصلاحها.