---
title: تكامل Microsoft Teams
description: "التعاون الجماعي والتواصل مع تكامل Microsoft Teams لـ CrewAI."
icon: "users"
mode: "wide"
---

## نظرة عامة

مكّن وكلاءك من الوصول إلى بيانات Teams وإرسال الرسائل وإنشاء الاجتماعات وإدارة القنوات. أتمت التواصل الجماعي، وجدوِل الاجتماعات، واسترجع الرسائل، وبسّط سير عمل التعاون باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.

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

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

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

## إعداد تكامل Microsoft Teams

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

1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
2. ابحث عن **Microsoft Teams** في قسم تكاملات المصادقة
3. انقر على **Connect** وأكمل عملية OAuth
4. امنح الصلاحيات اللازمة للوصول إلى Teams
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="microsoft_teams/get_teams">
    **الوصف:** الحصول على جميع الفرق التي ينتمي إليها المستخدم.

    **المعاملات:**
    - لا توجد معاملات مطلوبة.

  </Accordion>

  <Accordion title="microsoft_teams/get_channels">
    **الوصف:** الحصول على القنوات في فريق محدد.

    **المعاملات:**
    - `team_id` (string, مطلوب): معرّف الفريق.

  </Accordion>

  <Accordion title="microsoft_teams/send_message">
    **الوصف:** إرسال رسالة إلى قناة Teams.

    **المعاملات:**
    - `team_id` (string, مطلوب): معرّف الفريق.
    - `channel_id` (string, مطلوب): معرّف القناة.
    - `message` (string, مطلوب): محتوى الرسالة.
    - `content_type` (string, اختياري): نوع المحتوى (html أو text). الافتراضي: `text`.

  </Accordion>

  <Accordion title="microsoft_teams/get_messages">
    **الوصف:** الحصول على الرسائل من قناة Teams.

    **المعاملات:**
    - `team_id` (string, مطلوب): معرّف الفريق.
    - `channel_id` (string, مطلوب): معرّف القناة.
    - `top` (integer, اختياري): عدد الرسائل (الحد الأقصى 50). الافتراضي: `20`.

  </Accordion>

  <Accordion title="microsoft_teams/create_meeting">
    **الوصف:** إنشاء اجتماع Teams.

    **المعاملات:**
    - `subject` (string, مطلوب): موضوع/عنوان الاجتماع.
    - `startDateTime` (string, مطلوب): وقت بداية الاجتماع (صيغة ISO 8601 مع المنطقة الزمنية).
    - `endDateTime` (string, مطلوب): وقت نهاية الاجتماع (صيغة ISO 8601 مع المنطقة الزمنية).

  </Accordion>

  <Accordion title="microsoft_teams/get_team_members">
    **الوصف:** الحصول على أعضاء فريق محدد.

    **المعاملات:**
    - `team_id` (string, مطلوب): المعرّف الفريد للفريق.
    - `top` (integer, اختياري): الحد الأقصى لعدد الأعضاء (1-999). الافتراضي: `100`.

  </Accordion>

  <Accordion title="microsoft_teams/create_channel">
    **الوصف:** إنشاء قناة جديدة في فريق.

    **المعاملات:**
    - `team_id` (string, مطلوب): المعرّف الفريد للفريق.
    - `display_name` (string, مطلوب): اسم القناة. الحد الأقصى 50 حرفاً.
    - `description` (string, اختياري): وصف اختياري يشرح غرض القناة.
    - `membership_type` (string, اختياري): ظهور القناة. القيم: `standard`, `private`. الافتراضي: `standard`.

  </Accordion>

  <Accordion title="microsoft_teams/reply_to_message">
    **الوصف:** الرد على رسالة في قناة Teams.

    **المعاملات:**
    - `team_id` (string, مطلوب): المعرّف الفريد للفريق.
    - `channel_id` (string, مطلوب): المعرّف الفريد للقناة.
    - `message_id` (string, مطلوب): المعرّف الفريد للرسالة المراد الرد عليها.
    - `message` (string, مطلوب): محتوى الرد.
    - `content_type` (string, اختياري): صيغة المحتوى. القيم: `html`, `text`. الافتراضي: `text`.

  </Accordion>

  <Accordion title="microsoft_teams/update_meeting">
    **الوصف:** تحديث اجتماع عبر الإنترنت موجود.

    **المعاملات:**
    - `meeting_id` (string, مطلوب): المعرّف الفريد للاجتماع.
    - `subject` (string, اختياري): عنوان الاجتماع الجديد.
    - `startDateTime` (string, اختياري): وقت البداية الجديد بصيغة ISO 8601.
    - `endDateTime` (string, اختياري): وقت النهاية الجديد بصيغة ISO 8601.

  </Accordion>

  <Accordion title="microsoft_teams/delete_meeting">
    **الوصف:** حذف اجتماع عبر الإنترنت.

    **المعاملات:**
    - `meeting_id` (string, مطلوب): المعرّف الفريد للاجتماع المراد حذفه.

  </Accordion>
</AccordionGroup>

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

### إعداد Agent أساسي لـ Microsoft Teams

```python
from crewai import Agent, Task, Crew

# Create an agent with Microsoft Teams capabilities
teams_agent = Agent(
    role="Teams Coordinator",
    goal="Manage Teams communication and meetings efficiently",
    backstory="An AI assistant specialized in Microsoft Teams operations and team collaboration.",
    apps=['microsoft_teams']  # All Teams actions will be available
)

# Task to list teams and channels
explore_teams_task = Task(
    description="List all teams I'm a member of and then get the channels for the first team.",
    agent=teams_agent,
    expected_output="List of teams and channels displayed."
)

# Run the task
crew = Crew(
    agents=[teams_agent],
    tasks=[explore_teams_task]
)

crew.kickoff()
```

## استكشاف الأخطاء وإصلاحها

### المشاكل الشائعة

**أخطاء المصادقة**

- تأكد من أن حساب Microsoft الخاص بك لديه الصلاحيات اللازمة للوصول إلى Teams.
- النطاقات المطلوبة تشمل: `Team.ReadBasic.All`, `Channel.ReadBasic.All`, `ChannelMessage.Send`, `OnlineMeetings.ReadWrite`.

**إنشاء الاجتماعات**

- تأكد من توفير `subject` و`startDateTime` و`endDateTime`.
- استخدم صيغة ISO 8601 مع المنطقة الزمنية لحقول التاريخ والوقت.

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

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