---
title: تكامل Gmail
description: "إدارة البريد الإلكتروني وجهات الاتصال مع تكامل Gmail لـ CrewAI."
icon: "envelope"
mode: "wide"
---

## نظرة عامة

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

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

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

- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
- حساب Gmail بالصلاحيات المناسبة
- ربط حساب Gmail الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)

## إعداد تكامل Gmail

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

1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
2. ابحث عن **Gmail** في قسم تكاملات المصادقة
3. انقر على **Connect** وأكمل عملية OAuth
4. امنح الصلاحيات اللازمة لإدارة البريد الإلكتروني وجهات الاتصال
5. انسخ رمز المؤسسة من [إعدادات التكامل](https://app.crewai.com/crewai_plus/settings/integrations)

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

```bash
uv add crewai-tools
```

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

<Note>
  لاستخدام التكاملات مع `Agent(apps=[])`, يجب تعيين متغير البيئة
  `CREWAI_PLATFORM_INTEGRATION_TOKEN` برمز المؤسسة الخاص بك.
</Note>

```bash
export CREWAI_PLATFORM_INTEGRATION_TOKEN="your_enterprise_token"
```

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

```
CREWAI_PLATFORM_INTEGRATION_TOKEN=your_enterprise_token
```

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

<AccordionGroup>
  <Accordion title="gmail/fetch_emails">
    **الوصف:** استرجاع قائمة بالرسائل.

    **المعاملات:**
    - `userId` (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو 'me' للمستخدم المصادق عليه. (الافتراضي: "me")
    - `q` (string, اختياري): استعلام بحث لتصفية الرسائل (مثال: 'from:someone@example.com is:unread').
    - `maxResults` (integer, اختياري): الحد الأقصى لعدد الرسائل المُرجعة (1-500). (الافتراضي: 100)
    - `pageToken` (string, اختياري): رمز الصفحة لاسترجاع صفحة محددة من النتائج.
    - `labelIds` (array, اختياري): إرجاع الرسائل ذات التصنيفات التي تطابق جميع معرّفات التصنيف المحددة فقط.
    - `includeSpamTrash` (boolean, اختياري): تضمين رسائل البريد العشوائي والمحذوفات في النتائج. (الافتراضي: false)

  </Accordion>

  <Accordion title="gmail/send_email">
    **الوصف:** إرسال بريد إلكتروني.

    **المعاملات:**
    - `to` (string, مطلوب): عنوان البريد الإلكتروني للمستلم.
    - `subject` (string, مطلوب): سطر موضوع البريد الإلكتروني.
    - `body` (string, مطلوب): محتوى رسالة البريد الإلكتروني.
    - `userId` (string, اختياري): عنوان البريد الإلكتروني للمستخدم أو 'me' للمستخدم المصادق عليه. (الافتراضي: "me")
    - `cc` (string, اختياري): عناوين نسخة كربونية (مفصولة بفواصل).
    - `bcc` (string, اختياري): عناوين نسخة كربونية مخفية (مفصولة بفواصل).
    - `from` (string, اختياري): عنوان المرسل (إذا كان مختلفاً عن المستخدم المصادق عليه).
    - `replyTo` (string, اختياري): عنوان الرد.
    - `threadId` (string, اختياري): معرّف السلسلة إذا كان الرد على محادثة موجودة.

  </Accordion>

  <Accordion title="gmail/delete_email">
    **الوصف:** حذف بريد إلكتروني بواسطة المعرّف.

    **المعاملات:**
    - `userId` (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو 'me' للمستخدم المصادق عليه.
    - `id` (string, مطلوب): معرّف الرسالة المراد حذفها.

  </Accordion>

  <Accordion title="gmail/create_draft">
    **الوصف:** إنشاء مسودة بريد إلكتروني جديدة.

    **المعاملات:**
    - `userId` (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو 'me' للمستخدم المصادق عليه.
    - `message` (object, مطلوب): كائن الرسالة الذي يحتوي على محتوى المسودة.
      - `raw` (string, مطلوب): رسالة البريد الإلكتروني بترميز base64url.

  </Accordion>

  <Accordion title="gmail/get_message">
    **الوصف:** استرجاع رسالة محددة بواسطة المعرّف.

    **المعاملات:**
    - `userId` (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو 'me' للمستخدم المصادق عليه. (الافتراضي: "me")
    - `id` (string, مطلوب): معرّف الرسالة المراد استرجاعها.
    - `format` (string, اختياري): صيغة إرجاع الرسالة. الخيارات: "full", "metadata", "minimal", "raw". (الافتراضي: "full")
    - `metadataHeaders` (array, اختياري): عند التحديد وكانت الصيغة METADATA، يتم تضمين الترويسات المحددة فقط.

  </Accordion>

  <Accordion title="gmail/get_attachment">
    **الوصف:** استرجاع مرفق رسالة.

    **المعاملات:**
    - `userId` (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو 'me' للمستخدم المصادق عليه. (الافتراضي: "me")
    - `messageId` (string, مطلوب): معرّف الرسالة التي تحتوي على المرفق.
    - `id` (string, مطلوب): معرّف المرفق المراد استرجاعه.

  </Accordion>

  <Accordion title="gmail/fetch_thread">
    **الوصف:** استرجاع سلسلة بريد إلكتروني محددة بواسطة المعرّف.

    **المعاملات:**
    - `userId` (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو 'me' للمستخدم المصادق عليه. (الافتراضي: "me")
    - `id` (string, مطلوب): معرّف السلسلة المراد استرجاعها.
    - `format` (string, اختياري): صيغة إرجاع الرسائل. الخيارات: "full", "metadata", "minimal". (الافتراضي: "full")
    - `metadataHeaders` (array, اختياري): عند التحديد وكانت الصيغة METADATA، يتم تضمين الترويسات المحددة فقط.

  </Accordion>

  <Accordion title="gmail/modify_thread">
    **الوصف:** تعديل التصنيفات المُطبقة على سلسلة.

    **المعاملات:**
    - `userId` (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو 'me' للمستخدم المصادق عليه. (الافتراضي: "me")
    - `id` (string, مطلوب): معرّف السلسلة المراد تعديلها.
    - `addLabelIds` (array, اختياري): قائمة بمعرّفات التصنيفات المراد إضافتها لهذه السلسلة.
    - `removeLabelIds` (array, اختياري): قائمة بمعرّفات التصنيفات المراد إزالتها من هذه السلسلة.

  </Accordion>

  <Accordion title="gmail/trash_thread">
    **الوصف:** نقل سلسلة إلى سلة المحذوفات.

    **المعاملات:**
    - `userId` (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو 'me' للمستخدم المصادق عليه. (الافتراضي: "me")
    - `id` (string, مطلوب): معرّف السلسلة المراد حذفها.

  </Accordion>

  <Accordion title="gmail/untrash_thread">
    **الوصف:** إزالة سلسلة من سلة المحذوفات.

    **المعاملات:**
    - `userId` (string, مطلوب): عنوان البريد الإلكتروني للمستخدم أو 'me' للمستخدم المصادق عليه. (الافتراضي: "me")
    - `id` (string, مطلوب): معرّف السلسلة المراد استعادتها.

  </Accordion>
</AccordionGroup>

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

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

```python
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 محددة

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

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

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

### إدارة السلاسل

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

### الحصول على المساعدة

<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
  تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Gmail أو
  استكشاف الأخطاء وإصلاحها.
</Card>
