الانتقال إلى المحتوى الرئيسي

نظرة عامة

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

المتطلبات الأساسية

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

إعداد تكامل Gmail

1. ربط حساب Gmail الخاص بك

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

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

uv add crewai-tools

3. إعداد متغير البيئة

لاستخدام التكاملات مع Agent(apps=[]), يجب تعيين متغير البيئة CREWAI_PLATFORM_INTEGRATION_TOKEN برمز المؤسسة الخاص بك.
export CREWAI_PLATFORM_INTEGRATION_TOKEN="your_enterprise_token"
أو أضفه إلى ملف .env:
CREWAI_PLATFORM_INTEGRATION_TOKEN=your_enterprise_token

الإجراءات المتاحة

الوصف: استرجاع قائمة بالرسائل.المعاملات:
  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • q (string, اختياري): استعلام بحث لتصفية الرسائل (مثال: ‘from:someone@example.com is:unread’).
  • maxResults (integer, اختياري): الحد الأقصى لعدد الرسائل المُرجعة (1-500). (الافتراضي: 100)
  • pageToken (string, اختياري): رمز الصفحة لاسترجاع صفحة محددة من النتائج.
  • labelIds (array, اختياري): إرجاع الرسائل ذات التصنيفات التي تطابق جميع معرّفات التصنيف المحددة فقط.
  • includeSpamTrash (boolean, اختياري): تضمين رسائل البريد العشوائي والمحذوفات في النتائج. (الافتراضي: false)
الوصف: إرسال بريد إلكتروني.المعاملات:
  • to (string, مطلوب): عنوان البريد الإلكتروني للمستلم.
  • subject (string, مطلوب): سطر موضوع البريد الإلكتروني.
  • body (string, مطلوب): محتوى رسالة البريد الإلكتروني.
  • userId (string, اختياري): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • cc (string, اختياري): عناوين نسخة كربونية (مفصولة بفواصل).
  • bcc (string, اختياري): عناوين نسخة كربونية مخفية (مفصولة بفواصل).
  • from (string, اختياري): عنوان المرسل (إذا كان مختلفاً عن المستخدم المصادق عليه).
  • replyTo (string, اختياري): عنوان الرد.
  • threadId (string, اختياري): معرّف السلسلة إذا كان الرد على محادثة موجودة.
الوصف: حذف بريد إلكتروني بواسطة المعرّف.المعاملات:
  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه.
  • id (string, مطلوب): معرّف الرسالة المراد حذفها.
الوصف: إنشاء مسودة بريد إلكتروني جديدة.المعاملات:
  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه.
  • message (object, مطلوب): كائن الرسالة الذي يحتوي على محتوى المسودة.
    • raw (string, مطلوب): رسالة البريد الإلكتروني بترميز base64url.
الوصف: استرجاع رسالة محددة بواسطة المعرّف.المعاملات:
  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • id (string, مطلوب): معرّف الرسالة المراد استرجاعها.
  • format (string, اختياري): صيغة إرجاع الرسالة. الخيارات: “full”, “metadata”, “minimal”, “raw”. (الافتراضي: “full”)
  • metadataHeaders (array, اختياري): عند التحديد وكانت الصيغة METADATA، يتم تضمين الترويسات المحددة فقط.
الوصف: استرجاع مرفق رسالة.المعاملات:
  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • messageId (string, مطلوب): معرّف الرسالة التي تحتوي على المرفق.
  • id (string, مطلوب): معرّف المرفق المراد استرجاعه.
الوصف: استرجاع سلسلة بريد إلكتروني محددة بواسطة المعرّف.المعاملات:
  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • id (string, مطلوب): معرّف السلسلة المراد استرجاعها.
  • format (string, اختياري): صيغة إرجاع الرسائل. الخيارات: “full”, “metadata”, “minimal”. (الافتراضي: “full”)
  • metadataHeaders (array, اختياري): عند التحديد وكانت الصيغة METADATA، يتم تضمين الترويسات المحددة فقط.
الوصف: تعديل التصنيفات المُطبقة على سلسلة.المعاملات:
  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • id (string, مطلوب): معرّف السلسلة المراد تعديلها.
  • addLabelIds (array, اختياري): قائمة بمعرّفات التصنيفات المراد إضافتها لهذه السلسلة.
  • removeLabelIds (array, اختياري): قائمة بمعرّفات التصنيفات المراد إزالتها من هذه السلسلة.
الوصف: نقل سلسلة إلى سلة المحذوفات.المعاملات:
  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • id (string, مطلوب): معرّف السلسلة المراد حذفها.
الوصف: إزالة سلسلة من سلة المحذوفات.المعاملات:
  • userId (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو ‘me’ للمستخدم المصادق عليه. (الافتراضي: “me”)
  • id (string, مطلوب): معرّف السلسلة المراد استعادتها.

أمثلة الاستخدام

إعداد Agent أساسي لـ Gmail

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 john@example.com 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()

تصفية أدوات Gmail محددة

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()

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

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 أو استكشاف الأخطاء وإصلاحها.