mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-05-01 07:13:00 +00:00
docs: add modern standard arabic translation of all documentation
This commit is contained in:
271
docs/ar/enterprise/integrations/asana.mdx
Normal file
271
docs/ar/enterprise/integrations/asana.mdx
Normal file
@@ -0,0 +1,271 @@
|
||||
---
|
||||
title: تكامل Asana
|
||||
description: "تنسيق مهام الفريق والمشاريع مع تكامل Asana لـ CrewAI."
|
||||
icon: "circle"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة المهام والمشاريع وتنسيق الفريق عبر Asana. أنشئ المهام وحدّث حالة المشروع وأدر التعيينات وبسّط سير عمل فريقك مع الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Asana، تأكد من أن لديك:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك نشط
|
||||
- حساب Asana مع الأذونات المناسبة
|
||||
- ربط حساب Asana الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Asana
|
||||
|
||||
### 1. ربط حساب Asana الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Asana** في قسم تكاملات المصادقة
|
||||
3. انقر على **ربط** وأكمل تدفق OAuth
|
||||
4. امنح الأذونات اللازمة لإدارة المهام والمشاريع
|
||||
5. انسخ رمز Enterprise الخاص بك من [إعدادات التكامل](https://app.crewai.com/crewai_plus/settings/integrations)
|
||||
|
||||
### 2. تثبيت الحزمة المطلوبة
|
||||
|
||||
```bash
|
||||
uv add crewai-tools
|
||||
```
|
||||
|
||||
### 3. إعداد متغير البيئة
|
||||
|
||||
<Note>
|
||||
لاستخدام التكاملات مع `Agent(apps=[])`, يجب تعيين متغير البيئة
|
||||
`CREWAI_PLATFORM_INTEGRATION_TOKEN` برمز Enterprise الخاص بك.
|
||||
</Note>
|
||||
|
||||
```bash
|
||||
export CREWAI_PLATFORM_INTEGRATION_TOKEN="your_enterprise_token"
|
||||
```
|
||||
|
||||
أو أضفه إلى ملف `.env`:
|
||||
|
||||
```
|
||||
CREWAI_PLATFORM_INTEGRATION_TOKEN=your_enterprise_token
|
||||
```
|
||||
|
||||
## الإجراءات المتاحة
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="asana/create_comment">
|
||||
**الوصف:** إنشاء تعليق في Asana.
|
||||
|
||||
**المعاملات:**
|
||||
- `task` (string, مطلوب): معرف المهمة - معرف المهمة التي سيُضاف إليها التعليق. سيُنسب التعليق للمستخدم المصادق عليه حاليًا.
|
||||
- `text` (string, مطلوب): النص (مثال: "This is a comment.").
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="asana/create_project">
|
||||
**الوصف:** إنشاء مشروع في Asana.
|
||||
|
||||
**المعاملات:**
|
||||
- `name` (string, مطلوب): الاسم (مثال: "Stuff to buy").
|
||||
- `workspace` (string, مطلوب): مساحة العمل - استخدم إعدادات سير عمل بوابة الاتصال للسماح للمستخدمين باختيار مساحة العمل لإنشاء المشاريع فيها. الافتراضي هو أول مساحة عمل للمستخدم إذا تُرك فارغًا.
|
||||
- `team` (string, اختياري): الفريق - استخدم إعدادات سير عمل بوابة الاتصال للسماح للمستخدمين باختيار الفريق لمشاركة هذا المشروع معه. الافتراضي هو أول فريق للمستخدم إذا تُرك فارغًا.
|
||||
- `notes` (string, اختياري): ملاحظات (مثال: "These are things we need to purchase.").
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="asana/get_projects">
|
||||
**الوصف:** الحصول على قائمة المشاريع في Asana.
|
||||
|
||||
**المعاملات:**
|
||||
- `archived` (string, اختياري): مؤرشف - اختر "true" لعرض المشاريع المؤرشفة، "false" لعرض المشاريع النشطة فقط، أو "default" لعرض كليهما.
|
||||
- الخيارات: `default`, `true`, `false`
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="asana/get_project_by_id">
|
||||
**الوصف:** الحصول على مشروع بواسطة المعرف في Asana.
|
||||
|
||||
**المعاملات:**
|
||||
- `projectFilterId` (string, مطلوب): معرف المشروع.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="asana/create_task">
|
||||
**الوصف:** إنشاء مهمة في Asana.
|
||||
|
||||
**المعاملات:**
|
||||
- `name` (string, مطلوب): الاسم (مثال: "Task Name").
|
||||
- `workspace` (string, اختياري): مساحة العمل - استخدم إعدادات سير عمل بوابة الاتصال للسماح للمستخدمين باختيار مساحة العمل لإنشاء المهام فيها. الافتراضي هو أول مساحة عمل للمستخدم إذا تُرك فارغًا.
|
||||
- `project` (string, اختياري): المشروع - استخدم إعدادات سير عمل بوابة الاتصال للسماح للمستخدمين باختيار المشروع لإنشاء هذه المهمة فيه.
|
||||
- `notes` (string, اختياري): ملاحظات.
|
||||
- `dueOnDate` (string, اختياري): تاريخ الاستحقاق - التاريخ الذي تستحق فيه هذه المهمة. لا يمكن استخدامه مع Due At. (مثال: "YYYY-MM-DD").
|
||||
- `dueAtDate` (string, اختياري): الاستحقاق في - التاريخ والوقت (طابع زمني ISO) الذي تستحق فيه هذه المهمة. لا يمكن استخدامه مع Due On. (مثال: "2019-09-15T02:06:58.147Z").
|
||||
- `assignee` (string, اختياري): المُكلف - معرف مستخدم Asana الذي سيتم تعيين هذه المهمة له. استخدم إعدادات سير عمل بوابة الاتصال للسماح للمستخدمين باختيار المُكلف.
|
||||
- `gid` (string, اختياري): معرف خارجي - معرف من تطبيقك لربط هذه المهمة به. يمكنك استخدام هذا المعرف لمزامنة التحديثات لهذه المهمة لاحقًا.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="asana/update_task">
|
||||
**الوصف:** تحديث مهمة في Asana.
|
||||
|
||||
**المعاملات:**
|
||||
- `taskId` (string, مطلوب): معرف المهمة - معرف المهمة التي سيتم تحديثها.
|
||||
- `completeStatus` (string, اختياري): حالة الإكمال.
|
||||
- الخيارات: `true`, `false`
|
||||
- `name` (string, اختياري): الاسم (مثال: "Task Name").
|
||||
- `notes` (string, اختياري): ملاحظات.
|
||||
- `dueOnDate` (string, اختياري): تاريخ الاستحقاق - التاريخ الذي تستحق فيه هذه المهمة. لا يمكن استخدامه مع Due At. (مثال: "YYYY-MM-DD").
|
||||
- `dueAtDate` (string, اختياري): الاستحقاق في - التاريخ والوقت (طابع زمني ISO) الذي تستحق فيه هذه المهمة. لا يمكن استخدامه مع Due On. (مثال: "2019-09-15T02:06:58.147Z").
|
||||
- `assignee` (string, اختياري): المُكلف - معرف مستخدم Asana الذي سيتم تعيين هذه المهمة له.
|
||||
- `gid` (string, اختياري): معرف خارجي - معرف من تطبيقك لربط هذه المهمة به.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="asana/get_tasks">
|
||||
**الوصف:** الحصول على قائمة المهام في Asana.
|
||||
|
||||
**المعاملات:**
|
||||
- `workspace` (string, اختياري): مساحة العمل - معرف مساحة العمل لتصفية المهام عليها.
|
||||
- `project` (string, اختياري): المشروع - معرف المشروع لتصفية المهام عليه.
|
||||
- `assignee` (string, اختياري): المُكلف - معرف المُكلف لتصفية المهام عليه.
|
||||
- `completedSince` (string, اختياري): مكتملة منذ - إرجاع المهام غير المكتملة فقط أو التي اكتملت منذ هذا الوقت (طابع زمني ISO أو Unix). (مثال: "2014-04-25T16:15:47-04:00").
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="asana/get_tasks_by_id">
|
||||
**الوصف:** الحصول على قائمة المهام بواسطة المعرف في Asana.
|
||||
|
||||
**المعاملات:**
|
||||
- `taskId` (string, مطلوب): معرف المهمة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="asana/get_task_by_external_id">
|
||||
**الوصف:** الحصول على مهمة بواسطة المعرف الخارجي في Asana.
|
||||
|
||||
**المعاملات:**
|
||||
- `gid` (string, مطلوب): المعرف الخارجي - المعرف الذي ترتبط أو تتزامن به هذه المهمة، من تطبيقك.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="asana/add_task_to_section">
|
||||
**الوصف:** إضافة مهمة إلى قسم في Asana.
|
||||
|
||||
**المعاملات:**
|
||||
- `sectionId` (string, مطلوب): معرف القسم - معرف القسم لإضافة هذه المهمة إليه.
|
||||
- `taskId` (string, مطلوب): معرف المهمة - معرف المهمة. (مثال: "1204619611402340").
|
||||
- `beforeTaskId` (string, اختياري): معرف المهمة السابقة - معرف مهمة في هذا القسم سيتم إدراج هذه المهمة قبلها. لا يمكن استخدامه مع After Task ID. (مثال: "1204619611402340").
|
||||
- `afterTaskId` (string, اختياري): معرف المهمة التالية - معرف مهمة في هذا القسم سيتم إدراج هذه المهمة بعدها. لا يمكن استخدامه مع Before Task ID. (مثال: "1204619611402340").
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="asana/get_teams">
|
||||
**الوصف:** الحصول على قائمة الفرق في Asana.
|
||||
|
||||
**المعاملات:**
|
||||
- `workspace` (string, مطلوب): مساحة العمل - إرجاع الفرق في مساحة العمل هذه المرئية للمستخدم المصرح له.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="asana/get_workspaces">
|
||||
**الوصف:** الحصول على قائمة مساحات العمل في Asana.
|
||||
|
||||
**المعاملات:** لا توجد معاملات مطلوبة.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد وكيل Asana الأساسي
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Asana capabilities
|
||||
asana_agent = Agent(
|
||||
role="Project Manager",
|
||||
goal="Manage tasks and projects in Asana efficiently",
|
||||
backstory="An AI assistant specialized in project management and task coordination.",
|
||||
apps=['asana'] # All Asana actions will be available
|
||||
)
|
||||
|
||||
# Task to create a new project
|
||||
create_project_task = Task(
|
||||
description="Create a new project called 'Q1 Marketing Campaign' in the Marketing workspace",
|
||||
agent=asana_agent,
|
||||
expected_output="Confirmation that the project was created successfully with project ID"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[asana_agent],
|
||||
tasks=[create_project_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### تصفية أدوات Asana محددة
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create agent with specific Asana actions only
|
||||
task_manager_agent = Agent(
|
||||
role="Task Manager",
|
||||
goal="Create and manage tasks efficiently",
|
||||
backstory="An AI assistant that focuses on task creation and management.",
|
||||
apps=[
|
||||
'asana/create_task',
|
||||
'asana/update_task',
|
||||
'asana/get_tasks'
|
||||
] # Specific Asana actions
|
||||
)
|
||||
|
||||
# Task to create and assign a task
|
||||
task_management = Task(
|
||||
description="Create a task called 'Review quarterly reports' and assign it to the appropriate team member",
|
||||
agent=task_manager_agent,
|
||||
expected_output="Task created and assigned successfully"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[task_manager_agent],
|
||||
tasks=[task_management]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### إدارة المشاريع المتقدمة
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
project_coordinator = Agent(
|
||||
role="Project Coordinator",
|
||||
goal="Coordinate project activities and track progress",
|
||||
backstory="An experienced project coordinator who ensures projects run smoothly.",
|
||||
apps=['asana']
|
||||
)
|
||||
|
||||
# Complex task involving multiple Asana operations
|
||||
coordination_task = Task(
|
||||
description="""
|
||||
1. Get all active projects in the workspace
|
||||
2. For each project, get the list of incomplete tasks
|
||||
3. Create a summary report task in the 'Management Reports' project
|
||||
4. Add comments to overdue tasks to request status updates
|
||||
""",
|
||||
agent=project_coordinator,
|
||||
expected_output="Summary report created and status update requests sent for overdue tasks"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[project_coordinator],
|
||||
tasks=[coordination_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
280
docs/ar/enterprise/integrations/box.mdx
Normal file
280
docs/ar/enterprise/integrations/box.mdx
Normal file
@@ -0,0 +1,280 @@
|
||||
---
|
||||
title: تكامل Box
|
||||
description: "تخزين الملفات وإدارة المستندات مع تكامل Box لـ CrewAI."
|
||||
icon: "box"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة الملفات والمجلدات والمستندات عبر Box. ارفع الملفات، ونظّم هياكل المجلدات، وابحث في المحتوى، وبسّط إدارة مستندات فريقك باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Box، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Box بالصلاحيات المناسبة
|
||||
- ربط حساب Box الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Box
|
||||
|
||||
### 1. ربط حساب Box الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Box** في قسم تكاملات المصادقة
|
||||
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="box/save_file">
|
||||
**الوصف:** حفظ ملف من عنوان URL في Box.
|
||||
|
||||
**المعاملات:**
|
||||
- `fileAttributes` (object, مطلوب): السمات - بيانات وصفية للملف تشمل الاسم والمجلد الأصلي والطوابع الزمنية.
|
||||
```json
|
||||
{
|
||||
"content_created_at": "2012-12-12T10:53:43-08:00",
|
||||
"content_modified_at": "2012-12-12T10:53:43-08:00",
|
||||
"name": "qwerty.png",
|
||||
"parent": { "id": "1234567" }
|
||||
}
|
||||
```
|
||||
- `file` (string, مطلوب): عنوان URL للملف - يجب أن يكون حجم الملفات أقل من 50 ميجابايت. (مثال: "https://picsum.photos/200/300").
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="box/save_file_from_object">
|
||||
**الوصف:** حفظ ملف في Box.
|
||||
|
||||
**المعاملات:**
|
||||
- `file` (string, مطلوب): الملف - يقبل كائن ملف يحتوي على بيانات الملف. يجب أن يكون حجم الملفات أقل من 50 ميجابايت.
|
||||
- `fileName` (string, مطلوب): اسم الملف (مثال: "qwerty.png").
|
||||
- `folder` (string, اختياري): المجلد - استخدم إعدادات سير عمل بوابة الاتصال للسماح للمستخدمين باختيار وجهة مجلد الملف. يستخدم المجلد الجذري افتراضياً إذا تُرك فارغاً.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="box/get_file_by_id">
|
||||
**الوصف:** الحصول على ملف بواسطة المعرّف في Box.
|
||||
|
||||
**المعاملات:**
|
||||
- `fileId` (string, مطلوب): معرّف الملف - المعرّف الفريد الذي يمثل ملفاً. (مثال: "12345").
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="box/list_files">
|
||||
**الوصف:** عرض قائمة الملفات في Box.
|
||||
|
||||
**المعاملات:**
|
||||
- `folderId` (string, مطلوب): معرّف المجلد - المعرّف الفريد الذي يمثل مجلداً. (مثال: "0").
|
||||
- `filterFormula` (object, اختياري): فلتر بصيغة التعبير العادي المنفصل - OR لمجموعات AND من شروط فردية.
|
||||
```json
|
||||
{
|
||||
"operator": "OR",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "direction",
|
||||
"operator": "$stringExactlyMatches",
|
||||
"value": "ASC"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="box/create_folder">
|
||||
**الوصف:** إنشاء مجلد في Box.
|
||||
|
||||
**المعاملات:**
|
||||
- `folderName` (string, مطلوب): الاسم - اسم المجلد الجديد. (مثال: "New Folder").
|
||||
- `folderParent` (object, مطلوب): المجلد الأصلي - المجلد الأصلي الذي سيُنشأ فيه المجلد الجديد.
|
||||
```json
|
||||
{
|
||||
"id": "123456"
|
||||
}
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="box/move_folder">
|
||||
**الوصف:** نقل مجلد في Box.
|
||||
|
||||
**المعاملات:**
|
||||
- `folderId` (string, مطلوب): معرّف المجلد - المعرّف الفريد الذي يمثل مجلداً. (مثال: "0").
|
||||
- `folderName` (string, مطلوب): الاسم - اسم المجلد. (مثال: "New Folder").
|
||||
- `folderParent` (object, مطلوب): المجلد الأصلي - وجهة المجلد الأصلي الجديد.
|
||||
```json
|
||||
{
|
||||
"id": "123456"
|
||||
}
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="box/get_folder_by_id">
|
||||
**الوصف:** الحصول على مجلد بواسطة المعرّف في Box.
|
||||
|
||||
**المعاملات:**
|
||||
- `folderId` (string, مطلوب): معرّف المجلد - المعرّف الفريد الذي يمثل مجلداً. (مثال: "0").
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="box/search_folders">
|
||||
**الوصف:** البحث في المجلدات في Box.
|
||||
|
||||
**المعاملات:**
|
||||
- `folderId` (string, مطلوب): معرّف المجلد - المجلد المراد البحث فيه.
|
||||
- `filterFormula` (object, اختياري): فلتر بصيغة التعبير العادي المنفصل - OR لمجموعات AND من شروط فردية.
|
||||
```json
|
||||
{
|
||||
"operator": "OR",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "sort",
|
||||
"operator": "$stringExactlyMatches",
|
||||
"value": "name"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="box/delete_folder">
|
||||
**الوصف:** حذف مجلد في Box.
|
||||
|
||||
**المعاملات:**
|
||||
- `folderId` (string, مطلوب): معرّف المجلد - المعرّف الفريد الذي يمثل مجلداً. (مثال: "0").
|
||||
- `recursive` (boolean, اختياري): تكراري - حذف مجلد غير فارغ بحذف المجلد وجميع محتوياته تكرارياً.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Box
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Box capabilities
|
||||
box_agent = Agent(
|
||||
role="Document Manager",
|
||||
goal="Manage files and folders in Box efficiently",
|
||||
backstory="An AI assistant specialized in document management and file organization.",
|
||||
apps=['box'] # All Box actions will be available
|
||||
)
|
||||
|
||||
# Task to create a folder structure
|
||||
create_structure_task = Task(
|
||||
description="Create a folder called 'Project Files' in the root directory and upload a document from URL",
|
||||
agent=box_agent,
|
||||
expected_output="Folder created and file uploaded successfully"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[box_agent],
|
||||
tasks=[create_structure_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### تصفية أدوات Box محددة
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create agent with specific Box actions only
|
||||
file_organizer_agent = Agent(
|
||||
role="File Organizer",
|
||||
goal="Organize and manage file storage efficiently",
|
||||
backstory="An AI assistant that focuses on file organization and storage management.",
|
||||
apps=['box/create_folder', 'box/save_file', 'box/list_files'] # Specific Box actions
|
||||
)
|
||||
|
||||
# Task to organize files
|
||||
organization_task = Task(
|
||||
description="Create a folder structure for the marketing team and organize existing files",
|
||||
agent=file_organizer_agent,
|
||||
expected_output="Folder structure created and files organized"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[file_organizer_agent],
|
||||
tasks=[organization_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### إدارة الملفات المتقدمة
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
file_manager = Agent(
|
||||
role="File Manager",
|
||||
goal="Maintain organized file structure and manage document lifecycle",
|
||||
backstory="An experienced file manager who ensures documents are properly organized and accessible.",
|
||||
apps=['box']
|
||||
)
|
||||
|
||||
# Complex task involving multiple Box operations
|
||||
management_task = Task(
|
||||
description="""
|
||||
1. List all files in the root folder
|
||||
2. Create monthly archive folders for the current year
|
||||
3. Move old files to appropriate archive folders
|
||||
4. Generate a summary report of the file organization
|
||||
""",
|
||||
agent=file_manager,
|
||||
expected_output="Files organized into archive structure with summary report"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[file_manager],
|
||||
tasks=[management_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
301
docs/ar/enterprise/integrations/clickup.mdx
Normal file
301
docs/ar/enterprise/integrations/clickup.mdx
Normal file
@@ -0,0 +1,301 @@
|
||||
---
|
||||
title: تكامل ClickUp
|
||||
description: "إدارة المهام والإنتاجية مع تكامل ClickUp لـ CrewAI."
|
||||
icon: "list-check"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة المهام والمشاريع وسير عمل الإنتاجية عبر ClickUp. أنشئ المهام وحدّثها، ونظّم المشاريع، وأدر تعيينات الفريق، وبسّط إدارة إنتاجيتك باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل ClickUp، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب ClickUp بالصلاحيات المناسبة
|
||||
- ربط حساب ClickUp الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل ClickUp
|
||||
|
||||
### 1. ربط حساب ClickUp الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **ClickUp** في قسم تكاملات المصادقة
|
||||
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="clickup/search_tasks">
|
||||
**الوصف:** البحث عن المهام في ClickUp باستخدام فلاتر متقدمة.
|
||||
|
||||
**المعاملات:**
|
||||
- `taskFilterFormula` (object, اختياري): فلتر بصيغة التعبير العادي المنفصل - OR لمجموعات AND من شروط فردية.
|
||||
```json
|
||||
{
|
||||
"operator": "OR",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "statuses%5B%5D",
|
||||
"operator": "$stringExactlyMatches",
|
||||
"value": "open"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
الحقول المتاحة: `space_ids%5B%5D`, `project_ids%5B%5D`, `list_ids%5B%5D`, `statuses%5B%5D`, `include_closed`, `assignees%5B%5D`, `tags%5B%5D`, `due_date_gt`, `due_date_lt`, `date_created_gt`, `date_created_lt`, `date_updated_gt`, `date_updated_lt`
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="clickup/get_task_in_list">
|
||||
**الوصف:** الحصول على المهام في قائمة محددة في ClickUp.
|
||||
|
||||
**المعاملات:**
|
||||
- `listId` (string, مطلوب): القائمة - اختر قائمة للحصول على المهام منها. استخدم إعدادات المستخدم في بوابة الاتصال للسماح للمستخدمين باختيار قائمة ClickUp.
|
||||
- `taskFilterFormula` (string, اختياري): البحث عن المهام التي تطابق الفلاتر المحددة. مثال: name=task1.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="clickup/create_task">
|
||||
**الوصف:** إنشاء مهمة في ClickUp.
|
||||
|
||||
**المعاملات:**
|
||||
- `listId` (string, مطلوب): القائمة - اختر قائمة لإنشاء هذه المهمة فيها.
|
||||
- `name` (string, مطلوب): الاسم - اسم المهمة.
|
||||
- `description` (string, اختياري): الوصف - وصف المهمة.
|
||||
- `status` (string, اختياري): الحالة - اختر حالة لهذه المهمة.
|
||||
- `assignees` (string, اختياري): المكلّفون - اختر عضواً (أو مصفوفة من معرّفات الأعضاء) ليتم تعيينهم لهذه المهمة.
|
||||
- `dueDate` (string, اختياري): تاريخ الاستحقاق - حدد تاريخ استحقاق لهذه المهمة.
|
||||
- `additionalFields` (string, اختياري): حقول إضافية - حدد حقولاً إضافية لتضمينها في هذه المهمة بصيغة JSON.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="clickup/update_task">
|
||||
**الوصف:** تحديث مهمة في ClickUp.
|
||||
|
||||
**المعاملات:**
|
||||
- `taskId` (string, مطلوب): معرّف المهمة - معرّف المهمة المراد تحديثها.
|
||||
- `listId` (string, مطلوب): القائمة - اختر قائمة لإنشاء هذه المهمة فيها.
|
||||
- `name` (string, اختياري): الاسم - اسم المهمة.
|
||||
- `description` (string, اختياري): الوصف - وصف المهمة.
|
||||
- `status` (string, اختياري): الحالة - اختر حالة لهذه المهمة.
|
||||
- `assignees` (string, اختياري): المكلّفون - اختر عضواً (أو مصفوفة من معرّفات الأعضاء) ليتم تعيينهم لهذه المهمة.
|
||||
- `dueDate` (string, اختياري): تاريخ الاستحقاق - حدد تاريخ استحقاق لهذه المهمة.
|
||||
- `additionalFields` (string, اختياري): حقول إضافية - حدد حقولاً إضافية لتضمينها في هذه المهمة بصيغة JSON.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="clickup/delete_task">
|
||||
**الوصف:** حذف مهمة في ClickUp.
|
||||
|
||||
**المعاملات:**
|
||||
- `taskId` (string, مطلوب): معرّف المهمة - معرّف المهمة المراد حذفها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="clickup/get_list">
|
||||
**الوصف:** الحصول على معلومات القائمة في ClickUp.
|
||||
|
||||
**المعاملات:**
|
||||
- `spaceId` (string, مطلوب): معرّف المساحة - معرّف المساحة التي تحتوي على القوائم.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="clickup/get_custom_fields_in_list">
|
||||
**الوصف:** الحصول على الحقول المخصصة في قائمة في ClickUp.
|
||||
|
||||
**المعاملات:**
|
||||
- `listId` (string, مطلوب): معرّف القائمة - معرّف القائمة للحصول على الحقول المخصصة منها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="clickup/get_all_fields_in_list">
|
||||
**الوصف:** الحصول على جميع الحقول في قائمة في ClickUp.
|
||||
|
||||
**المعاملات:**
|
||||
- `listId` (string, مطلوب): معرّف القائمة - معرّف القائمة للحصول على جميع الحقول منها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="clickup/get_space">
|
||||
**الوصف:** الحصول على معلومات المساحة في ClickUp.
|
||||
|
||||
**المعاملات:**
|
||||
- `spaceId` (string, اختياري): معرّف المساحة - معرّف المساحة المراد استرجاعها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="clickup/get_folders">
|
||||
**الوصف:** الحصول على المجلدات في ClickUp.
|
||||
|
||||
**المعاملات:**
|
||||
- `spaceId` (string, مطلوب): معرّف المساحة - معرّف المساحة التي تحتوي على المجلدات.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="clickup/get_member">
|
||||
**الوصف:** الحصول على معلومات العضو في ClickUp.
|
||||
|
||||
**المعاملات:** لا توجد معاملات مطلوبة.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ ClickUp
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Clickup capabilities
|
||||
clickup_agent = Agent(
|
||||
role="Task Manager",
|
||||
goal="Manage tasks and projects in ClickUp efficiently",
|
||||
backstory="An AI assistant specialized in task management and productivity coordination.",
|
||||
apps=['clickup'] # All Clickup actions will be available
|
||||
)
|
||||
|
||||
# Task to create a new task
|
||||
create_task = Task(
|
||||
description="Create a task called 'Review Q1 Reports' in the Marketing list with high priority",
|
||||
agent=clickup_agent,
|
||||
expected_output="Task created successfully with task ID"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[clickup_agent],
|
||||
tasks=[create_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### تصفية أدوات ClickUp محددة
|
||||
|
||||
```python
|
||||
|
||||
task_coordinator = Agent(
|
||||
role="Task Coordinator",
|
||||
goal="Create and manage tasks efficiently",
|
||||
backstory="An AI assistant that focuses on task creation and status management.",
|
||||
apps=['clickup/create_task']
|
||||
)
|
||||
|
||||
# Task to manage task workflow
|
||||
task_workflow = Task(
|
||||
description="Create a task for project planning and assign it to the development team",
|
||||
agent=task_coordinator,
|
||||
expected_output="Task created and assigned successfully"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[task_coordinator],
|
||||
tasks=[task_workflow]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### إدارة المشاريع المتقدمة
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
project_manager = Agent(
|
||||
role="Project Manager",
|
||||
goal="Coordinate project activities and track team productivity",
|
||||
backstory="An experienced project manager who ensures projects are delivered on time.",
|
||||
apps=['clickup']
|
||||
)
|
||||
|
||||
# Complex task involving multiple ClickUp operations
|
||||
project_coordination = Task(
|
||||
description="""
|
||||
1. Get all open tasks in the current space
|
||||
2. Identify overdue tasks and update their status
|
||||
3. Create a weekly report task summarizing project progress
|
||||
4. Assign the report task to the team lead
|
||||
""",
|
||||
agent=project_manager,
|
||||
expected_output="Project status updated and weekly report task created and assigned"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[project_manager],
|
||||
tasks=[project_coordination]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### البحث في المهام وإدارتها
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
task_analyst = Agent(
|
||||
role="Task Analyst",
|
||||
goal="Analyze task patterns and optimize team productivity",
|
||||
backstory="An AI assistant that analyzes task data to improve team efficiency.",
|
||||
apps=['clickup']
|
||||
)
|
||||
|
||||
# Task to analyze and optimize task distribution
|
||||
task_analysis = Task(
|
||||
description="""
|
||||
Search for all tasks assigned to team members in the last 30 days,
|
||||
analyze completion patterns, and create optimization recommendations
|
||||
""",
|
||||
agent=task_analyst,
|
||||
expected_output="Task analysis report with optimization recommendations"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[task_analyst],
|
||||
tasks=[task_analysis]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل ClickUp أو
|
||||
استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
330
docs/ar/enterprise/integrations/github.mdx
Normal file
330
docs/ar/enterprise/integrations/github.mdx
Normal file
@@ -0,0 +1,330 @@
|
||||
---
|
||||
title: تكامل GitHub
|
||||
description: "إدارة المستودعات والمشكلات مع تكامل GitHub لـ CrewAI."
|
||||
icon: "github"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة المستودعات والمشكلات والإصدارات عبر GitHub. أنشئ المشكلات وحدّثها، وأدر الإصدارات، وتتبع تطور المشاريع، وبسّط سير عمل تطوير البرمجيات باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل GitHub، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب GitHub بصلاحيات المستودع المناسبة
|
||||
- ربط حساب GitHub الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل GitHub
|
||||
|
||||
### 1. ربط حساب GitHub الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **GitHub** في قسم تكاملات المصادقة
|
||||
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="github/create_issue">
|
||||
**الوصف:** إنشاء مشكلة في GitHub.
|
||||
|
||||
**المعاملات:**
|
||||
- `owner` (string, مطلوب): المالك - حدد اسم مالك الحساب للمستودع المرتبط بهذه المشكلة. (مثال: "abc").
|
||||
- `repo` (string, مطلوب): المستودع - حدد اسم المستودع المرتبط بهذه المشكلة.
|
||||
- `title` (string, مطلوب): عنوان المشكلة - حدد عنوان المشكلة المراد إنشاؤها.
|
||||
- `body` (string, اختياري): محتوى المشكلة - حدد محتوى نص المشكلة المراد إنشاؤها.
|
||||
- `assignees` (string, اختياري): المكلّفون - حدد اسم (أسماء) تسجيل الدخول في GitHub للمكلّفين كمصفوفة من السلاسل النصية لهذه المشكلة. (مثال: `["octocat"]`).
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="github/update_issue">
|
||||
**الوصف:** تحديث مشكلة في GitHub.
|
||||
|
||||
**المعاملات:**
|
||||
- `owner` (string, مطلوب): المالك - حدد اسم مالك الحساب للمستودع المرتبط بهذه المشكلة. (مثال: "abc").
|
||||
- `repo` (string, مطلوب): المستودع - حدد اسم المستودع المرتبط بهذه المشكلة.
|
||||
- `issue_number` (string, مطلوب): رقم المشكلة - حدد رقم المشكلة المراد تحديثها.
|
||||
- `title` (string, مطلوب): عنوان المشكلة - حدد عنوان المشكلة المراد تحديثها.
|
||||
- `body` (string, اختياري): محتوى المشكلة - حدد محتوى نص المشكلة المراد تحديثها.
|
||||
- `assignees` (string, اختياري): المكلّفون - حدد اسم (أسماء) تسجيل الدخول في GitHub للمكلّفين كمصفوفة من السلاسل النصية لهذه المشكلة. (مثال: `["octocat"]`).
|
||||
- `state` (string, اختياري): الحالة - حدد الحالة المحدّثة للمشكلة.
|
||||
- الخيارات: `open`, `closed`
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="github/get_issue_by_number">
|
||||
**الوصف:** الحصول على مشكلة بواسطة الرقم في GitHub.
|
||||
|
||||
**المعاملات:**
|
||||
- `owner` (string, مطلوب): المالك - حدد اسم مالك الحساب للمستودع المرتبط بهذه المشكلة. (مثال: "abc").
|
||||
- `repo` (string, مطلوب): المستودع - حدد اسم المستودع المرتبط بهذه المشكلة.
|
||||
- `issue_number` (string, مطلوب): رقم المشكلة - حدد رقم المشكلة المراد جلبها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="github/lock_issue">
|
||||
**الوصف:** قفل مشكلة في GitHub.
|
||||
|
||||
**المعاملات:**
|
||||
- `owner` (string, مطلوب): المالك - حدد اسم مالك الحساب للمستودع المرتبط بهذه المشكلة. (مثال: "abc").
|
||||
- `repo` (string, مطلوب): المستودع - حدد اسم المستودع المرتبط بهذه المشكلة.
|
||||
- `issue_number` (string, مطلوب): رقم المشكلة - حدد رقم المشكلة المراد قفلها.
|
||||
- `lock_reason` (string, مطلوب): سبب القفل - حدد سبب قفل محادثة المشكلة أو طلب السحب.
|
||||
- الخيارات: `off-topic`, `too heated`, `resolved`, `spam`
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="github/search_issue">
|
||||
**الوصف:** البحث عن المشكلات في GitHub.
|
||||
|
||||
**المعاملات:**
|
||||
- `owner` (string, مطلوب): المالك - حدد اسم مالك الحساب للمستودع المرتبط بهذه المشكلة. (مثال: "abc").
|
||||
- `repo` (string, مطلوب): المستودع - حدد اسم المستودع المرتبط بهذه المشكلة.
|
||||
- `filter` (object, مطلوب): فلتر بصيغة التعبير العادي المنفصل - OR لمجموعات AND من شروط فردية.
|
||||
```json
|
||||
{
|
||||
"operator": "OR",
|
||||
"conditions": [
|
||||
{
|
||||
"operator": "AND",
|
||||
"conditions": [
|
||||
{
|
||||
"field": "assignee",
|
||||
"operator": "$stringExactlyMatches",
|
||||
"value": "octocat"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
الحقول المتاحة: `assignee`, `creator`, `mentioned`, `labels`
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="github/create_release">
|
||||
**الوصف:** إنشاء إصدار في GitHub.
|
||||
|
||||
**المعاملات:**
|
||||
- `owner` (string, مطلوب): المالك - حدد اسم مالك الحساب للمستودع المرتبط بهذا الإصدار. (مثال: "abc").
|
||||
- `repo` (string, مطلوب): المستودع - حدد اسم المستودع المرتبط بهذا الإصدار.
|
||||
- `tag_name` (string, مطلوب): الاسم - حدد اسم وسم الإصدار المراد إنشاؤه. (مثال: "v1.0.0").
|
||||
- `target_commitish` (string, اختياري): الهدف - حدد هدف الإصدار. يمكن أن يكون اسم فرع أو SHA لعملية إيداع. الافتراضي هو الفرع الرئيسي. (مثال: "master").
|
||||
- `body` (string, اختياري): المحتوى - حدد وصفاً لهذا الإصدار.
|
||||
- `draft` (string, اختياري): مسودة - حدد ما إذا كان الإصدار المُنشأ يجب أن يكون مسودة (غير منشور).
|
||||
- الخيارات: `true`, `false`
|
||||
- `prerelease` (string, اختياري): إصدار تجريبي - حدد ما إذا كان الإصدار المُنشأ يجب أن يكون إصداراً تجريبياً.
|
||||
- الخيارات: `true`, `false`
|
||||
- `discussion_category_name` (string, اختياري): اسم فئة المناقشة - إذا حُدد، يتم إنشاء مناقشة من الفئة المحددة وربطها بالإصدار.
|
||||
- `generate_release_notes` (string, اختياري): ملاحظات الإصدار - حدد ما إذا كان يجب إنشاء ملاحظات الإصدار تلقائياً.
|
||||
- الخيارات: `true`, `false`
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="github/update_release">
|
||||
**الوصف:** تحديث إصدار في GitHub.
|
||||
|
||||
**المعاملات:**
|
||||
- `owner` (string, مطلوب): المالك - حدد اسم مالك الحساب للمستودع المرتبط بهذا الإصدار. (مثال: "abc").
|
||||
- `repo` (string, مطلوب): المستودع - حدد اسم المستودع المرتبط بهذا الإصدار.
|
||||
- `id` (string, مطلوب): معرّف الإصدار - حدد معرّف الإصدار المراد تحديثه.
|
||||
- `tag_name` (string, اختياري): الاسم - حدد اسم وسم الإصدار المراد تحديثه. (مثال: "v1.0.0").
|
||||
- `target_commitish` (string, اختياري): الهدف - حدد هدف الإصدار. يمكن أن يكون اسم فرع أو SHA لعملية إيداع. الافتراضي هو الفرع الرئيسي. (مثال: "master").
|
||||
- `body` (string, اختياري): المحتوى - حدد وصفاً لهذا الإصدار.
|
||||
- `draft` (string, اختياري): مسودة - حدد ما إذا كان الإصدار يجب أن يكون مسودة (غير منشور).
|
||||
- الخيارات: `true`, `false`
|
||||
- `prerelease` (string, اختياري): إصدار تجريبي - حدد ما إذا كان الإصدار يجب أن يكون إصداراً تجريبياً.
|
||||
- الخيارات: `true`, `false`
|
||||
- `discussion_category_name` (string, اختياري): اسم فئة المناقشة - إذا حُدد، يتم إنشاء مناقشة من الفئة المحددة وربطها بالإصدار.
|
||||
- `generate_release_notes` (string, اختياري): ملاحظات الإصدار - حدد ما إذا كان يجب إنشاء ملاحظات الإصدار تلقائياً.
|
||||
- الخيارات: `true`, `false`
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="github/get_release_by_id">
|
||||
**الوصف:** الحصول على إصدار بواسطة المعرّف في GitHub.
|
||||
|
||||
**المعاملات:**
|
||||
- `owner` (string, مطلوب): المالك - حدد اسم مالك الحساب للمستودع المرتبط بهذا الإصدار. (مثال: "abc").
|
||||
- `repo` (string, مطلوب): المستودع - حدد اسم المستودع المرتبط بهذا الإصدار.
|
||||
- `id` (string, مطلوب): معرّف الإصدار - حدد معرّف الإصدار المراد جلبه.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="github/get_release_by_tag_name">
|
||||
**الوصف:** الحصول على إصدار بواسطة اسم الوسم في GitHub.
|
||||
|
||||
**المعاملات:**
|
||||
- `owner` (string, مطلوب): المالك - حدد اسم مالك الحساب للمستودع المرتبط بهذا الإصدار. (مثال: "abc").
|
||||
- `repo` (string, مطلوب): المستودع - حدد اسم المستودع المرتبط بهذا الإصدار.
|
||||
- `tag_name` (string, مطلوب): الاسم - حدد وسم الإصدار المراد جلبه. (مثال: "v1.0.0").
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="github/delete_release">
|
||||
**الوصف:** حذف إصدار في GitHub.
|
||||
|
||||
**المعاملات:**
|
||||
- `owner` (string, مطلوب): المالك - حدد اسم مالك الحساب للمستودع المرتبط بهذا الإصدار. (مثال: "abc").
|
||||
- `repo` (string, مطلوب): المستودع - حدد اسم المستودع المرتبط بهذا الإصدار.
|
||||
- `id` (string, مطلوب): معرّف الإصدار - حدد معرّف الإصدار المراد حذفه.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ GitHub
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Github capabilities
|
||||
github_agent = Agent(
|
||||
role="Repository Manager",
|
||||
goal="Manage GitHub repositories, issues, and releases efficiently",
|
||||
backstory="An AI assistant specialized in repository management and issue tracking.",
|
||||
apps=['github'] # All Github actions will be available
|
||||
)
|
||||
|
||||
# Task to create a new issue
|
||||
create_issue_task = Task(
|
||||
description="Create a bug report issue for the login functionality in the main repository",
|
||||
agent=github_agent,
|
||||
expected_output="Issue created successfully with issue number"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[github_agent],
|
||||
tasks=[create_issue_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### تصفية أدوات GitHub محددة
|
||||
|
||||
```python
|
||||
|
||||
issue_manager = Agent(
|
||||
role="Issue Manager",
|
||||
goal="Create and manage GitHub issues efficiently",
|
||||
backstory="An AI assistant that focuses on issue tracking and management.",
|
||||
apps=['github/create_issue']
|
||||
)
|
||||
|
||||
# Task to manage issue workflow
|
||||
issue_workflow = Task(
|
||||
description="Create a feature request issue and assign it to the development team",
|
||||
agent=issue_manager,
|
||||
expected_output="Feature request issue created and assigned successfully"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[issue_manager],
|
||||
tasks=[issue_workflow]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### إدارة الإصدارات
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
release_manager = Agent(
|
||||
role="Release Manager",
|
||||
goal="Manage software releases and versioning",
|
||||
backstory="An experienced release manager who handles version control and release processes.",
|
||||
apps=['github']
|
||||
)
|
||||
|
||||
# Task to create a new release
|
||||
release_task = Task(
|
||||
description="""
|
||||
Create a new release v2.1.0 for the project with:
|
||||
- Auto-generated release notes
|
||||
- Target the main branch
|
||||
- Include a description of new features and bug fixes
|
||||
""",
|
||||
agent=release_manager,
|
||||
expected_output="Release v2.1.0 created successfully with release notes"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[release_manager],
|
||||
tasks=[release_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### تتبع المشكلات وإدارتها
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
project_coordinator = Agent(
|
||||
role="Project Coordinator",
|
||||
goal="Track and coordinate project issues and development progress",
|
||||
backstory="An AI assistant that helps coordinate development work and track project progress.",
|
||||
apps=['github']
|
||||
)
|
||||
|
||||
# Complex task involving multiple GitHub operations
|
||||
coordination_task = Task(
|
||||
description="""
|
||||
1. Search for all open issues assigned to the current milestone
|
||||
2. Identify overdue issues and update their priority labels
|
||||
3. Create a weekly progress report issue
|
||||
4. Lock resolved issues that have been inactive for 30 days
|
||||
""",
|
||||
agent=project_coordinator,
|
||||
expected_output="Project coordination completed with progress report and issue management"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[project_coordinator],
|
||||
tasks=[coordination_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل GitHub أو
|
||||
استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
302
docs/ar/enterprise/integrations/gmail.mdx
Normal file
302
docs/ar/enterprise/integrations/gmail.mdx
Normal file
@@ -0,0 +1,302 @@
|
||||
---
|
||||
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>
|
||||
366
docs/ar/enterprise/integrations/google_calendar.mdx
Normal file
366
docs/ar/enterprise/integrations/google_calendar.mdx
Normal file
@@ -0,0 +1,366 @@
|
||||
---
|
||||
title: تكامل Google Calendar
|
||||
description: "إدارة الأحداث والجداول الزمنية مع تكامل Google Calendar لـ CrewAI."
|
||||
icon: "calendar"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة أحداث التقويم والجداول الزمنية والتوفر عبر Google Calendar. أنشئ الأحداث وحدّثها، وأدر الحضور، وتحقق من التوفر، وبسّط سير عمل الجدولة باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Google Calendar، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Google مع إمكانية الوصول إلى Google Calendar
|
||||
- ربط حساب Google الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Google Calendar
|
||||
|
||||
### 1. ربط حساب Google الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Google Calendar** في قسم تكاملات المصادقة
|
||||
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="google_calendar/get_availability">
|
||||
**الوصف:** الحصول على توفر التقويم (معلومات مشغول/متاح).
|
||||
|
||||
**المعاملات:**
|
||||
- `timeMin` (string, مطلوب): وقت البداية (بصيغة RFC3339)
|
||||
- `timeMax` (string, مطلوب): وقت النهاية (بصيغة RFC3339)
|
||||
- `items` (array, مطلوب): معرّفات التقاويم المراد التحقق منها
|
||||
```json
|
||||
[
|
||||
{
|
||||
"id": "calendar_id"
|
||||
}
|
||||
]
|
||||
```
|
||||
- `timeZone` (string, اختياري): المنطقة الزمنية المستخدمة في الاستجابة. الافتراضي هو UTC.
|
||||
- `groupExpansionMax` (integer, اختياري): الحد الأقصى لعدد معرّفات التقاويم لمجموعة واحدة. الحد الأقصى: 100
|
||||
- `calendarExpansionMax` (integer, اختياري): الحد الأقصى لعدد التقاويم لتقديم معلومات التوفر. الحد الأقصى: 50
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_calendar/create_event">
|
||||
**الوصف:** إنشاء حدث جديد في التقويم المحدد.
|
||||
|
||||
**المعاملات:**
|
||||
- `calendarId` (string, مطلوب): معرّف التقويم (استخدم 'primary' للتقويم الرئيسي)
|
||||
- `summary` (string, مطلوب): عنوان/ملخص الحدث
|
||||
- `start_dateTime` (string, مطلوب): وقت البداية بصيغة RFC3339 (مثال: 2024-01-20T10:00:00-07:00)
|
||||
- `end_dateTime` (string, مطلوب): وقت النهاية بصيغة RFC3339
|
||||
- `description` (string, اختياري): وصف الحدث
|
||||
- `timeZone` (string, اختياري): المنطقة الزمنية (مثال: America/Los_Angeles)
|
||||
- `location` (string, اختياري): الموقع الجغرافي للحدث كنص حر.
|
||||
- `attendees` (array, اختياري): قائمة الحضور للحدث.
|
||||
```json
|
||||
[
|
||||
{
|
||||
"email": "attendee@example.com",
|
||||
"displayName": "Attendee Name",
|
||||
"optional": false
|
||||
}
|
||||
]
|
||||
```
|
||||
- `reminders` (object, اختياري): معلومات حول تذكيرات الحدث.
|
||||
```json
|
||||
{
|
||||
"useDefault": true,
|
||||
"overrides": [
|
||||
{
|
||||
"method": "email",
|
||||
"minutes": 15
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
- `conferenceData` (object, اختياري): المعلومات المتعلقة بالمؤتمر، مثل تفاصيل مؤتمر Google Meet.
|
||||
```json
|
||||
{
|
||||
"createRequest": {
|
||||
"requestId": "unique-request-id",
|
||||
"conferenceSolutionKey": {
|
||||
"type": "hangoutsMeet"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
- `visibility` (string, اختياري): ظهور الحدث. الخيارات: default, public, private, confidential. الافتراضي: default
|
||||
- `transparency` (string, اختياري): ما إذا كان الحدث يحجب الوقت في التقويم. الخيارات: opaque, transparent. الافتراضي: opaque
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_calendar/view_events">
|
||||
**الوصف:** استرجاع الأحداث للتقويم المحدد.
|
||||
|
||||
**المعاملات:**
|
||||
- `calendarId` (string, مطلوب): معرّف التقويم (استخدم 'primary' للتقويم الرئيسي)
|
||||
- `timeMin` (string, اختياري): الحد الأدنى للأحداث (بصيغة RFC3339)
|
||||
- `timeMax` (string, اختياري): الحد الأعلى للأحداث (بصيغة RFC3339)
|
||||
- `maxResults` (integer, اختياري): الحد الأقصى لعدد الأحداث (الافتراضي 10). الحد الأدنى: 1، الحد الأقصى: 2500
|
||||
- `orderBy` (string, اختياري): ترتيب الأحداث في النتيجة. الخيارات: startTime, updated. الافتراضي: startTime
|
||||
- `singleEvents` (boolean, اختياري): ما إذا كان يجب توسيع الأحداث المتكررة إلى نُسخ فردية. الافتراضي: true
|
||||
- `showDeleted` (boolean, اختياري): ما إذا كان يجب تضمين الأحداث المحذوفة. الافتراضي: false
|
||||
- `showHiddenInvitations` (boolean, اختياري): ما إذا كان يجب تضمين الدعوات المخفية. الافتراضي: false
|
||||
- `q` (string, اختياري): مصطلحات بحث نصية حرة للعثور على الأحداث المطابقة في أي حقل.
|
||||
- `pageToken` (string, اختياري): رمز يحدد صفحة النتائج المراد إرجاعها.
|
||||
- `timeZone` (string, اختياري): المنطقة الزمنية المستخدمة في الاستجابة.
|
||||
- `updatedMin` (string, اختياري): الحد الأدنى لوقت آخر تعديل للحدث (بصيغة RFC3339) للتصفية.
|
||||
- `iCalUID` (string, اختياري): يحدد معرّف حدث بصيغة iCalendar ليتم تقديمه في الاستجابة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_calendar/update_event">
|
||||
**الوصف:** تحديث حدث موجود.
|
||||
|
||||
**المعاملات:**
|
||||
- `calendarId` (string, مطلوب): معرّف التقويم
|
||||
- `eventId` (string, مطلوب): معرّف الحدث المراد تحديثه
|
||||
- `summary` (string, اختياري): عنوان الحدث المحدّث
|
||||
- `description` (string, اختياري): وصف الحدث المحدّث
|
||||
- `start_dateTime` (string, اختياري): وقت البداية المحدّث
|
||||
- `end_dateTime` (string, اختياري): وقت النهاية المحدّث
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_calendar/delete_event">
|
||||
**الوصف:** حذف حدث محدد.
|
||||
|
||||
**المعاملات:**
|
||||
- `calendarId` (string, مطلوب): معرّف التقويم
|
||||
- `eventId` (string, مطلوب): معرّف الحدث المراد حذفه
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_calendar/view_calendar_list">
|
||||
**الوصف:** استرجاع قائمة تقاويم المستخدم.
|
||||
|
||||
**المعاملات:**
|
||||
- `maxResults` (integer, اختياري): الحد الأقصى لعدد الإدخالات في صفحة نتائج واحدة. الحد الأدنى: 1
|
||||
- `pageToken` (string, اختياري): رمز يحدد صفحة النتائج المراد إرجاعها.
|
||||
- `showDeleted` (boolean, اختياري): ما إذا كان يجب تضمين إدخالات قائمة التقويم المحذوفة. الافتراضي: false
|
||||
- `showHidden` (boolean, اختياري): ما إذا كان يجب عرض الإدخالات المخفية. الافتراضي: false
|
||||
- `minAccessRole` (string, اختياري): الحد الأدنى لدور الوصول للمستخدم. الخيارات: freeBusyReader, owner, reader, writer
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي للتقويم
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Google Calendar capabilities
|
||||
calendar_agent = Agent(
|
||||
role="Schedule Manager",
|
||||
goal="Manage calendar events and scheduling efficiently",
|
||||
backstory="An AI assistant specialized in calendar management and scheduling coordination.",
|
||||
apps=['google_calendar'] # All Google Calendar actions will be available
|
||||
)
|
||||
|
||||
# Task to create a meeting
|
||||
create_meeting_task = Task(
|
||||
description="Create a team standup meeting for tomorrow at 9 AM with the development team",
|
||||
agent=calendar_agent,
|
||||
expected_output="Meeting created successfully with Google Meet link"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[calendar_agent],
|
||||
tasks=[create_meeting_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### تصفية أدوات التقويم المحددة
|
||||
|
||||
```python
|
||||
meeting_coordinator = Agent(
|
||||
role="Meeting Coordinator",
|
||||
goal="Coordinate meetings and check availability",
|
||||
backstory="An AI assistant that focuses on meeting scheduling and availability management.",
|
||||
apps=['google_calendar/create_event', 'google_calendar/get_availability']
|
||||
)
|
||||
|
||||
# Task to schedule a meeting with availability check
|
||||
schedule_meeting = Task(
|
||||
description="Check availability for next week and schedule a project review meeting with stakeholders",
|
||||
agent=meeting_coordinator,
|
||||
expected_output="Meeting scheduled after checking availability of all participants"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[meeting_coordinator],
|
||||
tasks=[schedule_meeting]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### إدارة الأحداث وتحديثاتها
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
event_manager = Agent(
|
||||
role="Event Manager",
|
||||
goal="Manage and update calendar events efficiently",
|
||||
backstory="An experienced event manager who handles event logistics and updates.",
|
||||
apps=['google_calendar']
|
||||
)
|
||||
|
||||
# Task to manage event updates
|
||||
event_management = Task(
|
||||
description="""
|
||||
1. List all events for this week
|
||||
2. Update any events that need location changes to include video conference links
|
||||
3. Check availability for upcoming meetings
|
||||
""",
|
||||
agent=event_manager,
|
||||
expected_output="Weekly events updated with proper locations and availability checked"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[event_manager],
|
||||
tasks=[event_management]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### التوفر وإدارة التقويم
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
availability_coordinator = Agent(
|
||||
role="Availability Coordinator",
|
||||
goal="Coordinate availability and manage calendars for scheduling",
|
||||
backstory="An AI assistant that specializes in availability management and calendar coordination.",
|
||||
apps=['google_calendar']
|
||||
)
|
||||
|
||||
# Task to coordinate availability
|
||||
availability_task = Task(
|
||||
description="""
|
||||
1. Get the list of available calendars
|
||||
2. Check availability for all calendars next Friday afternoon
|
||||
3. Create a team meeting for the first available 2-hour slot
|
||||
4. Include Google Meet link and send invitations
|
||||
""",
|
||||
agent=availability_coordinator,
|
||||
expected_output="Team meeting scheduled based on availability with all team members invited"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[availability_coordinator],
|
||||
tasks=[availability_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### سير عمل الجدولة الآلية
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
scheduling_automator = Agent(
|
||||
role="Scheduling Automator",
|
||||
goal="Automate scheduling workflows and calendar management",
|
||||
backstory="An AI assistant that automates complex scheduling scenarios and calendar workflows.",
|
||||
apps=['google_calendar']
|
||||
)
|
||||
|
||||
# Complex scheduling automation task
|
||||
automation_task = Task(
|
||||
description="""
|
||||
1. List all upcoming events for the next two weeks
|
||||
2. Identify any scheduling conflicts or back-to-back meetings
|
||||
3. Suggest optimal meeting times by checking availability
|
||||
4. Create buffer time between meetings where needed
|
||||
5. Update event descriptions with agenda items and meeting links
|
||||
""",
|
||||
agent=scheduling_automator,
|
||||
expected_output="Calendar optimized with resolved conflicts, buffer times, and updated meeting details"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[scheduling_automator],
|
||||
tasks=[automation_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## استكشاف الأخطاء وإصلاحها
|
||||
|
||||
### المشاكل الشائعة
|
||||
|
||||
**أخطاء المصادقة**
|
||||
|
||||
- تأكد من أن حساب Google الخاص بك لديه الصلاحيات اللازمة للوصول إلى التقويم
|
||||
- تحقق من أن اتصال OAuth يتضمن جميع النطاقات المطلوبة لـ Google Calendar API
|
||||
- تحقق مما إذا كانت إعدادات مشاركة التقويم تسمح بمستوى الوصول المطلوب
|
||||
|
||||
**مشاكل إنشاء الأحداث**
|
||||
|
||||
- تحقق من صحة صيغ الوقت (صيغة RFC3339)
|
||||
- تأكد من صحة صيغة عناوين البريد الإلكتروني للحضور
|
||||
- تحقق من وجود التقويم المستهدف وإمكانية الوصول إليه
|
||||
- تحقق من صحة تحديد المناطق الزمنية
|
||||
|
||||
**التوفر وتعارضات الوقت**
|
||||
|
||||
- استخدم صيغة RFC3339 المناسبة لنطاقات الوقت عند التحقق من التوفر
|
||||
- تأكد من اتساق المناطق الزمنية عبر جميع العمليات
|
||||
- تحقق من صحة معرّفات التقاويم عند التحقق من تقاويم متعددة
|
||||
|
||||
**تحديث الأحداث وحذفها**
|
||||
|
||||
- تحقق من صحة معرّفات الأحداث ووجودها
|
||||
- تأكد من أن لديك صلاحيات التحرير للأحداث
|
||||
- تحقق من أن ملكية التقويم تسمح بالتعديلات
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Google Calendar
|
||||
أو استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
493
docs/ar/enterprise/integrations/google_contacts.mdx
Normal file
493
docs/ar/enterprise/integrations/google_contacts.mdx
Normal file
@@ -0,0 +1,493 @@
|
||||
---
|
||||
title: تكامل Google Contacts
|
||||
description: "إدارة جهات الاتصال والدليل مع تكامل Google Contacts لـ CrewAI."
|
||||
icon: "address-book"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة جهات الاتصال ومعلومات الدليل عبر Google Contacts. يمكنك الوصول إلى جهات الاتصال الشخصية، والبحث في أشخاص الدليل، وإنشاء معلومات الاتصال وتحديثها، وإدارة مجموعات جهات الاتصال باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Google Contacts، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Google مع إمكانية الوصول إلى Google Contacts
|
||||
- ربط حساب Google الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Google Contacts
|
||||
|
||||
### 1. ربط حساب Google الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Google Contacts** في قسم تكاملات المصادقة
|
||||
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="google_contacts/get_contacts">
|
||||
**الوصف:** استرجاع جهات اتصال المستخدم من Google Contacts.
|
||||
|
||||
**المعاملات:**
|
||||
- `pageSize` (integer, اختياري): عدد جهات الاتصال المراد إرجاعها (الحد الأقصى 1000). الحد الأدنى: 1، الحد الأقصى: 1000
|
||||
- `pageToken` (string, اختياري): رمز الصفحة المراد استرجاعها.
|
||||
- `personFields` (string, اختياري): الحقول المراد تضمينها (مثال: 'names,emailAddresses,phoneNumbers'). الافتراضي: names,emailAddresses,phoneNumbers
|
||||
- `requestSyncToken` (boolean, اختياري): ما إذا كان يجب أن تتضمن الاستجابة رمز مزامنة. الافتراضي: false
|
||||
- `sortOrder` (string, اختياري): ترتيب الفرز للاتصالات. الخيارات: LAST_MODIFIED_ASCENDING, LAST_MODIFIED_DESCENDING, FIRST_NAME_ASCENDING, LAST_NAME_ASCENDING
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/search_contacts">
|
||||
**الوصف:** البحث عن جهات اتصال باستخدام سلسلة استعلام.
|
||||
|
||||
**المعاملات:**
|
||||
- `query` (string, مطلوب): سلسلة استعلام البحث
|
||||
- `readMask` (string, مطلوب): الحقول المراد قراءتها (مثال: 'names,emailAddresses,phoneNumbers')
|
||||
- `pageSize` (integer, اختياري): عدد النتائج المراد إرجاعها. الحد الأدنى: 1، الحد الأقصى: 30
|
||||
- `pageToken` (string, اختياري): رمز يحدد صفحة النتائج المراد إرجاعها.
|
||||
- `sources` (array, اختياري): المصادر المراد البحث فيها. الخيارات: READ_SOURCE_TYPE_CONTACT, READ_SOURCE_TYPE_PROFILE. الافتراضي: READ_SOURCE_TYPE_CONTACT
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/list_directory_people">
|
||||
**الوصف:** عرض قائمة الأشخاص في دليل المستخدم المصادق عليه.
|
||||
|
||||
**المعاملات:**
|
||||
- `sources` (array, مطلوب): مصادر الدليل المراد البحث فيها. الخيارات: DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE, DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT. الافتراضي: DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE
|
||||
- `pageSize` (integer, اختياري): عدد الأشخاص المراد إرجاعهم. الحد الأدنى: 1، الحد الأقصى: 1000
|
||||
- `pageToken` (string, اختياري): رمز يحدد صفحة النتائج المراد إرجاعها.
|
||||
- `readMask` (string, اختياري): الحقول المراد قراءتها (مثال: 'names,emailAddresses')
|
||||
- `requestSyncToken` (boolean, اختياري): ما إذا كان يجب أن تتضمن الاستجابة رمز مزامنة. الافتراضي: false
|
||||
- `mergeSources` (array, اختياري): بيانات إضافية لدمجها في استجابات أشخاص الدليل. الخيارات: CONTACT
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/search_directory_people">
|
||||
**الوصف:** البحث عن أشخاص في الدليل.
|
||||
|
||||
**المعاملات:**
|
||||
- `query` (string, مطلوب): استعلام البحث
|
||||
- `sources` (string, مطلوب): مصادر الدليل (استخدم 'DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE')
|
||||
- `pageSize` (integer, اختياري): عدد النتائج المراد إرجاعها
|
||||
- `readMask` (string, اختياري): الحقول المراد قراءتها
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/list_other_contacts">
|
||||
**الوصف:** عرض جهات الاتصال الأخرى (غير الموجودة في جهات الاتصال الشخصية).
|
||||
|
||||
**المعاملات:**
|
||||
- `pageSize` (integer, اختياري): عدد جهات الاتصال المراد إرجاعها. الحد الأدنى: 1، الحد الأقصى: 1000
|
||||
- `pageToken` (string, اختياري): رمز يحدد صفحة النتائج المراد إرجاعها.
|
||||
- `readMask` (string, اختياري): الحقول المراد قراءتها
|
||||
- `requestSyncToken` (boolean, اختياري): ما إذا كان يجب أن تتضمن الاستجابة رمز مزامنة. الافتراضي: false
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/search_other_contacts">
|
||||
**الوصف:** البحث في جهات الاتصال الأخرى.
|
||||
|
||||
**المعاملات:**
|
||||
- `query` (string, مطلوب): استعلام البحث
|
||||
- `readMask` (string, مطلوب): الحقول المراد قراءتها (مثال: 'names,emailAddresses')
|
||||
- `pageSize` (integer, اختياري): عدد النتائج
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/get_person">
|
||||
**الوصف:** الحصول على معلومات الاتصال لشخص واحد بواسطة اسم المورد.
|
||||
|
||||
**المعاملات:**
|
||||
- `resourceName` (string, مطلوب): اسم المورد للشخص المراد الحصول عليه (مثال: 'people/c123456789')
|
||||
- `personFields` (string, اختياري): الحقول المراد تضمينها (مثال: 'names,emailAddresses,phoneNumbers'). الافتراضي: names,emailAddresses,phoneNumbers
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/create_contact">
|
||||
**الوصف:** إنشاء جهة اتصال جديدة في دفتر عناوين المستخدم.
|
||||
|
||||
**المعاملات:**
|
||||
- `names` (array, اختياري): أسماء الشخص
|
||||
```json
|
||||
[
|
||||
{
|
||||
"givenName": "John",
|
||||
"familyName": "Doe",
|
||||
"displayName": "John Doe"
|
||||
}
|
||||
]
|
||||
```
|
||||
- `emailAddresses` (array, اختياري): عناوين البريد الإلكتروني
|
||||
```json
|
||||
[
|
||||
{
|
||||
"value": "john.doe@example.com",
|
||||
"type": "work"
|
||||
}
|
||||
]
|
||||
```
|
||||
- `phoneNumbers` (array, اختياري): أرقام الهاتف
|
||||
```json
|
||||
[
|
||||
{
|
||||
"value": "+1234567890",
|
||||
"type": "mobile"
|
||||
}
|
||||
]
|
||||
```
|
||||
- `addresses` (array, اختياري): العناوين البريدية
|
||||
```json
|
||||
[
|
||||
{
|
||||
"formattedValue": "123 Main St, City, State 12345",
|
||||
"type": "home"
|
||||
}
|
||||
]
|
||||
```
|
||||
- `organizations` (array, اختياري): المؤسسات/الشركات
|
||||
```json
|
||||
[
|
||||
{
|
||||
"name": "Company Name",
|
||||
"title": "Job Title",
|
||||
"type": "work"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/update_contact">
|
||||
**الوصف:** تحديث معلومات جهة اتصال موجودة.
|
||||
|
||||
**المعاملات:**
|
||||
- `resourceName` (string, مطلوب): اسم المورد للشخص المراد تحديثه (مثال: 'people/c123456789')
|
||||
- `updatePersonFields` (string, مطلوب): الحقول المراد تحديثها (مثال: 'names,emailAddresses,phoneNumbers')
|
||||
- `names` (array, اختياري): أسماء الشخص
|
||||
- `emailAddresses` (array, اختياري): عناوين البريد الإلكتروني
|
||||
- `phoneNumbers` (array, اختياري): أرقام الهاتف
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/delete_contact">
|
||||
**الوصف:** حذف جهة اتصال من دفتر عناوين المستخدم.
|
||||
|
||||
**المعاملات:**
|
||||
- `resourceName` (string, مطلوب): اسم المورد للشخص المراد حذفه (مثال: 'people/c123456789')
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/batch_get_people">
|
||||
**الوصف:** الحصول على معلومات عن عدة أشخاص في طلب واحد.
|
||||
|
||||
**المعاملات:**
|
||||
- `resourceNames` (array, مطلوب): أسماء موارد الأشخاص المراد الحصول عليهم. الحد الأقصى: 200 عنصر
|
||||
- `personFields` (string, اختياري): الحقول المراد تضمينها (مثال: 'names,emailAddresses,phoneNumbers'). الافتراضي: names,emailAddresses,phoneNumbers
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/list_contact_groups">
|
||||
**الوصف:** عرض مجموعات جهات اتصال المستخدم (التصنيفات).
|
||||
|
||||
**المعاملات:**
|
||||
- `pageSize` (integer, اختياري): عدد مجموعات جهات الاتصال المراد إرجاعها. الحد الأدنى: 1، الحد الأقصى: 1000
|
||||
- `pageToken` (string, اختياري): رمز يحدد صفحة النتائج المراد إرجاعها.
|
||||
- `groupFields` (string, اختياري): الحقول المراد تضمينها (مثال: 'name,memberCount,clientData'). الافتراضي: name,memberCount
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/get_contact_group">
|
||||
**الوصف:** الحصول على مجموعة جهات اتصال محددة بواسطة اسم المورد.
|
||||
|
||||
**المعاملات:**
|
||||
- `resourceName` (string, مطلوب): اسم المورد لمجموعة جهات الاتصال (مثال: 'contactGroups/myContactGroup')
|
||||
- `maxMembers` (integer, اختياري): الحد الأقصى لعدد الأعضاء المراد تضمينهم. الحد الأدنى: 0، الحد الأقصى: 20000
|
||||
- `groupFields` (string, اختياري): الحقول المراد تضمينها (مثال: 'name,memberCount,clientData'). الافتراضي: name,memberCount
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/create_contact_group">
|
||||
**الوصف:** إنشاء مجموعة جهات اتصال جديدة (تصنيف).
|
||||
|
||||
**المعاملات:**
|
||||
- `name` (string, مطلوب): اسم مجموعة جهات الاتصال
|
||||
- `clientData` (array, اختياري): بيانات خاصة بالعميل
|
||||
```json
|
||||
[
|
||||
{
|
||||
"key": "data_key",
|
||||
"value": "data_value"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/update_contact_group">
|
||||
**الوصف:** تحديث معلومات مجموعة جهات اتصال.
|
||||
|
||||
**المعاملات:**
|
||||
- `resourceName` (string, مطلوب): اسم المورد لمجموعة جهات الاتصال (مثال: 'contactGroups/myContactGroup')
|
||||
- `name` (string, مطلوب): اسم مجموعة جهات الاتصال
|
||||
- `clientData` (array, اختياري): بيانات خاصة بالعميل
|
||||
```json
|
||||
[
|
||||
{
|
||||
"key": "data_key",
|
||||
"value": "data_value"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_contacts/delete_contact_group">
|
||||
**الوصف:** حذف مجموعة جهات اتصال.
|
||||
|
||||
**المعاملات:**
|
||||
- `resourceName` (string, مطلوب): اسم المورد لمجموعة جهات الاتصال المراد حذفها (مثال: 'contactGroups/myContactGroup')
|
||||
- `deleteContacts` (boolean, اختياري): ما إذا كان يجب حذف جهات الاتصال في المجموعة أيضاً. الافتراضي: false
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Google Contacts
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Google Contacts capabilities
|
||||
contacts_agent = Agent(
|
||||
role="Contact Manager",
|
||||
goal="Manage contacts and directory information efficiently",
|
||||
backstory="An AI assistant specialized in contact management and directory operations.",
|
||||
apps=['google_contacts'] # All Google Contacts actions will be available
|
||||
)
|
||||
|
||||
# Task to retrieve and organize contacts
|
||||
contact_management_task = Task(
|
||||
description="Retrieve all contacts and organize them by company affiliation",
|
||||
agent=contacts_agent,
|
||||
expected_output="Contacts retrieved and organized by company with summary report"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[contacts_agent],
|
||||
tasks=[contact_management_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### البحث في الدليل وإدارته
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
directory_manager = Agent(
|
||||
role="Directory Manager",
|
||||
goal="Search and manage directory people and contacts",
|
||||
backstory="An AI assistant that specializes in directory management and people search.",
|
||||
apps=[
|
||||
'google_contacts/search_directory_people',
|
||||
'google_contacts/list_directory_people',
|
||||
'google_contacts/search_contacts'
|
||||
]
|
||||
)
|
||||
|
||||
# Task to search and manage directory
|
||||
directory_task = Task(
|
||||
description="Search for team members in the company directory and create a team contact list",
|
||||
agent=directory_manager,
|
||||
expected_output="Team directory compiled with contact information"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[directory_manager],
|
||||
tasks=[directory_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### إنشاء جهات الاتصال وتحديثاتها
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
contact_curator = Agent(
|
||||
role="Contact Curator",
|
||||
goal="Create and update contact information systematically",
|
||||
backstory="An AI assistant that maintains accurate and up-to-date contact information.",
|
||||
apps=['google_contacts']
|
||||
)
|
||||
|
||||
# Task to create and update contacts
|
||||
curation_task = Task(
|
||||
description="""
|
||||
1. Search for existing contacts related to new business partners
|
||||
2. Create new contacts for partners not in the system
|
||||
3. Update existing contact information with latest details
|
||||
4. Organize contacts into appropriate groups
|
||||
""",
|
||||
agent=contact_curator,
|
||||
expected_output="Contact database updated with new partners and organized groups"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[contact_curator],
|
||||
tasks=[curation_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### إدارة مجموعات جهات الاتصال
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
group_organizer = Agent(
|
||||
role="Contact Group Organizer",
|
||||
goal="Organize contacts into meaningful groups and categories",
|
||||
backstory="An AI assistant that specializes in contact organization and group management.",
|
||||
apps=['google_contacts']
|
||||
)
|
||||
|
||||
# Task to organize contact groups
|
||||
organization_task = Task(
|
||||
description="""
|
||||
1. List all existing contact groups
|
||||
2. Analyze contact distribution across groups
|
||||
3. Create new groups for better organization
|
||||
4. Move contacts to appropriate groups based on their information
|
||||
""",
|
||||
agent=group_organizer,
|
||||
expected_output="Contacts organized into logical groups with improved structure"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[group_organizer],
|
||||
tasks=[organization_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### إدارة جهات الاتصال الشاملة
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
contact_specialist = Agent(
|
||||
role="Contact Management Specialist",
|
||||
goal="Provide comprehensive contact management across all sources",
|
||||
backstory="An AI assistant that handles all aspects of contact management including personal, directory, and other contacts.",
|
||||
apps=['google_contacts']
|
||||
)
|
||||
|
||||
# Complex contact management task
|
||||
comprehensive_task = Task(
|
||||
description="""
|
||||
1. Retrieve contacts from all sources (personal, directory, other)
|
||||
2. Search for duplicate contacts and merge information
|
||||
3. Update outdated contact information
|
||||
4. Create missing contacts for important stakeholders
|
||||
5. Organize contacts into meaningful groups
|
||||
6. Generate a comprehensive contact report
|
||||
""",
|
||||
agent=contact_specialist,
|
||||
expected_output="Complete contact management performed with unified contact database and detailed report"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[contact_specialist],
|
||||
tasks=[comprehensive_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## استكشاف الأخطاء وإصلاحها
|
||||
|
||||
### المشاكل الشائعة
|
||||
|
||||
**أخطاء الصلاحيات**
|
||||
|
||||
- تأكد من أن حساب Google الخاص بك لديه الصلاحيات المناسبة للوصول إلى جهات الاتصال
|
||||
- تحقق من أن اتصال OAuth يتضمن النطاقات المطلوبة لـ Google Contacts API
|
||||
- تحقق من منح صلاحيات الوصول للدليل لجهات اتصال المؤسسة
|
||||
|
||||
**مشاكل صيغة اسم المورد**
|
||||
|
||||
- تأكد من أن أسماء الموارد تتبع الصيغة الصحيحة (مثال: 'people/c123456789' لجهات الاتصال)
|
||||
- تحقق من أن أسماء موارد مجموعات جهات الاتصال تستخدم الصيغة 'contactGroups/groupId'
|
||||
- تأكد من وجود أسماء الموارد وإمكانية الوصول إليها
|
||||
|
||||
**مشاكل البحث والاستعلام**
|
||||
|
||||
- تأكد من صحة صيغة استعلامات البحث وعدم كونها فارغة
|
||||
- استخدم حقول readMask المناسبة للبيانات التي تحتاجها
|
||||
- تحقق من صحة تحديد مصادر البحث (جهات اتصال مقابل ملفات تعريف)
|
||||
|
||||
**إنشاء جهات الاتصال وتحديثاتها**
|
||||
|
||||
- تأكد من توفير الحقول المطلوبة عند إنشاء جهات الاتصال
|
||||
- تحقق من صحة صيغة عناوين البريد الإلكتروني وأرقام الهاتف
|
||||
- تأكد من أن معامل updatePersonFields يتضمن جميع الحقول التي يتم تحديثها
|
||||
|
||||
**مشاكل الوصول إلى الدليل**
|
||||
|
||||
- تأكد من أن لديك الصلاحيات المناسبة للوصول إلى دليل المؤسسة
|
||||
- تحقق من صحة تحديد مصادر الدليل
|
||||
- تأكد من أن مؤسستك تسمح بالوصول عبر API إلى معلومات الدليل
|
||||
|
||||
**الترقيم والحدود**
|
||||
|
||||
- انتبه لحدود حجم الصفحة (تختلف حسب نقطة النهاية)
|
||||
- استخدم pageToken للترقيم عبر مجموعات النتائج الكبيرة
|
||||
- احترم حدود معدل API وطبّق تأخيرات مناسبة
|
||||
|
||||
**مجموعات جهات الاتصال والتنظيم**
|
||||
|
||||
- تأكد من أن أسماء مجموعات جهات الاتصال فريدة عند إنشاء مجموعات جديدة
|
||||
- تحقق من وجود جهات الاتصال قبل إضافتها إلى المجموعات
|
||||
- تأكد من أن لديك صلاحيات تعديل مجموعات جهات الاتصال
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Google Contacts
|
||||
أو استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
550
docs/ar/enterprise/integrations/google_docs.mdx
Normal file
550
docs/ar/enterprise/integrations/google_docs.mdx
Normal file
@@ -0,0 +1,550 @@
|
||||
---
|
||||
title: تكامل Google Docs
|
||||
description: "إنشاء المستندات وتحريرها مع تكامل Google Docs لـ CrewAI."
|
||||
icon: "file-lines"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إنشاء وتحرير وإدارة مستندات Google Docs مع معالجة النصوص والتنسيق. أتمت إنشاء المستندات، وأدرج النصوص واستبدلها، وأدر نطاقات المحتوى، وبسّط سير عمل المستندات باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Google Docs، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Google مع إمكانية الوصول إلى Google Docs
|
||||
- ربط حساب Google الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Google Docs
|
||||
|
||||
### 1. ربط حساب Google الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Google Docs** في قسم تكاملات المصادقة
|
||||
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="google_docs/create_document">
|
||||
**الوصف:** إنشاء مستند Google جديد.
|
||||
|
||||
**المعاملات:**
|
||||
- `title` (string, اختياري): عنوان المستند الجديد.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/get_document">
|
||||
**الوصف:** الحصول على محتويات وبيانات وصفية لمستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند المراد استرجاعه.
|
||||
- `includeTabsContent` (boolean, اختياري): ما إذا كان يجب تضمين محتوى علامات التبويب. الافتراضي هو `false`.
|
||||
- `suggestionsViewMode` (string, اختياري): وضع عرض الاقتراحات المراد تطبيقه. القيم: `DEFAULT_FOR_CURRENT_ACCESS`, `PREVIEW_SUGGESTIONS_ACCEPTED`, `PREVIEW_WITHOUT_SUGGESTIONS`. الافتراضي: `DEFAULT_FOR_CURRENT_ACCESS`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/batch_update">
|
||||
**الوصف:** تطبيق تحديث واحد أو أكثر على مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند المراد تحديثه.
|
||||
- `requests` (array, مطلوب): قائمة بالتحديثات المراد تطبيقها على المستند.
|
||||
- `writeControl` (object, اختياري): يوفر التحكم في كيفية تنفيذ طلبات الكتابة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/insert_text">
|
||||
**الوصف:** إدراج نص في مستند Google في موقع محدد.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند المراد تحديثه.
|
||||
- `text` (string, مطلوب): النص المراد إدراجه.
|
||||
- `index` (integer, اختياري): الفهرس القائم على الصفر حيث يتم إدراج النص. الافتراضي هو `1`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/replace_text">
|
||||
**الوصف:** استبدال جميع نُسخ النص في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند المراد تحديثه.
|
||||
- `containsText` (string, مطلوب): النص المراد البحث عنه واستبداله.
|
||||
- `replaceText` (string, مطلوب): النص البديل.
|
||||
- `matchCase` (boolean, اختياري): ما إذا كان البحث يجب أن يراعي حالة الأحرف. الافتراضي هو `false`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/delete_content_range">
|
||||
**الوصف:** حذف المحتوى من نطاق محدد في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند المراد تحديثه.
|
||||
- `startIndex` (integer, مطلوب): فهرس بداية النطاق المراد حذفه.
|
||||
- `endIndex` (integer, مطلوب): فهرس نهاية النطاق المراد حذفه.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/insert_page_break">
|
||||
**الوصف:** إدراج فاصل صفحة في موقع محدد في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند المراد تحديثه.
|
||||
- `index` (integer, اختياري): الفهرس القائم على الصفر حيث يتم إدراج فاصل الصفحة. الافتراضي هو `1`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/create_named_range">
|
||||
**الوصف:** إنشاء نطاق مسمّى في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند المراد تحديثه.
|
||||
- `name` (string, مطلوب): اسم النطاق المسمّى.
|
||||
- `startIndex` (integer, مطلوب): فهرس بداية النطاق.
|
||||
- `endIndex` (integer, مطلوب): فهرس نهاية النطاق.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/create_document_with_content">
|
||||
**الوصف:** إنشاء مستند Google جديد مع محتوى في إجراء واحد.
|
||||
|
||||
**المعاملات:**
|
||||
- `title` (string, مطلوب): عنوان المستند الجديد.
|
||||
- `content` (string, اختياري): المحتوى النصي المراد إدراجه في المستند. استخدم `\n` لفقرات جديدة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/append_text">
|
||||
**الوصف:** إلحاق نص بنهاية مستند Google. يُدرج تلقائياً في نهاية المستند دون الحاجة لتحديد فهرس.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `text` (string, مطلوب): النص المراد إلحاقه بنهاية المستند. استخدم `\n` لفقرات جديدة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/set_text_bold">
|
||||
**الوصف:** جعل النص غامقاً أو إزالة التنسيق الغامق في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `startIndex` (integer, مطلوب): موضع بداية النص المراد تنسيقه.
|
||||
- `endIndex` (integer, مطلوب): موضع نهاية النص المراد تنسيقه (حصري).
|
||||
- `bold` (boolean, مطلوب): عيّن `true` لجعله غامقاً، `false` لإزالة الغامق.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/set_text_italic">
|
||||
**الوصف:** جعل النص مائلاً أو إزالة التنسيق المائل في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `startIndex` (integer, مطلوب): موضع بداية النص المراد تنسيقه.
|
||||
- `endIndex` (integer, مطلوب): موضع نهاية النص المراد تنسيقه (حصري).
|
||||
- `italic` (boolean, مطلوب): عيّن `true` لجعله مائلاً، `false` لإزالة المائل.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/set_text_underline">
|
||||
**الوصف:** إضافة أو إزالة تنسيق التسطير من النص في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `startIndex` (integer, مطلوب): موضع بداية النص المراد تنسيقه.
|
||||
- `endIndex` (integer, مطلوب): موضع نهاية النص المراد تنسيقه (حصري).
|
||||
- `underline` (boolean, مطلوب): عيّن `true` للتسطير، `false` لإزالة التسطير.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/set_text_strikethrough">
|
||||
**الوصف:** إضافة أو إزالة تنسيق يتوسطه خط من النص في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `startIndex` (integer, مطلوب): موضع بداية النص المراد تنسيقه.
|
||||
- `endIndex` (integer, مطلوب): موضع نهاية النص المراد تنسيقه (حصري).
|
||||
- `strikethrough` (boolean, مطلوب): عيّن `true` لإضافة يتوسطه خط، `false` للإزالة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/set_font_size">
|
||||
**الوصف:** تغيير حجم خط النص في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `startIndex` (integer, مطلوب): موضع بداية النص المراد تنسيقه.
|
||||
- `endIndex` (integer, مطلوب): موضع نهاية النص المراد تنسيقه (حصري).
|
||||
- `fontSize` (number, مطلوب): حجم الخط بالنقاط. الأحجام الشائعة: 10, 11, 12, 14, 16, 18, 24, 36.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/set_text_color">
|
||||
**الوصف:** تغيير لون النص باستخدام قيم RGB (مقياس 0-1) في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `startIndex` (integer, مطلوب): موضع بداية النص المراد تنسيقه.
|
||||
- `endIndex` (integer, مطلوب): موضع نهاية النص المراد تنسيقه (حصري).
|
||||
- `red` (number, مطلوب): مكوّن الأحمر (0-1). مثال: `1` للأحمر الكامل.
|
||||
- `green` (number, مطلوب): مكوّن الأخضر (0-1). مثال: `0.5` لنصف الأخضر.
|
||||
- `blue` (number, مطلوب): مكوّن الأزرق (0-1). مثال: `0` لعدم وجود أزرق.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/create_hyperlink">
|
||||
**الوصف:** تحويل نص موجود إلى رابط قابل للنقر في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `startIndex` (integer, مطلوب): موضع بداية النص المراد تحويله إلى رابط.
|
||||
- `endIndex` (integer, مطلوب): موضع نهاية النص المراد تحويله إلى رابط (حصري).
|
||||
- `url` (string, مطلوب): عنوان URL الذي يجب أن يشير إليه الرابط. مثال: `"https://example.com"`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/apply_heading_style">
|
||||
**الوصف:** تطبيق نمط عنوان أو فقرة على نطاق نصي في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `startIndex` (integer, مطلوب): موضع بداية الفقرة (الفقرات) المراد تنسيقها.
|
||||
- `endIndex` (integer, مطلوب): موضع نهاية الفقرة (الفقرات) المراد تنسيقها.
|
||||
- `style` (string, مطلوب): النمط المراد تطبيقه. القيم: `NORMAL_TEXT`, `TITLE`, `SUBTITLE`, `HEADING_1`, `HEADING_2`, `HEADING_3`, `HEADING_4`, `HEADING_5`, `HEADING_6`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/set_paragraph_alignment">
|
||||
**الوصف:** تعيين محاذاة النص للفقرات في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `startIndex` (integer, مطلوب): موضع بداية الفقرة (الفقرات) المراد محاذاتها.
|
||||
- `endIndex` (integer, مطلوب): موضع نهاية الفقرة (الفقرات) المراد محاذاتها.
|
||||
- `alignment` (string, مطلوب): محاذاة النص. القيم: `START` (يسار), `CENTER`, `END` (يمين), `JUSTIFIED`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/set_line_spacing">
|
||||
**الوصف:** تعيين تباعد الأسطر للفقرات في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `startIndex` (integer, مطلوب): موضع بداية الفقرة (الفقرات).
|
||||
- `endIndex` (integer, مطلوب): موضع نهاية الفقرة (الفقرات).
|
||||
- `lineSpacing` (number, مطلوب): تباعد الأسطر كنسبة مئوية. `100` = مفرد، `115` = 1.15x، `150` = 1.5x، `200` = مزدوج.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/create_paragraph_bullets">
|
||||
**الوصف:** تحويل الفقرات إلى قائمة نقطية أو مرقمة في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `startIndex` (integer, مطلوب): موضع بداية الفقرات المراد تحويلها إلى قائمة.
|
||||
- `endIndex` (integer, مطلوب): موضع نهاية الفقرات المراد تحويلها إلى قائمة.
|
||||
- `bulletPreset` (string, مطلوب): نمط النقاط/الترقيم. القيم: `BULLET_DISC_CIRCLE_SQUARE`, `BULLET_DIAMONDX_ARROW3D_SQUARE`, `BULLET_CHECKBOX`, `BULLET_ARROW_DIAMOND_DISC`, `BULLET_STAR_CIRCLE_SQUARE`, `NUMBERED_DECIMAL_ALPHA_ROMAN`, `NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS`, `NUMBERED_DECIMAL_NESTED`, `NUMBERED_UPPERALPHA_ALPHA_ROMAN`, `NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/delete_paragraph_bullets">
|
||||
**الوصف:** إزالة النقاط أو الترقيم من الفقرات في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `startIndex` (integer, مطلوب): موضع بداية فقرات القائمة.
|
||||
- `endIndex` (integer, مطلوب): موضع نهاية فقرات القائمة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/insert_table_with_content">
|
||||
**الوصف:** إدراج جدول مع محتوى في مستند Google في إجراء واحد. قدم المحتوى كمصفوفة ثنائية الأبعاد.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `rows` (integer, مطلوب): عدد الصفوف في الجدول.
|
||||
- `columns` (integer, مطلوب): عدد الأعمدة في الجدول.
|
||||
- `index` (integer, اختياري): الموضع لإدراج الجدول. إذا لم يُحدد، يُدرج الجدول في نهاية المستند.
|
||||
- `content` (array, مطلوب): محتوى الجدول كمصفوفة ثنائية الأبعاد. كل مصفوفة داخلية هي صف. مثال: `[["Year", "Revenue"], ["2023", "$43B"], ["2024", "$45B"]]`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/insert_table_row">
|
||||
**الوصف:** إدراج صف جديد فوق أو أسفل خلية مرجعية في جدول موجود.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `tableStartIndex` (integer, مطلوب): فهرس بداية الجدول.
|
||||
- `rowIndex` (integer, مطلوب): فهرس الصف (قائم على الصفر) للخلية المرجعية.
|
||||
- `columnIndex` (integer, اختياري): فهرس العمود (قائم على الصفر) للخلية المرجعية. الافتراضي هو `0`.
|
||||
- `insertBelow` (boolean, اختياري): إذا `true`، يُدرج أسفل الصف المرجعي. إذا `false`، يُدرج فوقه. الافتراضي هو `true`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/insert_table_column">
|
||||
**الوصف:** إدراج عمود جديد يساراً أو يميناً لخلية مرجعية في جدول موجود.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `tableStartIndex` (integer, مطلوب): فهرس بداية الجدول.
|
||||
- `rowIndex` (integer, اختياري): فهرس الصف (قائم على الصفر) للخلية المرجعية. الافتراضي هو `0`.
|
||||
- `columnIndex` (integer, مطلوب): فهرس العمود (قائم على الصفر) للخلية المرجعية.
|
||||
- `insertRight` (boolean, اختياري): إذا `true`، يُدرج إلى اليمين. إذا `false`، يُدرج إلى اليسار. الافتراضي هو `true`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/delete_table_row">
|
||||
**الوصف:** حذف صف من جدول موجود في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `tableStartIndex` (integer, مطلوب): فهرس بداية الجدول.
|
||||
- `rowIndex` (integer, مطلوب): فهرس الصف (قائم على الصفر) المراد حذفه.
|
||||
- `columnIndex` (integer, اختياري): فهرس العمود (قائم على الصفر) لأي خلية في الصف. الافتراضي هو `0`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/delete_table_column">
|
||||
**الوصف:** حذف عمود من جدول موجود في مستند Google.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `tableStartIndex` (integer, مطلوب): فهرس بداية الجدول.
|
||||
- `rowIndex` (integer, اختياري): فهرس الصف (قائم على الصفر) لأي خلية في العمود. الافتراضي هو `0`.
|
||||
- `columnIndex` (integer, مطلوب): فهرس العمود (قائم على الصفر) المراد حذفه.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/merge_table_cells">
|
||||
**الوصف:** دمج نطاق من خلايا الجدول في خلية واحدة. يتم الاحتفاظ بمحتوى جميع الخلايا.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `tableStartIndex` (integer, مطلوب): فهرس بداية الجدول.
|
||||
- `rowIndex` (integer, مطلوب): فهرس الصف البادئ (قائم على الصفر) للدمج.
|
||||
- `columnIndex` (integer, مطلوب): فهرس العمود البادئ (قائم على الصفر) للدمج.
|
||||
- `rowSpan` (integer, مطلوب): عدد الصفوف المراد دمجها.
|
||||
- `columnSpan` (integer, مطلوب): عدد الأعمدة المراد دمجها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/unmerge_table_cells">
|
||||
**الوصف:** إلغاء دمج خلايا جدول مدمجة سابقاً وإعادتها إلى خلايا فردية.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `tableStartIndex` (integer, مطلوب): فهرس بداية الجدول.
|
||||
- `rowIndex` (integer, مطلوب): فهرس الصف (قائم على الصفر) للخلية المدمجة.
|
||||
- `columnIndex` (integer, مطلوب): فهرس العمود (قائم على الصفر) للخلية المدمجة.
|
||||
- `rowSpan` (integer, مطلوب): عدد الصفوف التي تمتد عليها الخلية المدمجة.
|
||||
- `columnSpan` (integer, مطلوب): عدد الأعمدة التي تمتد عليها الخلية المدمجة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/insert_inline_image">
|
||||
**الوصف:** إدراج صورة من عنوان URL عام في مستند Google. يجب أن تكون الصورة متاحة للعموم، وأقل من 50 ميجابايت، وبصيغة PNG/JPEG/GIF.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `uri` (string, مطلوب): عنوان URL العام للصورة. يجب أن يكون متاحاً بدون مصادقة.
|
||||
- `index` (integer, اختياري): الموضع لإدراج الصورة. إذا لم يُحدد، تُدرج الصورة في نهاية المستند. الافتراضي هو `1`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/insert_section_break">
|
||||
**الوصف:** إدراج فاصل قسم لإنشاء أقسام مستند بتنسيقات مختلفة.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `index` (integer, مطلوب): الموضع لإدراج فاصل القسم.
|
||||
- `sectionType` (string, مطلوب): نوع فاصل القسم. القيم: `CONTINUOUS` (يبقى في نفس الصفحة), `NEXT_PAGE` (يبدأ صفحة جديدة).
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/create_header">
|
||||
**الوصف:** إنشاء ترويسة للمستند. يُرجع headerId يمكن استخدامه مع insert_text لإضافة محتوى الترويسة.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `type` (string, اختياري): نوع الترويسة. القيم: `DEFAULT`. الافتراضي هو `DEFAULT`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/create_footer">
|
||||
**الوصف:** إنشاء تذييل للمستند. يُرجع footerId يمكن استخدامه مع insert_text لإضافة محتوى التذييل.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `type` (string, اختياري): نوع التذييل. القيم: `DEFAULT`. الافتراضي هو `DEFAULT`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/delete_header">
|
||||
**الوصف:** حذف ترويسة من المستند. استخدم get_document للعثور على headerId.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `headerId` (string, مطلوب): معرّف الترويسة المراد حذفها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_docs/delete_footer">
|
||||
**الوصف:** حذف تذييل من المستند. استخدم get_document للعثور على footerId.
|
||||
|
||||
**المعاملات:**
|
||||
- `documentId` (string, مطلوب): معرّف المستند.
|
||||
- `footerId` (string, مطلوب): معرّف التذييل المراد حذفه.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Google Docs
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Google Docs capabilities
|
||||
docs_agent = Agent(
|
||||
role="Document Creator",
|
||||
goal="Create and manage Google Docs documents efficiently",
|
||||
backstory="An AI assistant specialized in Google Docs document creation and editing.",
|
||||
apps=['google_docs'] # All Google Docs actions will be available
|
||||
)
|
||||
|
||||
# Task to create a new document
|
||||
create_doc_task = Task(
|
||||
description="Create a new Google Document titled 'Project Status Report'",
|
||||
agent=docs_agent,
|
||||
expected_output="New Google Document 'Project Status Report' created successfully"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[docs_agent],
|
||||
tasks=[create_doc_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### تحرير النصوص وإدارة المحتوى
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent focused on text editing
|
||||
text_editor = Agent(
|
||||
role="Document Editor",
|
||||
goal="Edit and update content in Google Docs documents",
|
||||
backstory="An AI assistant skilled in precise text editing and content management.",
|
||||
apps=['google_docs/insert_text', 'google_docs/replace_text', 'google_docs/delete_content_range']
|
||||
)
|
||||
|
||||
# Task to edit document content
|
||||
edit_content_task = Task(
|
||||
description="In document 'your_document_id', insert the text 'Executive Summary: ' at the beginning, then replace all instances of 'TODO' with 'COMPLETED'.",
|
||||
agent=text_editor,
|
||||
expected_output="Document updated with new text inserted and TODO items replaced."
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[text_editor],
|
||||
tasks=[edit_content_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### عمليات المستندات المتقدمة
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent for advanced document operations
|
||||
document_formatter = Agent(
|
||||
role="Document Formatter",
|
||||
goal="Apply advanced formatting and structure to Google Docs",
|
||||
backstory="An AI assistant that handles complex document formatting and organization.",
|
||||
apps=['google_docs/batch_update', 'google_docs/insert_page_break', 'google_docs/create_named_range']
|
||||
)
|
||||
|
||||
# Task to format document
|
||||
format_doc_task = Task(
|
||||
description="In document 'your_document_id', insert a page break at position 100, create a named range called 'Introduction' for characters 1-50, and apply batch formatting updates.",
|
||||
agent=document_formatter,
|
||||
expected_output="Document formatted with page break, named range, and styling applied."
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[document_formatter],
|
||||
tasks=[format_doc_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## استكشاف الأخطاء وإصلاحها
|
||||
|
||||
### المشاكل الشائعة
|
||||
|
||||
**أخطاء المصادقة**
|
||||
|
||||
- تأكد من أن حساب Google الخاص بك لديه الصلاحيات اللازمة للوصول إلى Google Docs.
|
||||
- تحقق من أن اتصال OAuth يتضمن جميع النطاقات المطلوبة (`https://www.googleapis.com/auth/documents`).
|
||||
|
||||
**مشاكل معرّف المستند**
|
||||
|
||||
- تحقق جيداً من صحة معرّفات المستندات.
|
||||
- تأكد من وجود المستند وإمكانية الوصول إليه من حسابك.
|
||||
- يمكن العثور على معرّفات المستندات في عنوان URL لـ Google Docs.
|
||||
|
||||
**عمليات إدراج النص والنطاقات**
|
||||
|
||||
- عند استخدام `insert_text` أو `delete_content_range`، تأكد من صحة مواضع الفهرس.
|
||||
- تذكر أن Google Docs يستخدم فهرسة قائمة على الصفر.
|
||||
- يجب أن يحتوي المستند على محتوى في مواضع الفهرس المحددة.
|
||||
|
||||
**تنسيق طلبات التحديث الدفعي**
|
||||
|
||||
- عند استخدام `batch_update`، تأكد من صحة تنسيق مصفوفة `requests` وفقاً لتوثيق Google Docs API.
|
||||
- تتطلب التحديثات المعقدة هياكل JSON محددة لكل نوع طلب.
|
||||
|
||||
**عمليات استبدال النص**
|
||||
|
||||
- لـ `replace_text`، تأكد من مطابقة معامل `containsText` تماماً للنص المراد استبداله.
|
||||
- استخدم معامل `matchCase` للتحكم في حساسية حالة الأحرف.
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Google Docs أو
|
||||
استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
238
docs/ar/enterprise/integrations/google_drive.mdx
Normal file
238
docs/ar/enterprise/integrations/google_drive.mdx
Normal file
@@ -0,0 +1,238 @@
|
||||
---
|
||||
title: تكامل Google Drive
|
||||
description: "تخزين الملفات وإدارتها مع تكامل Google Drive لـ CrewAI."
|
||||
icon: "google"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة الملفات والمجلدات عبر Google Drive. ارفع الملفات وحمّلها ونظّمها وشاركها، وأنشئ المجلدات، وبسّط سير عمل إدارة المستندات باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Google Drive، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Google مع إمكانية الوصول إلى Google Drive
|
||||
- ربط حساب Google الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Google Drive
|
||||
|
||||
### 1. ربط حساب Google الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Google Drive** في قسم تكاملات المصادقة
|
||||
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="google_drive/get_file">
|
||||
**الوصف:** الحصول على ملف بواسطة المعرّف من Google Drive.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف الملف المراد استرجاعه.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_drive/list_files">
|
||||
**الوصف:** عرض قائمة الملفات في Google Drive.
|
||||
|
||||
**المعاملات:**
|
||||
- `q` (string, اختياري): سلسلة استعلام لتصفية الملفات (مثال: "name contains 'report'").
|
||||
- `page_size` (integer, اختياري): الحد الأقصى لعدد الملفات المُرجعة (الافتراضي: 100، الحد الأقصى: 1000).
|
||||
- `page_token` (string, اختياري): رمز لاسترجاع الصفحة التالية من النتائج.
|
||||
- `order_by` (string, اختياري): ترتيب الفرز (مثال: "name", "createdTime desc", "modifiedTime").
|
||||
- `spaces` (string, اختياري): قائمة مفصولة بفواصل للمساحات المراد الاستعلام عنها (drive, appDataFolder, photos).
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_drive/upload_file">
|
||||
**الوصف:** رفع ملف إلى Google Drive.
|
||||
|
||||
**المعاملات:**
|
||||
- `name` (string, مطلوب): اسم الملف المراد إنشاؤه.
|
||||
- `content` (string, مطلوب): محتوى الملف المراد رفعه.
|
||||
- `mime_type` (string, اختياري): نوع MIME للملف (مثال: "text/plain", "application/pdf").
|
||||
- `parent_folder_id` (string, اختياري): معرّف المجلد الأصلي حيث يجب إنشاء الملف.
|
||||
- `description` (string, اختياري): وصف الملف.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_drive/download_file">
|
||||
**الوصف:** تحميل ملف من Google Drive.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف الملف المراد تحميله.
|
||||
- `mime_type` (string, اختياري): نوع MIME للتصدير (مطلوب لمستندات Google Workspace).
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_drive/create_folder">
|
||||
**الوصف:** إنشاء مجلد جديد في Google Drive.
|
||||
|
||||
**المعاملات:**
|
||||
- `name` (string, مطلوب): اسم المجلد المراد إنشاؤه.
|
||||
- `parent_folder_id` (string, اختياري): معرّف المجلد الأصلي حيث يجب إنشاء المجلد الجديد.
|
||||
- `description` (string, اختياري): وصف المجلد.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_drive/delete_file">
|
||||
**الوصف:** حذف ملف من Google Drive.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف الملف المراد حذفه.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_drive/share_file">
|
||||
**الوصف:** مشاركة ملف في Google Drive مع مستخدمين محددين أو جعله عاماً.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف الملف المراد مشاركته.
|
||||
- `role` (string, مطلوب): الدور الممنوح بهذا الإذن (reader, writer, commenter, owner).
|
||||
- `type` (string, مطلوب): نوع المستفيد (user, group, domain, anyone).
|
||||
- `email_address` (string, اختياري): عنوان البريد الإلكتروني للمستخدم أو المجموعة المراد المشاركة معهم (مطلوب لأنواع user/group).
|
||||
- `domain` (string, اختياري): النطاق المراد المشاركة معه (مطلوب لنوع domain).
|
||||
- `send_notification_email` (boolean, اختياري): ما إذا كان يجب إرسال بريد إلكتروني إشعاري (الافتراضي: true).
|
||||
- `email_message` (string, اختياري): رسالة نصية مخصصة لتضمينها في البريد الإلكتروني الإشعاري.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_drive/update_file">
|
||||
**الوصف:** تحديث ملف موجود في Google Drive.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف الملف المراد تحديثه.
|
||||
- `name` (string, اختياري): الاسم الجديد للملف.
|
||||
- `content` (string, اختياري): المحتوى الجديد للملف.
|
||||
- `mime_type` (string, اختياري): نوع MIME الجديد للملف.
|
||||
- `description` (string, اختياري): الوصف الجديد للملف.
|
||||
- `add_parents` (string, اختياري): قائمة مفصولة بفواصل لمعرّفات المجلدات الأصلية المراد إضافتها.
|
||||
- `remove_parents` (string, اختياري): قائمة مفصولة بفواصل لمعرّفات المجلدات الأصلية المراد إزالتها.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Google Drive
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Google Drive capabilities
|
||||
drive_agent = Agent(
|
||||
role="File Manager",
|
||||
goal="Manage files and folders in Google Drive efficiently",
|
||||
backstory="An AI assistant specialized in document and file management.",
|
||||
apps=['google_drive'] # All Google Drive actions will be available
|
||||
)
|
||||
|
||||
# Task to organize files
|
||||
organize_files_task = Task(
|
||||
description="List all files in the root directory and organize them into appropriate folders",
|
||||
agent=drive_agent,
|
||||
expected_output="Summary of files organized with folder structure"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[drive_agent],
|
||||
tasks=[organize_files_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### تصفية أدوات Google Drive المحددة
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create agent with specific Google Drive actions only
|
||||
file_manager_agent = Agent(
|
||||
role="Document Manager",
|
||||
goal="Upload and manage documents efficiently",
|
||||
backstory="An AI assistant that focuses on document upload and organization.",
|
||||
apps=[
|
||||
'google_drive/upload_file',
|
||||
'google_drive/create_folder',
|
||||
'google_drive/share_file'
|
||||
] # Specific Google Drive actions
|
||||
)
|
||||
|
||||
# Task to upload and share documents
|
||||
document_task = Task(
|
||||
description="Upload the quarterly report and share it with the finance team",
|
||||
agent=file_manager_agent,
|
||||
expected_output="Document uploaded and sharing permissions configured"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[file_manager_agent],
|
||||
tasks=[document_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### إدارة الملفات المتقدمة
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
file_organizer = Agent(
|
||||
role="File Organizer",
|
||||
goal="Maintain organized file structure and manage permissions",
|
||||
backstory="An experienced file manager who ensures proper organization and access control.",
|
||||
apps=['google_drive']
|
||||
)
|
||||
|
||||
# Complex task involving multiple Google Drive operations
|
||||
organization_task = Task(
|
||||
description="""
|
||||
1. List all files in the shared folder
|
||||
2. Create folders for different document types (Reports, Presentations, Spreadsheets)
|
||||
3. Move files to appropriate folders based on their type
|
||||
4. Set appropriate sharing permissions for each folder
|
||||
5. Create a summary document of the organization changes
|
||||
""",
|
||||
agent=file_organizer,
|
||||
expected_output="Files organized into categorized folders with proper permissions and summary report"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[file_organizer],
|
||||
tasks=[organization_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
254
docs/ar/enterprise/integrations/google_sheets.mdx
Normal file
254
docs/ar/enterprise/integrations/google_sheets.mdx
Normal file
@@ -0,0 +1,254 @@
|
||||
---
|
||||
title: تكامل Google Sheets
|
||||
description: "مزامنة بيانات جداول البيانات مع تكامل Google Sheets لـ CrewAI."
|
||||
icon: "google"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة بيانات جداول البيانات عبر Google Sheets. اقرأ الصفوف، وأنشئ إدخالات جديدة، وحدّث البيانات الموجودة، وبسّط سير عمل إدارة البيانات باستخدام الأتمتة المدعومة بالذكاء الاصطناعي. مثالي لتتبع البيانات وإعداد التقارير وإدارة البيانات التعاونية.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Google Sheets، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Google مع إمكانية الوصول إلى Google Sheets
|
||||
- ربط حساب Google الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
- جداول بيانات بترويسات أعمدة مناسبة لعمليات البيانات
|
||||
|
||||
## إعداد تكامل Google Sheets
|
||||
|
||||
### 1. ربط حساب Google الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Google Sheets** في قسم تكاملات المصادقة
|
||||
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="google_sheets/get_spreadsheet">
|
||||
**الوصف:** استرجاع خصائص وبيانات جدول البيانات.
|
||||
|
||||
**المعاملات:**
|
||||
- `spreadsheetId` (string, مطلوب): معرّف جدول البيانات المراد استرجاعه.
|
||||
- `ranges` (array, اختياري): النطاقات المراد استرجاعها من جدول البيانات.
|
||||
- `includeGridData` (boolean, اختياري): true إذا كان يجب إرجاع بيانات الشبكة. الافتراضي: false
|
||||
- `fields` (string, اختياري): الحقول المراد تضمينها في الاستجابة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_sheets/get_values">
|
||||
**الوصف:** إرجاع نطاق من القيم من جدول البيانات.
|
||||
|
||||
**المعاملات:**
|
||||
- `spreadsheetId` (string, مطلوب): معرّف جدول البيانات المراد استرجاع البيانات منه.
|
||||
- `range` (string, مطلوب): ترميز A1 أو R1C1 للنطاق المراد استرجاع القيم منه.
|
||||
- `valueRenderOption` (string, اختياري): كيفية تمثيل القيم في الإخراج. الخيارات: FORMATTED_VALUE, UNFORMATTED_VALUE, FORMULA. الافتراضي: FORMATTED_VALUE
|
||||
- `dateTimeRenderOption` (string, اختياري): كيفية تمثيل التواريخ والأوقات في الإخراج. الخيارات: SERIAL_NUMBER, FORMATTED_STRING. الافتراضي: SERIAL_NUMBER
|
||||
- `majorDimension` (string, اختياري): البُعد الرئيسي للنتائج. الخيارات: ROWS, COLUMNS. الافتراضي: ROWS
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_sheets/update_values">
|
||||
**الوصف:** تعيين القيم في نطاق من جدول البيانات.
|
||||
|
||||
**المعاملات:**
|
||||
- `spreadsheetId` (string, مطلوب): معرّف جدول البيانات المراد تحديثه.
|
||||
- `range` (string, مطلوب): ترميز A1 للنطاق المراد تحديثه.
|
||||
- `values` (array, مطلوب): البيانات المراد كتابتها. كل مصفوفة تمثل صفاً.
|
||||
```json
|
||||
[
|
||||
["Value1", "Value2", "Value3"],
|
||||
["Value4", "Value5", "Value6"]
|
||||
]
|
||||
```
|
||||
- `valueInputOption` (string, اختياري): كيفية تفسير بيانات الإدخال. الخيارات: RAW, USER_ENTERED. الافتراضي: USER_ENTERED
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_sheets/append_values">
|
||||
**الوصف:** إلحاق قيم بجدول البيانات.
|
||||
|
||||
**المعاملات:**
|
||||
- `spreadsheetId` (string, مطلوب): معرّف جدول البيانات المراد تحديثه.
|
||||
- `range` (string, مطلوب): ترميز A1 لنطاق البحث عن جدول بيانات منطقي.
|
||||
- `values` (array, مطلوب): البيانات المراد إلحاقها. كل مصفوفة تمثل صفاً.
|
||||
```json
|
||||
[
|
||||
["Value1", "Value2", "Value3"],
|
||||
["Value4", "Value5", "Value6"]
|
||||
]
|
||||
```
|
||||
- `valueInputOption` (string, اختياري): كيفية تفسير بيانات الإدخال. الخيارات: RAW, USER_ENTERED. الافتراضي: USER_ENTERED
|
||||
- `insertDataOption` (string, اختياري): كيفية إدراج بيانات الإدخال. الخيارات: OVERWRITE, INSERT_ROWS. الافتراضي: INSERT_ROWS
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_sheets/create_spreadsheet">
|
||||
**الوصف:** إنشاء جدول بيانات جديد.
|
||||
|
||||
**المعاملات:**
|
||||
- `title` (string, مطلوب): عنوان جدول البيانات الجديد.
|
||||
- `sheets` (array, اختياري): الأوراق التي تشكل جزءاً من جدول البيانات.
|
||||
```json
|
||||
[
|
||||
{
|
||||
"properties": {
|
||||
"title": "Sheet1"
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Google Sheets
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Google Sheets capabilities
|
||||
sheets_agent = Agent(
|
||||
role="Data Manager",
|
||||
goal="Manage spreadsheet data and track information efficiently",
|
||||
backstory="An AI assistant specialized in data management and spreadsheet operations.",
|
||||
apps=['google_sheets']
|
||||
)
|
||||
|
||||
# Task to add new data to a spreadsheet
|
||||
data_entry_task = Task(
|
||||
description="Add a new customer record to the customer database spreadsheet with name, email, and signup date",
|
||||
agent=sheets_agent,
|
||||
expected_output="New customer record added successfully to the spreadsheet"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[sheets_agent],
|
||||
tasks=[data_entry_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### تصفية أدوات Google Sheets المحددة
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create agent with specific Google Sheets actions only
|
||||
data_collector = Agent(
|
||||
role="Data Collector",
|
||||
goal="Collect and organize data in spreadsheets",
|
||||
backstory="An AI assistant that focuses on data collection and organization.",
|
||||
apps=[
|
||||
'google_sheets/get_values',
|
||||
'google_sheets/update_values'
|
||||
]
|
||||
)
|
||||
|
||||
# Task to collect and organize data
|
||||
data_collection = Task(
|
||||
description="Retrieve current inventory data and add new product entries to the inventory spreadsheet",
|
||||
agent=data_collector,
|
||||
expected_output="Inventory data retrieved and new products added successfully"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[data_collector],
|
||||
tasks=[data_collection]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### تحليل البيانات وإعداد التقارير
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
data_analyst = Agent(
|
||||
role="Data Analyst",
|
||||
goal="Analyze spreadsheet data and generate insights",
|
||||
backstory="An experienced data analyst who extracts insights from spreadsheet data.",
|
||||
apps=['google_sheets']
|
||||
)
|
||||
|
||||
# Task to analyze data and create reports
|
||||
analysis_task = Task(
|
||||
description="""
|
||||
1. Retrieve all sales data from the current month's spreadsheet
|
||||
2. Analyze the data for trends and patterns
|
||||
3. Create a summary report in a new row with key metrics
|
||||
""",
|
||||
agent=data_analyst,
|
||||
expected_output="Sales data analyzed and summary report created with key insights"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[data_analyst],
|
||||
tasks=[analysis_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## استكشاف الأخطاء وإصلاحها
|
||||
|
||||
### المشاكل الشائعة
|
||||
|
||||
**أخطاء الصلاحيات**
|
||||
|
||||
- تأكد من أن حساب Google الخاص بك لديه صلاحية التحرير على جداول البيانات المستهدفة
|
||||
- تحقق من أن اتصال OAuth يتضمن النطاقات المطلوبة لـ Google Sheets API
|
||||
- تأكد من مشاركة جداول البيانات مع الحساب المصادق عليه
|
||||
|
||||
**مشاكل هيكل جدول البيانات**
|
||||
|
||||
- تأكد من أن أوراق العمل تحتوي على ترويسات أعمدة مناسبة قبل إنشاء الصفوف أو تحديثها
|
||||
- تحقق من صحة ترميز النطاق (صيغة A1) للخلايا المستهدفة
|
||||
- تأكد من وجود معرّف جدول البيانات المحدد وإمكانية الوصول إليه
|
||||
|
||||
**مشاكل نوع البيانات والصيغة**
|
||||
|
||||
- تأكد من تطابق قيم البيانات مع الصيغة المتوقعة لكل عمود
|
||||
- استخدم صيغ التاريخ المناسبة لأعمدة التاريخ (يُنصح بصيغة ISO)
|
||||
- تحقق من صحة تنسيق القيم الرقمية لأعمدة الأرقام
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Google Sheets
|
||||
أو استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
382
docs/ar/enterprise/integrations/google_slides.mdx
Normal file
382
docs/ar/enterprise/integrations/google_slides.mdx
Normal file
@@ -0,0 +1,382 @@
|
||||
---
|
||||
title: تكامل Google Slides
|
||||
description: "إنشاء العروض التقديمية وإدارتها مع تكامل Google Slides لـ CrewAI."
|
||||
icon: "chart-bar"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إنشاء وتحرير وإدارة عروض Google Slides التقديمية. أنشئ العروض التقديمية، وحدّث المحتوى، واستورد البيانات من Google Sheets، وأدر الصفحات والصور المصغرة، وبسّط سير عمل العروض التقديمية باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Google Slides، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Google مع إمكانية الوصول إلى Google Slides
|
||||
- ربط حساب Google الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Google Slides
|
||||
|
||||
### 1. ربط حساب Google الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Google Slides** في قسم تكاملات المصادقة
|
||||
3. انقر على **Connect** وأكمل عملية OAuth
|
||||
4. امنح الصلاحيات اللازمة للوصول إلى العروض التقديمية وجداول البيانات وDrive
|
||||
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="google_slides/create_blank_presentation">
|
||||
**الوصف:** إنشاء عرض تقديمي فارغ بدون محتوى.
|
||||
|
||||
**المعاملات:**
|
||||
- `title` (string, مطلوب): عنوان العرض التقديمي.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/get_presentation_metadata">
|
||||
**الوصف:** الحصول على بيانات وصفية خفيفة حول العرض التقديمي (العنوان، عدد الشرائح، معرّفات الشرائح).
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي المراد استرجاعه.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/get_presentation_text">
|
||||
**الوصف:** استخراج جميع المحتوى النصي من العرض التقديمي.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/get_presentation">
|
||||
**الوصف:** استرجاع عرض تقديمي بواسطة المعرّف.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي المراد استرجاعه.
|
||||
- `fields` (string, اختياري): الحقول المراد تضمينها في الاستجابة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/batch_update_presentation">
|
||||
**الوصف:** تطبيق التحديثات أو إضافة المحتوى أو إزالته من العرض التقديمي.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي المراد تحديثه.
|
||||
- `requests` (array, مطلوب): قائمة بالتحديثات المراد تطبيقها.
|
||||
```json
|
||||
[
|
||||
{
|
||||
"insertText": {
|
||||
"objectId": "slide_id",
|
||||
"text": "Your text content here"
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
- `writeControl` (object, اختياري): يوفر التحكم في كيفية تنفيذ طلبات الكتابة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/get_slide_text">
|
||||
**الوصف:** استخراج المحتوى النصي من شريحة واحدة.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `pageObjectId` (string, مطلوب): معرّف الشريحة/الصفحة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/get_page">
|
||||
**الوصف:** استرجاع صفحة محددة بواسطة معرّفها.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `pageObjectId` (string, مطلوب): معرّف الصفحة المراد استرجاعها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/get_thumbnail">
|
||||
**الوصف:** إنشاء صورة مصغرة للصفحة.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `pageObjectId` (string, مطلوب): معرّف الصفحة لإنشاء الصورة المصغرة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/create_slide">
|
||||
**الوصف:** إضافة شريحة فارغة إضافية للعرض التقديمي.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `insertionIndex` (integer, اختياري): مكان إدراج الشريحة (قائم على الصفر). إذا حُذف، تُضاف في النهاية.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/create_slide_with_layout">
|
||||
**الوصف:** إنشاء شريحة بتخطيط محدد مسبقاً يحتوي على مناطق عناصر نائبة للعنوان والمحتوى وغيرها.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `layout` (string, مطلوب): نوع التخطيط. أحد: `BLANK`, `TITLE`, `TITLE_AND_BODY`, `TITLE_AND_TWO_COLUMNS`, `TITLE_ONLY`, `SECTION_HEADER`, `ONE_COLUMN_TEXT`, `MAIN_POINT`, `BIG_NUMBER`.
|
||||
- `insertionIndex` (integer, اختياري): مكان الإدراج (قائم على الصفر). حُذف للإضافة في النهاية.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/create_text_box">
|
||||
**الوصف:** إنشاء مربع نص على شريحة مع محتوى.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `slideId` (string, مطلوب): معرّف الشريحة لإضافة مربع النص إليها.
|
||||
- `text` (string, مطلوب): المحتوى النصي لمربع النص.
|
||||
- `x` (integer, اختياري): موضع X بوحدة EMU (914400 = 1 بوصة). الافتراضي: 914400.
|
||||
- `y` (integer, اختياري): موضع Y بوحدة EMU. الافتراضي: 914400.
|
||||
- `width` (integer, اختياري): العرض بوحدة EMU. الافتراضي: 7315200.
|
||||
- `height` (integer, اختياري): الارتفاع بوحدة EMU. الافتراضي: 914400.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/delete_slide">
|
||||
**الوصف:** إزالة شريحة من العرض التقديمي.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `slideId` (string, مطلوب): معرّف الشريحة المراد حذفها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/duplicate_slide">
|
||||
**الوصف:** إنشاء نسخة من شريحة موجودة.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `slideId` (string, مطلوب): معرّف الشريحة المراد تكرارها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/move_slides">
|
||||
**الوصف:** إعادة ترتيب الشرائح بنقلها إلى موضع جديد.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `slideIds` (array of strings, مطلوب): مصفوفة من معرّفات الشرائح المراد نقلها.
|
||||
- `insertionIndex` (integer, مطلوب): الموضع المستهدف (قائم على الصفر).
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/insert_youtube_video">
|
||||
**الوصف:** تضمين فيديو YouTube على شريحة.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `slideId` (string, مطلوب): معرّف الشريحة لإضافة الفيديو إليها.
|
||||
- `videoId` (string, مطلوب): معرّف فيديو YouTube (القيمة بعد v= في عنوان URL).
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/insert_drive_video">
|
||||
**الوصف:** تضمين فيديو من Google Drive على شريحة.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `slideId` (string, مطلوب): معرّف الشريحة لإضافة الفيديو إليها.
|
||||
- `fileId` (string, مطلوب): معرّف ملف Google Drive للفيديو.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/set_slide_background_image">
|
||||
**الوصف:** تعيين صورة خلفية لشريحة.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `slideId` (string, مطلوب): معرّف الشريحة لتعيين الخلفية لها.
|
||||
- `imageUrl` (string, مطلوب): عنوان URL المتاح للعموم للصورة المراد استخدامها كخلفية.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/create_table">
|
||||
**الوصف:** إنشاء جدول فارغ على شريحة.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `slideId` (string, مطلوب): معرّف الشريحة لإضافة الجدول إليها.
|
||||
- `rows` (integer, مطلوب): عدد الصفوف في الجدول.
|
||||
- `columns` (integer, مطلوب): عدد الأعمدة في الجدول.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/create_table_with_content">
|
||||
**الوصف:** إنشاء جدول مع محتوى في إجراء واحد.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `slideId` (string, مطلوب): معرّف الشريحة لإضافة الجدول إليها.
|
||||
- `rows` (integer, مطلوب): عدد الصفوف في الجدول.
|
||||
- `columns` (integer, مطلوب): عدد الأعمدة في الجدول.
|
||||
- `content` (array, مطلوب): محتوى الجدول كمصفوفة ثنائية الأبعاد. مثال: [["Year", "Revenue"], ["2023", "$10M"]].
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/import_data_from_sheet">
|
||||
**الوصف:** استيراد البيانات من Google Sheet إلى العرض التقديمي.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `sheetId` (string, مطلوب): معرّف Google Sheet المراد الاستيراد منه.
|
||||
- `dataRange` (string, مطلوب): نطاق البيانات المراد استيرادها من الورقة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/upload_file_to_drive">
|
||||
**الوصف:** رفع ملف إلى Google Drive المرتبط بالعرض التقديمي.
|
||||
|
||||
**المعاملات:**
|
||||
- `file` (string, مطلوب): بيانات الملف المراد رفعها.
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي لربط الملف المرفوع.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/link_file_to_presentation">
|
||||
**الوصف:** ربط ملف في Google Drive بالعرض التقديمي.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي.
|
||||
- `fileId` (string, مطلوب): معرّف الملف المراد ربطه.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/get_all_presentations">
|
||||
**الوصف:** عرض قائمة بجميع العروض التقديمية المتاحة للمستخدم.
|
||||
|
||||
**المعاملات:**
|
||||
- `pageSize` (integer, اختياري): عدد العروض التقديمية المراد إرجاعها لكل صفحة.
|
||||
- `pageToken` (string, اختياري): رمز للترقيم.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="google_slides/delete_presentation">
|
||||
**الوصف:** حذف عرض تقديمي بواسطة المعرّف.
|
||||
|
||||
**المعاملات:**
|
||||
- `presentationId` (string, مطلوب): معرّف العرض التقديمي المراد حذفه.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Google Slides
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Google Slides capabilities
|
||||
slides_agent = Agent(
|
||||
role="Presentation Manager",
|
||||
goal="Create and manage presentations efficiently",
|
||||
backstory="An AI assistant specialized in presentation creation and content management.",
|
||||
apps=['google_slides'] # All Google Slides actions will be available
|
||||
)
|
||||
|
||||
# Task to create a presentation
|
||||
create_presentation_task = Task(
|
||||
description="Create a new presentation for the quarterly business review with key slides",
|
||||
agent=slides_agent,
|
||||
expected_output="Quarterly business review presentation created with structured content"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[slides_agent],
|
||||
tasks=[create_presentation_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### إدارة محتوى العروض التقديمية
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
content_manager = Agent(
|
||||
role="Content Manager",
|
||||
goal="Manage presentation content and updates",
|
||||
backstory="An AI assistant that focuses on content creation and presentation updates.",
|
||||
apps=[
|
||||
'google_slides/create_blank_presentation',
|
||||
'google_slides/batch_update_presentation',
|
||||
'google_slides/get_presentation'
|
||||
]
|
||||
)
|
||||
|
||||
# Task to create and update presentations
|
||||
content_task = Task(
|
||||
description="Create a new presentation and add content slides with charts and text",
|
||||
agent=content_manager,
|
||||
expected_output="Presentation created with updated content and visual elements"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[content_manager],
|
||||
tasks=[content_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## استكشاف الأخطاء وإصلاحها
|
||||
|
||||
### المشاكل الشائعة
|
||||
|
||||
**أخطاء الصلاحيات**
|
||||
|
||||
- تأكد من أن حساب Google الخاص بك لديه الصلاحيات المناسبة لـ Google Slides
|
||||
- تحقق من أن اتصال OAuth يتضمن النطاقات المطلوبة للعروض التقديمية وجداول البيانات وDrive
|
||||
|
||||
**مشاكل معرّف العرض التقديمي**
|
||||
|
||||
- تحقق من صحة معرّفات العروض التقديمية ووجودها
|
||||
- تأكد من أن لديك صلاحيات الوصول للعروض التقديمية التي تحاول تعديلها
|
||||
|
||||
**مشاكل تحديث المحتوى**
|
||||
|
||||
- تأكد من صحة تنسيق طلبات التحديث الدفعي وفقاً لمواصفات Google Slides API
|
||||
- تحقق من وجود معرّفات الكائنات للشرائح والعناصر في العرض التقديمي
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Google Slides
|
||||
أو استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
360
docs/ar/enterprise/integrations/hubspot.mdx
Normal file
360
docs/ar/enterprise/integrations/hubspot.mdx
Normal file
@@ -0,0 +1,360 @@
|
||||
---
|
||||
title: تكامل HubSpot
|
||||
description: "إدارة الشركات وجهات الاتصال في HubSpot مع CrewAI."
|
||||
icon: "briefcase"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة الشركات وجهات الاتصال داخل HubSpot. أنشئ سجلات جديدة وبسّط عمليات CRM باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل HubSpot، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال.
|
||||
- حساب HubSpot بالصلاحيات المناسبة.
|
||||
- ربط حساب HubSpot الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors).
|
||||
|
||||
## إعداد تكامل HubSpot
|
||||
|
||||
### 1. ربط حساب HubSpot الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors).
|
||||
2. ابحث عن **HubSpot** في قسم تكاملات المصادقة.
|
||||
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="hubspot/create_company">
|
||||
**الوصف:** إنشاء سجل شركة جديد في HubSpot.
|
||||
|
||||
**المعاملات:**
|
||||
- `name` (string, مطلوب): اسم الشركة.
|
||||
- `domain` (string, اختياري): اسم نطاق الشركة.
|
||||
- `industry` (string, اختياري): القطاع.
|
||||
- `phone` (string, اختياري): رقم الهاتف.
|
||||
- `hubspot_owner_id` (string, اختياري): معرّف مالك الشركة.
|
||||
- `type` (string, اختياري): نوع الشركة. القيم المتاحة: `PROSPECT`, `PARTNER`, `RESELLER`, `VENDOR`, `OTHER`.
|
||||
- `city` (string, اختياري): المدينة.
|
||||
- `state` (string, اختياري): الولاية/المنطقة.
|
||||
- `zip` (string, اختياري): الرمز البريدي.
|
||||
- `numberofemployees` (number, اختياري): عدد الموظفين.
|
||||
- `annualrevenue` (number, اختياري): الإيرادات السنوية.
|
||||
- `description` (string, اختياري): الوصف.
|
||||
- `website` (string, اختياري): عنوان URL للموقع الإلكتروني.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/create_contact">
|
||||
**الوصف:** إنشاء سجل جهة اتصال جديد في HubSpot.
|
||||
|
||||
**المعاملات:**
|
||||
- `email` (string, مطلوب): عنوان البريد الإلكتروني لجهة الاتصال.
|
||||
- `firstname` (string, اختياري): الاسم الأول.
|
||||
- `lastname` (string, اختياري): اسم العائلة.
|
||||
- `phone` (string, اختياري): رقم الهاتف.
|
||||
- `hubspot_owner_id` (string, اختياري): مالك جهة الاتصال.
|
||||
- `lifecyclestage` (string, اختياري): مرحلة دورة الحياة. القيم المتاحة: `subscriber`, `lead`, `marketingqualifiedlead`, `salesqualifiedlead`, `opportunity`, `customer`, `evangelist`, `other`.
|
||||
- `company` (string, اختياري): اسم الشركة.
|
||||
- `jobtitle` (string, اختياري): المسمى الوظيفي.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/create_deal">
|
||||
**الوصف:** إنشاء سجل صفقة جديد في HubSpot.
|
||||
|
||||
**المعاملات:**
|
||||
- `dealname` (string, مطلوب): اسم الصفقة.
|
||||
- `amount` (number, اختياري): قيمة الصفقة.
|
||||
- `dealstage` (string, اختياري): مرحلة مسار الصفقة.
|
||||
- `pipeline` (string, اختياري): مسار المبيعات الذي تنتمي إليه الصفقة.
|
||||
- `closedate` (string, اختياري): التاريخ المتوقع لإغلاق الصفقة.
|
||||
- `hubspot_owner_id` (string, اختياري): مالك الصفقة.
|
||||
- `dealtype` (string, اختياري): نوع الصفقة. القيم المتاحة: `newbusiness`, `existingbusiness`.
|
||||
- `description` (string, اختياري): وصف الصفقة.
|
||||
- `hs_priority` (string, اختياري): أولوية الصفقة. القيم المتاحة: `low`, `medium`, `high`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/create_record_engagements">
|
||||
**الوصف:** إنشاء تفاعل جديد (مثل ملاحظة، بريد إلكتروني، مكالمة، اجتماع، مهمة) في HubSpot.
|
||||
|
||||
**المعاملات:**
|
||||
- `engagementType` (string, مطلوب): نوع التفاعل. القيم المتاحة: `NOTE`, `EMAIL`, `CALL`, `MEETING`, `TASK`.
|
||||
- `hubspot_owner_id` (string, اختياري): المستخدم المعيّن للنشاط.
|
||||
- `hs_timestamp` (string, اختياري): تاريخ ووقت النشاط.
|
||||
- `hs_note_body` (string, اختياري): نص الملاحظة. (يُستخدم لـ `NOTE`)
|
||||
- `hs_task_subject` (string, اختياري): عنوان المهمة. (يُستخدم لـ `TASK`)
|
||||
- `hs_meeting_title` (string, اختياري): عنوان الاجتماع. (يُستخدم لـ `MEETING`)
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/update_company">
|
||||
**الوصف:** تحديث سجل شركة موجود في HubSpot.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف الشركة المراد تحديثها.
|
||||
- `name` (string, اختياري): اسم الشركة.
|
||||
- `domain` (string, اختياري): اسم نطاق الشركة.
|
||||
- `industry` (string, اختياري): القطاع.
|
||||
- `phone` (string, اختياري): رقم الهاتف.
|
||||
- `description` (string, اختياري): الوصف.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/update_contact">
|
||||
**الوصف:** تحديث سجل جهة اتصال موجود في HubSpot.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف جهة الاتصال المراد تحديثها.
|
||||
- `firstname` (string, اختياري): الاسم الأول.
|
||||
- `lastname` (string, اختياري): اسم العائلة.
|
||||
- `email` (string, اختياري): عنوان البريد الإلكتروني.
|
||||
- `phone` (string, اختياري): رقم الهاتف.
|
||||
- `company` (string, اختياري): اسم الشركة.
|
||||
- `jobtitle` (string, اختياري): المسمى الوظيفي.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/update_deal">
|
||||
**الوصف:** تحديث سجل صفقة موجود في HubSpot.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف الصفقة المراد تحديثها.
|
||||
- `dealname` (string, اختياري): اسم الصفقة.
|
||||
- `amount` (number, اختياري): قيمة الصفقة.
|
||||
- `dealstage` (string, اختياري): مرحلة مسار الصفقة.
|
||||
- `closedate` (string, اختياري): تاريخ الإغلاق المتوقع.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/list_companies">
|
||||
**الوصف:** الحصول على قائمة بسجلات الشركات من HubSpot.
|
||||
|
||||
**المعاملات:**
|
||||
- `paginationParameters` (object, اختياري): استخدم `pageCursor` لجلب الصفحات اللاحقة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/list_contacts">
|
||||
**الوصف:** الحصول على قائمة بسجلات جهات الاتصال من HubSpot.
|
||||
|
||||
**المعاملات:**
|
||||
- `paginationParameters` (object, اختياري): استخدم `pageCursor` لجلب الصفحات اللاحقة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/list_deals">
|
||||
**الوصف:** الحصول على قائمة بسجلات الصفقات من HubSpot.
|
||||
|
||||
**المعاملات:**
|
||||
- `paginationParameters` (object, اختياري): استخدم `pageCursor` لجلب الصفحات اللاحقة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/get_company">
|
||||
**الوصف:** الحصول على سجل شركة واحد بواسطة معرّفه.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف الشركة المراد استرجاعها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/get_contact">
|
||||
**الوصف:** الحصول على سجل جهة اتصال واحد بواسطة معرّفه.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف جهة الاتصال المراد استرجاعها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/get_deal">
|
||||
**الوصف:** الحصول على سجل صفقة واحد بواسطة معرّفه.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف الصفقة المراد استرجاعها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/search_companies">
|
||||
**الوصف:** البحث عن سجلات الشركات في HubSpot باستخدام صيغة فلتر.
|
||||
|
||||
**المعاملات:**
|
||||
- `filterFormula` (object, اختياري): فلتر بصيغة التعبير العادي المنفصل (OR لمجموعات AND).
|
||||
- `paginationParameters` (object, اختياري): استخدم `pageCursor` لجلب الصفحات اللاحقة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/search_contacts">
|
||||
**الوصف:** البحث عن سجلات جهات الاتصال في HubSpot باستخدام صيغة فلتر.
|
||||
|
||||
**المعاملات:**
|
||||
- `filterFormula` (object, اختياري): فلتر بصيغة التعبير العادي المنفصل (OR لمجموعات AND).
|
||||
- `paginationParameters` (object, اختياري): استخدم `pageCursor` لجلب الصفحات اللاحقة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/search_deals">
|
||||
**الوصف:** البحث عن سجلات الصفقات في HubSpot باستخدام صيغة فلتر.
|
||||
|
||||
**المعاملات:**
|
||||
- `filterFormula` (object, اختياري): فلتر بصيغة التعبير العادي المنفصل (OR لمجموعات AND).
|
||||
- `paginationParameters` (object, اختياري): استخدم `pageCursor` لجلب الصفحات اللاحقة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/delete_record_companies">
|
||||
**الوصف:** حذف سجل شركة بواسطة معرّفه.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف الشركة المراد حذفها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/delete_record_contacts">
|
||||
**الوصف:** حذف سجل جهة اتصال بواسطة معرّفه.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف جهة الاتصال المراد حذفها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/delete_record_deals">
|
||||
**الوصف:** حذف سجل صفقة بواسطة معرّفه.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف الصفقة المراد حذفها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="hubspot/describe_action_schema">
|
||||
**الوصف:** الحصول على المخطط المتوقع لنوع كائن وعملية معينة.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordType` (string, مطلوب): معرّف نوع الكائن (مثال: 'companies').
|
||||
- `operation` (string, مطلوب): نوع العملية (مثال: 'CREATE_RECORD').
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ HubSpot
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with HubSpot capabilities
|
||||
hubspot_agent = Agent(
|
||||
role="CRM Manager",
|
||||
goal="Manage company and contact records in HubSpot",
|
||||
backstory="An AI assistant specialized in CRM management.",
|
||||
apps=['hubspot'] # All HubSpot actions will be available
|
||||
)
|
||||
|
||||
# Task to create a new company
|
||||
create_company_task = Task(
|
||||
description="Create a new company in HubSpot with name 'Innovate Corp' and domain 'innovatecorp.com'.",
|
||||
agent=hubspot_agent,
|
||||
expected_output="Company created successfully with confirmation"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[hubspot_agent],
|
||||
tasks=[create_company_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### تصفية أدوات HubSpot المحددة
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create agent with specific HubSpot actions only
|
||||
contact_creator = Agent(
|
||||
role="Contact Creator",
|
||||
goal="Create new contacts in HubSpot",
|
||||
backstory="An AI assistant that focuses on creating new contact entries in the CRM.",
|
||||
apps=['hubspot/create_contact'] # Only contact creation action
|
||||
)
|
||||
|
||||
# Task to create a contact
|
||||
create_contact = Task(
|
||||
description="Create a new contact for 'John Doe' with email 'john.doe@example.com'.",
|
||||
agent=contact_creator,
|
||||
expected_output="Contact created successfully in HubSpot."
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[contact_creator],
|
||||
tasks=[create_contact]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### إدارة جهات الاتصال
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create agent with HubSpot contact management capabilities
|
||||
crm_manager = Agent(
|
||||
role="CRM Manager",
|
||||
goal="Manage and organize HubSpot contacts efficiently.",
|
||||
backstory="An experienced CRM manager who maintains an organized contact database.",
|
||||
apps=['hubspot'] # All HubSpot actions including contact management
|
||||
)
|
||||
|
||||
# Task to manage contacts
|
||||
contact_task = Task(
|
||||
description="Create a new contact for 'Jane Smith' at 'Global Tech Inc.' with email 'jane.smith@globaltech.com'.",
|
||||
agent=crm_manager,
|
||||
expected_output="Contact database updated with the new contact."
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[crm_manager],
|
||||
tasks=[contact_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل HubSpot أو
|
||||
استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
248
docs/ar/enterprise/integrations/jira.mdx
Normal file
248
docs/ar/enterprise/integrations/jira.mdx
Normal file
@@ -0,0 +1,248 @@
|
||||
---
|
||||
title: تكامل Jira
|
||||
description: "تتبع المشكلات وإدارة المشاريع مع تكامل Jira لـ CrewAI."
|
||||
icon: "bug"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة المشكلات والمشاريع وسير العمل عبر Jira. أنشئ المشكلات وحدّثها، وتتبع تقدم المشاريع، وأدر التعيينات، وبسّط إدارة مشاريعك باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Jira، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Jira بصلاحيات المشروع المناسبة
|
||||
- ربط حساب Jira الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Jira
|
||||
|
||||
### 1. ربط حساب Jira الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Jira** في قسم تكاملات المصادقة
|
||||
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="jira/create_issue">
|
||||
**الوصف:** إنشاء مشكلة في Jira.
|
||||
|
||||
**المعاملات:**
|
||||
- `summary` (string, مطلوب): الملخص - ملخص موجز من سطر واحد للمشكلة. (مثال: "The printer stopped working").
|
||||
- `project` (string, اختياري): المشروع - المشروع الذي تنتمي إليه المشكلة.
|
||||
- `issueType` (string, اختياري): نوع المشكلة - الافتراضي هو Task.
|
||||
- `jiraIssueStatus` (string, اختياري): الحالة - الافتراضي هو أول حالة في المشروع.
|
||||
- `assignee` (string, اختياري): المكلّف - الافتراضي هو المستخدم المصادق عليه.
|
||||
- `description` (string, اختياري): الوصف - وصف تفصيلي للمشكلة.
|
||||
- `additionalFields` (string, اختياري): حقول إضافية - حدد أي حقول أخرى بصيغة JSON.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="jira/update_issue">
|
||||
**الوصف:** تحديث مشكلة في Jira.
|
||||
|
||||
**المعاملات:**
|
||||
- `issueKey` (string, مطلوب): مفتاح المشكلة (مثال: "TEST-1234").
|
||||
- `summary` (string, اختياري): الملخص.
|
||||
- `issueType` (string, اختياري): نوع المشكلة.
|
||||
- `jiraIssueStatus` (string, اختياري): الحالة.
|
||||
- `assignee` (string, اختياري): المكلّف.
|
||||
- `description` (string, اختياري): الوصف.
|
||||
- `additionalFields` (string, اختياري): حقول إضافية بصيغة JSON.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="jira/get_issue_by_key">
|
||||
**الوصف:** الحصول على مشكلة بواسطة المفتاح في Jira.
|
||||
|
||||
**المعاملات:**
|
||||
- `issueKey` (string, مطلوب): مفتاح المشكلة (مثال: "TEST-1234").
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="jira/filter_issues">
|
||||
**الوصف:** البحث عن المشكلات في Jira باستخدام الفلاتر.
|
||||
|
||||
**المعاملات:**
|
||||
- `jqlQuery` (object, اختياري): فلتر بصيغة التعبير العادي المنفصل.
|
||||
- `limit` (string, اختياري): حدود النتائج - الافتراضي 10.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="jira/search_by_jql">
|
||||
**الوصف:** البحث عن المشكلات بواسطة JQL في Jira.
|
||||
|
||||
**المعاملات:**
|
||||
- `jqlQuery` (string, مطلوب): استعلام JQL (مثال: "project = PROJECT").
|
||||
- `paginationParameters` (object, اختياري): معاملات الترقيم.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="jira/describe_action_schema">
|
||||
**الوصف:** الحصول على المخطط المتوقع لنوع مشكلة.
|
||||
|
||||
**المعاملات:**
|
||||
- `issueTypeId` (string, مطلوب): معرّف نوع المشكلة.
|
||||
- `projectKey` (string, مطلوب): مفتاح المشروع.
|
||||
- `operation` (string, مطلوب): نوع العملية، مثال CREATE_ISSUE أو UPDATE_ISSUE.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="jira/get_projects">
|
||||
**الوصف:** الحصول على المشاريع في Jira.
|
||||
|
||||
**المعاملات:**
|
||||
- `paginationParameters` (object, اختياري): معاملات الترقيم.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="jira/get_issue_types_by_project">
|
||||
**الوصف:** الحصول على أنواع المشكلات بواسطة المشروع في Jira.
|
||||
|
||||
**المعاملات:**
|
||||
- `project` (string, مطلوب): مفتاح المشروع.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="jira/get_issue_types">
|
||||
**الوصف:** الحصول على جميع أنواع المشكلات في Jira.
|
||||
|
||||
**المعاملات:** لا توجد معاملات مطلوبة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="jira/get_issue_status_by_project">
|
||||
**الوصف:** الحصول على حالات المشكلات لمشروع معين.
|
||||
|
||||
**المعاملات:**
|
||||
- `project` (string, مطلوب): مفتاح المشروع.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="jira/get_all_assignees_by_project">
|
||||
**الوصف:** الحصول على المكلّفين لمشروع معين.
|
||||
|
||||
**المعاملات:**
|
||||
- `project` (string, مطلوب): مفتاح المشروع.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Jira
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Jira capabilities
|
||||
jira_agent = Agent(
|
||||
role="Issue Manager",
|
||||
goal="Manage Jira issues and track project progress efficiently",
|
||||
backstory="An AI assistant specialized in issue tracking and project management.",
|
||||
apps=['jira'] # All Jira actions will be available
|
||||
)
|
||||
|
||||
# Task to create a bug report
|
||||
create_bug_task = Task(
|
||||
description="Create a bug report for the login functionality with high priority and assign it to the development team",
|
||||
agent=jira_agent,
|
||||
expected_output="Bug report created successfully with issue key"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[jira_agent],
|
||||
tasks=[create_bug_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### تحليل المشاريع وإعداد التقارير
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
project_analyst = Agent(
|
||||
role="Project Analyst",
|
||||
goal="Analyze project data and generate insights from Jira",
|
||||
backstory="An experienced project analyst who extracts insights from project management data.",
|
||||
apps=['jira']
|
||||
)
|
||||
|
||||
# Task to analyze project status
|
||||
analysis_task = Task(
|
||||
description="""
|
||||
1. Get all projects and their issue types
|
||||
2. Search for all open issues across projects
|
||||
3. Analyze issue distribution by status and assignee
|
||||
4. Create a summary report issue with findings
|
||||
""",
|
||||
agent=project_analyst,
|
||||
expected_output="Project analysis completed with summary report created"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[project_analyst],
|
||||
tasks=[analysis_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## استكشاف الأخطاء وإصلاحها
|
||||
|
||||
### المشاكل الشائعة
|
||||
|
||||
**أخطاء الصلاحيات**
|
||||
|
||||
- تأكد من أن حساب Jira الخاص بك لديه الصلاحيات اللازمة للمشاريع المستهدفة
|
||||
- تحقق من أن اتصال OAuth يتضمن النطاقات المطلوبة لـ Jira API
|
||||
|
||||
**مفاتيح المشاريع أو المشكلات غير الصالحة**
|
||||
|
||||
- تحقق جيداً من مفاتيح المشاريع ومفاتيح المشكلات للتأكد من صحة الصيغة (مثال: "PROJ-123")
|
||||
- تأكد من وجود المشاريع وإمكانية الوصول إليها من حسابك
|
||||
|
||||
**مشاكل استعلام JQL**
|
||||
|
||||
- اختبر استعلامات JQL في بحث مشكلات Jira قبل استخدامها في استدعاءات API
|
||||
- تأكد من صحة إملاء أسماء الحقول في JQL ووجودها في مثيل Jira الخاص بك
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Jira أو
|
||||
استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
261
docs/ar/enterprise/integrations/linear.mdx
Normal file
261
docs/ar/enterprise/integrations/linear.mdx
Normal file
@@ -0,0 +1,261 @@
|
||||
---
|
||||
title: تكامل Linear
|
||||
description: "إدارة المشاريع البرمجية وتتبع الأخطاء مع تكامل Linear لـ CrewAI."
|
||||
icon: "list-check"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة المشكلات والمشاريع وسير عمل التطوير عبر Linear. أنشئ المشكلات وحدّثها، وأدر جداول المشاريع الزمنية، ونظّم الفرق، وبسّط عملية تطوير البرمجيات باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Linear، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Linear بصلاحيات مساحة العمل المناسبة
|
||||
- ربط حساب Linear الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Linear
|
||||
|
||||
### 1. ربط حساب Linear الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Linear** في قسم تكاملات المصادقة
|
||||
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="linear/create_issue">
|
||||
**الوصف:** إنشاء مشكلة جديدة في Linear.
|
||||
|
||||
**المعاملات:**
|
||||
- `teamId` (string, مطلوب): معرّف الفريق للمشكلة الجديدة.
|
||||
- `title` (string, مطلوب): العنوان.
|
||||
- `description` (string, اختياري): الوصف.
|
||||
- `statusId` (string, اختياري): الحالة.
|
||||
- `priority` (string, اختياري): الأولوية كعدد صحيح.
|
||||
- `dueDate` (string, اختياري): تاريخ الاستحقاق بصيغة ISO 8601.
|
||||
- `cycleId` (string, اختياري): معرّف الدورة المرتبطة.
|
||||
- `additionalFields` (object, اختياري): حقول إضافية.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="linear/update_issue">
|
||||
**الوصف:** تحديث مشكلة في Linear.
|
||||
|
||||
**المعاملات:**
|
||||
- `issueId` (string, مطلوب): معرّف المشكلة المراد تحديثها.
|
||||
- `title` (string, اختياري): العنوان.
|
||||
- `description` (string, اختياري): الوصف.
|
||||
- `statusId` (string, اختياري): الحالة.
|
||||
- `priority` (string, اختياري): الأولوية.
|
||||
- `dueDate` (string, اختياري): تاريخ الاستحقاق.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="linear/get_issue_by_id">
|
||||
**الوصف:** الحصول على مشكلة بواسطة المعرّف في Linear.
|
||||
|
||||
**المعاملات:**
|
||||
- `issueId` (string, مطلوب): معرّف المشكلة المراد جلبها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="linear/search_issue">
|
||||
**الوصف:** البحث عن المشكلات في Linear.
|
||||
|
||||
**المعاملات:**
|
||||
- `queryTerm` (string, مطلوب): مصطلح البحث.
|
||||
- `issueFilterFormula` (object, اختياري): فلتر بصيغة التعبير العادي المنفصل.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="linear/delete_issue">
|
||||
**الوصف:** حذف مشكلة في Linear.
|
||||
|
||||
**المعاملات:**
|
||||
- `issueId` (string, مطلوب): معرّف المشكلة المراد حذفها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="linear/archive_issue">
|
||||
**الوصف:** أرشفة مشكلة في Linear.
|
||||
|
||||
**المعاملات:**
|
||||
- `issueId` (string, مطلوب): معرّف المشكلة المراد أرشفتها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="linear/create_sub_issue">
|
||||
**الوصف:** إنشاء مشكلة فرعية في Linear.
|
||||
|
||||
**المعاملات:**
|
||||
- `parentId` (string, مطلوب): معرّف المشكلة الأصلية.
|
||||
- `teamId` (string, مطلوب): معرّف الفريق.
|
||||
- `title` (string, مطلوب): العنوان.
|
||||
- `description` (string, اختياري): الوصف.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="linear/create_project">
|
||||
**الوصف:** إنشاء مشروع جديد في Linear.
|
||||
|
||||
**المعاملات:**
|
||||
- `teamIds` (object, مطلوب): معرّف (معرّفات) الفريق المرتبطة بالمشروع.
|
||||
- `projectName` (string, مطلوب): اسم المشروع.
|
||||
- `description` (string, اختياري): وصف المشروع.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="linear/update_project">
|
||||
**الوصف:** تحديث مشروع في Linear.
|
||||
|
||||
**المعاملات:**
|
||||
- `projectId` (string, مطلوب): معرّف المشروع المراد تحديثه.
|
||||
- `projectName` (string, اختياري): اسم المشروع.
|
||||
- `description` (string, اختياري): وصف المشروع.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="linear/get_project_by_id">
|
||||
**الوصف:** الحصول على مشروع بواسطة المعرّف في Linear.
|
||||
|
||||
**المعاملات:**
|
||||
- `projectId` (string, مطلوب): معرّف المشروع المراد جلبه.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="linear/delete_project">
|
||||
**الوصف:** حذف مشروع في Linear.
|
||||
|
||||
**المعاملات:**
|
||||
- `projectId` (string, مطلوب): معرّف المشروع المراد حذفه.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="linear/search_teams">
|
||||
**الوصف:** البحث عن الفرق في Linear.
|
||||
|
||||
**المعاملات:**
|
||||
- `teamFilterFormula` (object, اختياري): فلتر بصيغة التعبير العادي المنفصل.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Linear
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Linear capabilities
|
||||
linear_agent = Agent(
|
||||
role="Development Manager",
|
||||
goal="Manage Linear issues and track development progress efficiently",
|
||||
backstory="An AI assistant specialized in software development project management.",
|
||||
apps=['linear'] # All Linear actions will be available
|
||||
)
|
||||
|
||||
# Task to create a bug report
|
||||
create_bug_task = Task(
|
||||
description="Create a high-priority bug report for the authentication system and assign it to the backend team",
|
||||
agent=linear_agent,
|
||||
expected_output="Bug report created successfully with issue ID"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[linear_agent],
|
||||
tasks=[create_bug_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### إدارة المشاريع والفرق
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
project_coordinator = Agent(
|
||||
role="Project Coordinator",
|
||||
goal="Coordinate projects and teams in Linear efficiently",
|
||||
backstory="An experienced project coordinator who manages development cycles and team workflows.",
|
||||
apps=['linear']
|
||||
)
|
||||
|
||||
# Task to coordinate project setup
|
||||
project_coordination = Task(
|
||||
description="""
|
||||
1. Search for engineering teams in Linear
|
||||
2. Create a new project for Q2 feature development
|
||||
3. Associate the project with relevant teams
|
||||
4. Create initial project milestones as issues
|
||||
""",
|
||||
agent=project_coordinator,
|
||||
expected_output="Q2 project created with teams assigned and initial milestones established"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[project_coordinator],
|
||||
tasks=[project_coordination]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## استكشاف الأخطاء وإصلاحها
|
||||
|
||||
### المشاكل الشائعة
|
||||
|
||||
**أخطاء الصلاحيات**
|
||||
|
||||
- تأكد من أن حساب Linear الخاص بك لديه الصلاحيات اللازمة لمساحة العمل المستهدفة
|
||||
- تحقق من أن اتصال OAuth يتضمن النطاقات المطلوبة لـ Linear API
|
||||
|
||||
**معرّفات ومراجع غير صالحة**
|
||||
|
||||
- تحقق جيداً من معرّفات الفرق والمشكلات والمشاريع للتأكد من صحة صيغة UUID
|
||||
- تأكد من وجود الكيانات المشار إليها وإمكانية الوصول إليها
|
||||
|
||||
**مشاكل التاريخ والوقت**
|
||||
|
||||
- استخدم صيغة ISO 8601 لتواريخ الاستحقاق والطوابع الزمنية
|
||||
- تأكد من معالجة المناطق الزمنية بشكل صحيح
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Linear أو
|
||||
استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
269
docs/ar/enterprise/integrations/microsoft_excel.mdx
Normal file
269
docs/ar/enterprise/integrations/microsoft_excel.mdx
Normal file
@@ -0,0 +1,269 @@
|
||||
---
|
||||
title: تكامل Microsoft Excel
|
||||
description: "إدارة المصنفات والبيانات مع تكامل Microsoft Excel لـ CrewAI."
|
||||
icon: "table"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إنشاء وإدارة مصنفات Excel وأوراق العمل والجداول والرسوم البيانية في OneDrive أو SharePoint. تعامل مع نطاقات البيانات، وأنشئ المرئيات، وأدر الجداول، وبسّط سير عمل جداول البيانات باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Microsoft Excel، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Microsoft 365 مع إمكانية الوصول إلى Excel وOneDrive/SharePoint
|
||||
- ربط حساب Microsoft الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Microsoft Excel
|
||||
|
||||
### 1. ربط حساب Microsoft الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Microsoft Excel** في قسم تكاملات المصادقة
|
||||
3. انقر على **Connect** وأكمل عملية OAuth
|
||||
4. امنح الصلاحيات اللازمة للوصول إلى الملفات ومصنفات Excel
|
||||
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_excel/create_workbook">
|
||||
**الوصف:** إنشاء مصنف Excel جديد في OneDrive أو SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_path` (string, مطلوب): المسار حيث يتم إنشاء المصنف (مثال: 'MyWorkbook.xlsx')
|
||||
- `worksheets` (array, اختياري): أوراق العمل الأولية المراد إنشاؤها
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/get_workbooks">
|
||||
**الوصف:** الحصول على جميع مصنفات Excel من OneDrive أو SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `select` (string, اختياري): اختيار خصائص محددة للإرجاع
|
||||
- `filter` (string, اختياري): تصفية النتائج باستخدام صيغة OData
|
||||
- `top` (integer, اختياري): عدد العناصر المراد إرجاعها. الحد الأدنى: 1، الحد الأقصى: 999
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/get_worksheets">
|
||||
**الوصف:** الحصول على جميع أوراق العمل في مصنف Excel.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف ملف Excel
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/create_worksheet">
|
||||
**الوصف:** إنشاء ورقة عمل جديدة في مصنف Excel.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف ملف Excel
|
||||
- `name` (string, مطلوب): اسم ورقة العمل الجديدة
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/get_range_data">
|
||||
**الوصف:** الحصول على البيانات من نطاق محدد في ورقة عمل Excel.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف ملف Excel
|
||||
- `worksheet_name` (string, مطلوب): اسم ورقة العمل
|
||||
- `range` (string, مطلوب): عنوان النطاق (مثال: 'A1:C10')
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/update_range_data">
|
||||
**الوصف:** تحديث البيانات في نطاق محدد في ورقة عمل Excel.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف ملف Excel
|
||||
- `worksheet_name` (string, مطلوب): اسم ورقة العمل
|
||||
- `range` (string, مطلوب): عنوان النطاق (مثال: 'A1:C10')
|
||||
- `values` (array, مطلوب): مصفوفة ثنائية الأبعاد من القيم لتعيينها في النطاق
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/add_table">
|
||||
**الوصف:** إنشاء جدول في ورقة عمل Excel.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف ملف Excel
|
||||
- `worksheet_name` (string, مطلوب): اسم ورقة العمل
|
||||
- `range` (string, مطلوب): النطاق للجدول (مثال: 'A1:D10')
|
||||
- `has_headers` (boolean, اختياري): ما إذا كان الصف الأول يحتوي على ترويسات. الافتراضي: true
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/add_table_row">
|
||||
**الوصف:** إضافة صف جديد إلى جدول Excel.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف ملف Excel
|
||||
- `worksheet_name` (string, مطلوب): اسم ورقة العمل
|
||||
- `table_name` (string, مطلوب): اسم الجدول
|
||||
- `values` (array, مطلوب): مصفوفة من القيم للصف الجديد
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/create_chart">
|
||||
**الوصف:** إنشاء رسم بياني في ورقة عمل Excel.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف ملف Excel
|
||||
- `worksheet_name` (string, مطلوب): اسم ورقة العمل
|
||||
- `chart_type` (string, مطلوب): نوع الرسم البياني (مثال: 'ColumnClustered', 'Line', 'Pie')
|
||||
- `source_data` (string, مطلوب): نطاق البيانات للرسم البياني (مثال: 'A1:B10')
|
||||
- `series_by` (string, اختياري): كيفية تفسير البيانات ('Auto', 'Columns', 'Rows'). الافتراضي: Auto
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/get_cell">
|
||||
**الوصف:** الحصول على قيمة خلية واحدة في ورقة عمل Excel.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف ملف Excel
|
||||
- `worksheet_name` (string, مطلوب): اسم ورقة العمل
|
||||
- `row` (integer, مطلوب): رقم الصف (قائم على الصفر)
|
||||
- `column` (integer, مطلوب): رقم العمود (قائم على الصفر)
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/get_used_range">
|
||||
**الوصف:** الحصول على النطاق المستخدم لورقة عمل Excel (يحتوي على جميع البيانات).
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف ملف Excel
|
||||
- `worksheet_name` (string, مطلوب): اسم ورقة العمل
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/get_tables">
|
||||
**الوصف:** الحصول على جميع الجداول في ورقة عمل Excel.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف ملف Excel
|
||||
- `worksheet_name` (string, مطلوب): اسم ورقة العمل
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/get_table_data">
|
||||
**الوصف:** الحصول على البيانات من جدول محدد في ورقة عمل Excel.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف ملف Excel
|
||||
- `worksheet_name` (string, مطلوب): اسم ورقة العمل
|
||||
- `table_name` (string, مطلوب): اسم الجدول
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/delete_worksheet">
|
||||
**الوصف:** حذف ورقة عمل من مصنف Excel.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف ملف Excel
|
||||
- `worksheet_name` (string, مطلوب): اسم ورقة العمل المراد حذفها
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/delete_table">
|
||||
**الوصف:** حذف جدول من ورقة عمل Excel.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف ملف Excel
|
||||
- `worksheet_name` (string, مطلوب): اسم ورقة العمل
|
||||
- `table_name` (string, مطلوب): اسم الجدول المراد حذفه
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_excel/list_names">
|
||||
**الوصف:** الحصول على جميع النطاقات المسماة في مصنف Excel.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف ملف Excel
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Excel
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Excel capabilities
|
||||
excel_agent = Agent(
|
||||
role="Excel Data Manager",
|
||||
goal="Manage Excel workbooks and data efficiently",
|
||||
backstory="An AI assistant specialized in Excel data management and analysis.",
|
||||
apps=['microsoft_excel'] # All Excel actions will be available
|
||||
)
|
||||
|
||||
# Task to create and populate a workbook
|
||||
data_management_task = Task(
|
||||
description="Create a new sales report workbook with data analysis and charts",
|
||||
agent=excel_agent,
|
||||
expected_output="Excel workbook created with sales data, analysis, and visualizations"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[excel_agent],
|
||||
tasks=[data_management_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## استكشاف الأخطاء وإصلاحها
|
||||
|
||||
### المشاكل الشائعة
|
||||
|
||||
**أخطاء الصلاحيات**
|
||||
|
||||
- تأكد من أن حساب Microsoft الخاص بك لديه الصلاحيات المناسبة لـ Excel وOneDrive/SharePoint
|
||||
- تحقق من أن اتصال OAuth يتضمن النطاقات المطلوبة (Files.Read.All, Files.ReadWrite.All)
|
||||
|
||||
**مشاكل النطاق وورقة العمل**
|
||||
|
||||
- تحقق من وجود أسماء أوراق العمل في المصنف المحدد
|
||||
- تأكد من صحة تنسيق عناوين النطاقات (مثال: 'A1:C10')
|
||||
|
||||
**مشاكل الرسوم البيانية**
|
||||
|
||||
- تحقق من دعم أنواع الرسوم البيانية (ColumnClustered, Line, Pie، إلخ.)
|
||||
- تأكد من أن نطاقات بيانات المصدر تحتوي على بيانات مناسبة لنوع الرسم البياني
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Microsoft Excel
|
||||
أو استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
218
docs/ar/enterprise/integrations/microsoft_onedrive.mdx
Normal file
218
docs/ar/enterprise/integrations/microsoft_onedrive.mdx
Normal file
@@ -0,0 +1,218 @@
|
||||
---
|
||||
title: تكامل Microsoft OneDrive
|
||||
description: "إدارة الملفات والمجلدات مع تكامل Microsoft OneDrive لـ CrewAI."
|
||||
icon: "cloud"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من رفع وتحميل وإدارة الملفات والمجلدات في Microsoft OneDrive. أتمت عمليات الملفات، ونظّم المحتوى، وأنشئ روابط المشاركة، وبسّط سير عمل التخزين السحابي باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Microsoft OneDrive، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Microsoft مع إمكانية الوصول إلى OneDrive
|
||||
- ربط حساب Microsoft الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Microsoft OneDrive
|
||||
|
||||
### 1. ربط حساب Microsoft الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Microsoft OneDrive** في قسم تكاملات المصادقة
|
||||
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="microsoft_onedrive/list_files">
|
||||
**الوصف:** عرض الملفات والمجلدات في OneDrive.
|
||||
|
||||
**المعاملات:**
|
||||
- `top` (integer, اختياري): عدد العناصر المراد استرجاعها (الحد الأقصى 1000). الافتراضي: `50`.
|
||||
- `orderby` (string, اختياري): الترتيب حسب حقل (مثال: "name asc", "lastModifiedDateTime desc"). الافتراضي: "name asc".
|
||||
- `filter` (string, اختياري): تعبير فلتر OData.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_onedrive/get_file_info">
|
||||
**الوصف:** الحصول على معلومات حول ملف أو مجلد محدد.
|
||||
|
||||
**المعاملات:**
|
||||
- `item_id` (string, مطلوب): معرّف الملف أو المجلد.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_onedrive/download_file">
|
||||
**الوصف:** تحميل ملف من OneDrive.
|
||||
|
||||
**المعاملات:**
|
||||
- `item_id` (string, مطلوب): معرّف الملف المراد تحميله.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_onedrive/upload_file">
|
||||
**الوصف:** رفع ملف إلى OneDrive.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_name` (string, مطلوب): اسم الملف المراد رفعه.
|
||||
- `content` (string, مطلوب): محتوى الملف بترميز Base64.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_onedrive/create_folder">
|
||||
**الوصف:** إنشاء مجلد جديد في OneDrive.
|
||||
|
||||
**المعاملات:**
|
||||
- `folder_name` (string, مطلوب): اسم المجلد المراد إنشاؤه.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_onedrive/delete_item">
|
||||
**الوصف:** حذف ملف أو مجلد من OneDrive.
|
||||
|
||||
**المعاملات:**
|
||||
- `item_id` (string, مطلوب): معرّف الملف أو المجلد المراد حذفه.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_onedrive/copy_item">
|
||||
**الوصف:** نسخ ملف أو مجلد في OneDrive.
|
||||
|
||||
**المعاملات:**
|
||||
- `item_id` (string, مطلوب): معرّف الملف أو المجلد المراد نسخه.
|
||||
- `parent_id` (string, اختياري): معرّف مجلد الوجهة (اختياري، الافتراضي هو الجذر).
|
||||
- `new_name` (string, اختياري): الاسم الجديد للعنصر المنسوخ (اختياري).
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_onedrive/move_item">
|
||||
**الوصف:** نقل ملف أو مجلد في OneDrive.
|
||||
|
||||
**المعاملات:**
|
||||
- `item_id` (string, مطلوب): معرّف الملف أو المجلد المراد نقله.
|
||||
- `parent_id` (string, مطلوب): معرّف مجلد الوجهة.
|
||||
- `new_name` (string, اختياري): الاسم الجديد للعنصر (اختياري).
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_onedrive/search_files">
|
||||
**الوصف:** البحث عن الملفات والمجلدات في OneDrive.
|
||||
|
||||
**المعاملات:**
|
||||
- `query` (string, مطلوب): سلسلة استعلام البحث.
|
||||
- `top` (integer, اختياري): عدد النتائج المراد إرجاعها (الحد الأقصى 1000). الافتراضي: `50`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_onedrive/share_item">
|
||||
**الوصف:** إنشاء رابط مشاركة لملف أو مجلد.
|
||||
|
||||
**المعاملات:**
|
||||
- `item_id` (string, مطلوب): معرّف الملف أو المجلد المراد مشاركته.
|
||||
- `type` (string, اختياري): نوع رابط المشاركة. القيم: `view`, `edit`, `embed`. الافتراضي: `view`.
|
||||
- `scope` (string, اختياري): نطاق رابط المشاركة. القيم: `anonymous`, `organization`. الافتراضي: `anonymous`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_onedrive/get_recent_files">
|
||||
**الوصف:** الحصول على الملفات التي تم الوصول إليها مؤخراً من OneDrive.
|
||||
|
||||
**المعاملات:**
|
||||
- `top` (integer, اختياري): عدد العناصر المراد استرجاعها (الحد الأقصى 200). الافتراضي: `25`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_onedrive/get_shared_with_me">
|
||||
**الوصف:** الحصول على الملفات والمجلدات المشاركة مع المستخدم.
|
||||
|
||||
**المعاملات:**
|
||||
- `top` (integer, اختياري): عدد العناصر المراد استرجاعها (الحد الأقصى 200). الافتراضي: `50`.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Microsoft OneDrive
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Microsoft OneDrive capabilities
|
||||
onedrive_agent = Agent(
|
||||
role="File Manager",
|
||||
goal="Manage files and folders in OneDrive efficiently",
|
||||
backstory="An AI assistant specialized in Microsoft OneDrive file operations and organization.",
|
||||
apps=['microsoft_onedrive'] # All OneDrive actions will be available
|
||||
)
|
||||
|
||||
# Task to list files and create a folder
|
||||
organize_files_task = Task(
|
||||
description="List all files in my OneDrive root directory and create a new folder called 'Project Documents'.",
|
||||
agent=onedrive_agent,
|
||||
expected_output="List of files displayed and new folder 'Project Documents' created."
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[onedrive_agent],
|
||||
tasks=[organize_files_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## استكشاف الأخطاء وإصلاحها
|
||||
|
||||
### المشاكل الشائعة
|
||||
|
||||
**أخطاء المصادقة**
|
||||
|
||||
- تأكد من أن حساب Microsoft الخاص بك لديه الصلاحيات اللازمة للوصول إلى الملفات (مثال: `Files.Read`, `Files.ReadWrite`).
|
||||
- تحقق من أن اتصال OAuth يتضمن جميع النطاقات المطلوبة.
|
||||
|
||||
**مشاكل رفع الملفات**
|
||||
|
||||
- تأكد من توفير `file_name` و`content` لعمليات رفع الملفات.
|
||||
- يجب أن يكون المحتوى بترميز Base64 للملفات الثنائية.
|
||||
|
||||
**عمليات الملفات (النسخ/النقل)**
|
||||
|
||||
- لـ `move_item`، تأكد من توفير كل من `item_id` و`parent_id`.
|
||||
- تحقق من وجود مجلدات الوجهة وإمكانية الوصول إليها.
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Microsoft OneDrive
|
||||
أو استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
227
docs/ar/enterprise/integrations/microsoft_outlook.mdx
Normal file
227
docs/ar/enterprise/integrations/microsoft_outlook.mdx
Normal file
@@ -0,0 +1,227 @@
|
||||
---
|
||||
title: تكامل Microsoft Outlook
|
||||
description: "إدارة البريد الإلكتروني والتقويم وجهات الاتصال مع تكامل Microsoft Outlook لـ CrewAI."
|
||||
icon: "envelope"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من الوصول إلى رسائل Outlook الإلكترونية وأحداث التقويم وجهات الاتصال وإدارتها. أرسل رسائل البريد الإلكتروني، واسترجع الرسائل، وأدر أحداث التقويم، ونظّم جهات الاتصال باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Microsoft Outlook، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Microsoft مع إمكانية الوصول إلى Outlook
|
||||
- ربط حساب Microsoft الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Microsoft Outlook
|
||||
|
||||
### 1. ربط حساب Microsoft الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Microsoft Outlook** في قسم تكاملات المصادقة
|
||||
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="microsoft_outlook/get_messages">
|
||||
**الوصف:** الحصول على رسائل البريد الإلكتروني من صندوق بريد المستخدم.
|
||||
|
||||
**المعاملات:**
|
||||
- `top` (integer, اختياري): عدد الرسائل (الحد الأقصى 1000). الافتراضي: `10`.
|
||||
- `filter` (string, اختياري): تعبير فلتر OData (مثال: "isRead eq false").
|
||||
- `search` (string, اختياري): سلسلة استعلام البحث.
|
||||
- `orderby` (string, اختياري): الترتيب (مثال: "receivedDateTime desc"). الافتراضي: "receivedDateTime desc".
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_outlook/send_email">
|
||||
**الوصف:** إرسال رسالة بريد إلكتروني.
|
||||
|
||||
**المعاملات:**
|
||||
- `to_recipients` (array, مطلوب): مصفوفة عناوين المستلمين.
|
||||
- `subject` (string, مطلوب): موضوع البريد الإلكتروني.
|
||||
- `body` (string, مطلوب): محتوى البريد الإلكتروني.
|
||||
- `body_type` (string, اختياري): نوع المحتوى. القيم: `Text`, `HTML`. الافتراضي: `HTML`.
|
||||
- `importance` (string, اختياري): مستوى الأهمية. القيم: `low`, `normal`, `high`. الافتراضي: `normal`.
|
||||
- `cc_recipients` (array, اختياري): مصفوفة عناوين النسخة الكربونية.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_outlook/get_calendar_events">
|
||||
**الوصف:** الحصول على أحداث التقويم من تقويم المستخدم.
|
||||
|
||||
**المعاملات:**
|
||||
- `top` (integer, اختياري): عدد الأحداث (الحد الأقصى 1000). الافتراضي: `10`.
|
||||
- `filter` (string, اختياري): تعبير فلتر OData.
|
||||
- `orderby` (string, اختياري): الترتيب. الافتراضي: "start/dateTime asc".
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_outlook/create_calendar_event">
|
||||
**الوصف:** إنشاء حدث تقويم جديد.
|
||||
|
||||
**المعاملات:**
|
||||
- `subject` (string, مطلوب): موضوع/عنوان الحدث.
|
||||
- `start_datetime` (string, مطلوب): وقت البداية بصيغة ISO 8601.
|
||||
- `end_datetime` (string, مطلوب): وقت النهاية بصيغة ISO 8601.
|
||||
- `timezone` (string, اختياري): المنطقة الزمنية. الافتراضي: `UTC`.
|
||||
- `location` (string, اختياري): موقع الحدث.
|
||||
- `attendees` (array, اختياري): مصفوفة عناوين الحضور.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_outlook/get_contacts">
|
||||
**الوصف:** الحصول على جهات الاتصال من دفتر عناوين المستخدم.
|
||||
|
||||
**المعاملات:**
|
||||
- `top` (integer, اختياري): عدد جهات الاتصال (الحد الأقصى 1000). الافتراضي: `10`.
|
||||
- `filter` (string, اختياري): تعبير فلتر OData.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_outlook/create_contact">
|
||||
**الوصف:** إنشاء جهة اتصال جديدة في دفتر عناوين المستخدم.
|
||||
|
||||
**المعاملات:**
|
||||
- `displayName` (string, مطلوب): اسم العرض لجهة الاتصال.
|
||||
- `givenName` (string, اختياري): الاسم الأول.
|
||||
- `surname` (string, اختياري): اسم العائلة.
|
||||
- `emailAddresses` (array, اختياري): مصفوفة عناوين البريد الإلكتروني.
|
||||
- `jobTitle` (string, اختياري): المسمى الوظيفي.
|
||||
- `companyName` (string, اختياري): اسم الشركة.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_outlook/reply_to_email">
|
||||
**الوصف:** الرد على رسالة بريد إلكتروني.
|
||||
|
||||
**المعاملات:**
|
||||
- `message_id` (string, مطلوب): المعرّف الفريد للرسالة المراد الرد عليها.
|
||||
- `comment` (string, مطلوب): محتوى الرد.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_outlook/forward_email">
|
||||
**الوصف:** إعادة توجيه رسالة بريد إلكتروني.
|
||||
|
||||
**المعاملات:**
|
||||
- `message_id` (string, مطلوب): المعرّف الفريد للرسالة المراد إعادة توجيهها.
|
||||
- `to_recipients` (array, مطلوب): مصفوفة عناوين المستلمين.
|
||||
- `comment` (string, اختياري): رسالة اختيارية لتضمينها فوق المحتوى المُعاد توجيهه.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_outlook/delete_message">
|
||||
**الوصف:** حذف رسالة بريد إلكتروني.
|
||||
|
||||
**المعاملات:**
|
||||
- `message_id` (string, مطلوب): المعرّف الفريد للرسالة المراد حذفها.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_outlook/update_event">
|
||||
**الوصف:** تحديث حدث تقويم موجود.
|
||||
|
||||
**المعاملات:**
|
||||
- `event_id` (string, مطلوب): المعرّف الفريد للحدث.
|
||||
- `subject` (string, اختياري): الموضوع/العنوان الجديد.
|
||||
- `start_time` (string, اختياري): وقت البداية الجديد بصيغة ISO 8601.
|
||||
- `location` (string, اختياري): الموقع الجديد.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_outlook/delete_event">
|
||||
**الوصف:** حذف حدث تقويم.
|
||||
|
||||
**المعاملات:**
|
||||
- `event_id` (string, مطلوب): المعرّف الفريد للحدث المراد حذفه.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Microsoft Outlook
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Microsoft Outlook capabilities
|
||||
outlook_agent = Agent(
|
||||
role="Email Assistant",
|
||||
goal="Manage emails, calendar events, and contacts efficiently",
|
||||
backstory="An AI assistant specialized in Microsoft Outlook operations and communication management.",
|
||||
apps=['microsoft_outlook'] # All Outlook actions will be available
|
||||
)
|
||||
|
||||
# Task to send an email
|
||||
send_email_task = Task(
|
||||
description="Send an email to 'colleague@example.com' with subject 'Project Update' and body 'Hi, here is the latest project update. Best regards.'",
|
||||
agent=outlook_agent,
|
||||
expected_output="Email sent successfully to colleague@example.com"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[outlook_agent],
|
||||
tasks=[send_email_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## استكشاف الأخطاء وإصلاحها
|
||||
|
||||
### المشاكل الشائعة
|
||||
|
||||
**أخطاء المصادقة**
|
||||
|
||||
- تأكد من أن حساب Microsoft الخاص بك لديه الصلاحيات اللازمة للوصول إلى البريد والتقويم وجهات الاتصال.
|
||||
- النطاقات المطلوبة تشمل: `Mail.Read`, `Mail.Send`, `Calendars.ReadWrite`, `Contacts.ReadWrite`.
|
||||
|
||||
**مشاكل إرسال البريد الإلكتروني**
|
||||
|
||||
- تأكد من توفير `to_recipients` و`subject` و`body` لـ `send_email`.
|
||||
- تحقق من صحة صيغة عناوين البريد الإلكتروني.
|
||||
|
||||
**إنشاء أحداث التقويم**
|
||||
|
||||
- تأكد من توفير `subject` و`start_datetime` و`end_datetime`.
|
||||
- استخدم صيغة ISO 8601 المناسبة لحقول التاريخ والوقت.
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Microsoft Outlook
|
||||
أو استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
270
docs/ar/enterprise/integrations/microsoft_sharepoint.mdx
Normal file
270
docs/ar/enterprise/integrations/microsoft_sharepoint.mdx
Normal file
@@ -0,0 +1,270 @@
|
||||
---
|
||||
title: تكامل Microsoft SharePoint
|
||||
description: "إدارة المواقع والقوائم والمستندات مع تكامل Microsoft SharePoint لـ CrewAI."
|
||||
icon: "folder-tree"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من الوصول إلى مواقع SharePoint والقوائم ومكتبات المستندات وإدارتها. استرجع معلومات المواقع، وأدر عناصر القوائم، وارفع الملفات ونظّمها، وبسّط سير عمل SharePoint باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Microsoft SharePoint، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Microsoft 365 مع إمكانية الوصول إلى SharePoint
|
||||
- ربط حساب Microsoft الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Microsoft SharePoint
|
||||
|
||||
### 1. ربط حساب Microsoft الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Microsoft SharePoint** في قسم تكاملات المصادقة
|
||||
3. انقر على **Connect** وأكمل عملية OAuth
|
||||
4. امنح الصلاحيات اللازمة للوصول إلى مواقع SharePoint ومحتوياتها
|
||||
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_sharepoint/get_sites">
|
||||
**الوصف:** الحصول على جميع مواقع SharePoint التي يمكن للمستخدم الوصول إليها.
|
||||
|
||||
**المعاملات:**
|
||||
- `search` (string, اختياري): استعلام بحث لتصفية المواقع
|
||||
- `top` (integer, اختياري): عدد العناصر المراد إرجاعها. الحد الأدنى: 1، الحد الأقصى: 999
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/get_site">
|
||||
**الوصف:** الحصول على معلومات حول موقع SharePoint محدد.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/get_drives">
|
||||
**الوصف:** عرض جميع مكتبات المستندات (drives) في موقع SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint الكامل
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/get_site_lists">
|
||||
**الوصف:** الحصول على جميع القوائم في موقع SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/get_list_items">
|
||||
**الوصف:** الحصول على عناصر من قائمة SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint
|
||||
- `list_id` (string, مطلوب): معرّف القائمة
|
||||
- `expand` (string, اختياري): توسيع البيانات المرتبطة (مثال: 'fields')
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/create_list_item">
|
||||
**الوصف:** إنشاء عنصر جديد في قائمة SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint
|
||||
- `list_id` (string, مطلوب): معرّف القائمة
|
||||
- `fields` (object, مطلوب): قيم الحقول للعنصر الجديد
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/update_list_item">
|
||||
**الوصف:** تحديث عنصر في قائمة SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint
|
||||
- `list_id` (string, مطلوب): معرّف القائمة
|
||||
- `item_id` (string, مطلوب): معرّف العنصر المراد تحديثه
|
||||
- `fields` (object, مطلوب): قيم الحقول المراد تحديثها
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/delete_list_item">
|
||||
**الوصف:** حذف عنصر من قائمة SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint
|
||||
- `list_id` (string, مطلوب): معرّف القائمة
|
||||
- `item_id` (string, مطلوب): معرّف العنصر المراد حذفه
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/upload_file_to_library">
|
||||
**الوصف:** رفع ملف إلى مكتبة مستندات SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint
|
||||
- `file_path` (string, مطلوب): المسار حيث يتم رفع الملف
|
||||
- `content` (string, مطلوب): محتوى الملف المراد رفعه
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/list_files">
|
||||
**الوصف:** استرجاع الملفات والمجلدات من مكتبة مستندات SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint الكامل
|
||||
- `drive_id` (string, مطلوب): معرّف مكتبة المستندات
|
||||
- `folder_id` (string, اختياري): معرّف المجلد. الافتراضي: 'root'
|
||||
- `top` (integer, اختياري): الحد الأقصى لعدد العناصر. الافتراضي: 50
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/search_files">
|
||||
**الوصف:** البحث عن الملفات والمجلدات في مكتبة مستندات SharePoint بالكلمات المفتاحية.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint الكامل
|
||||
- `drive_id` (string, مطلوب): معرّف مكتبة المستندات
|
||||
- `query` (string, مطلوب): كلمات البحث المفتاحية
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/delete_file">
|
||||
**الوصف:** حذف ملف أو مجلد من مكتبة مستندات SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint الكامل
|
||||
- `drive_id` (string, مطلوب): معرّف مكتبة المستندات
|
||||
- `item_id` (string, مطلوب): المعرّف الفريد للملف أو المجلد المراد حذفه
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/create_folder">
|
||||
**الوصف:** إنشاء مجلد جديد في مكتبة مستندات SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint الكامل
|
||||
- `drive_id` (string, مطلوب): معرّف مكتبة المستندات
|
||||
- `folder_name` (string, مطلوب): اسم المجلد الجديد
|
||||
- `parent_id` (string, اختياري): معرّف المجلد الأصلي. الافتراضي: 'root'
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/download_file">
|
||||
**الوصف:** تحميل محتوى ملف خام من مكتبة مستندات SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint الكامل
|
||||
- `drive_id` (string, مطلوب): معرّف مكتبة المستندات
|
||||
- `item_id` (string, مطلوب): المعرّف الفريد للملف المراد تحميله
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/copy_file">
|
||||
**الوصف:** نسخ ملف أو مجلد إلى موقع جديد داخل SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint الكامل
|
||||
- `drive_id` (string, مطلوب): معرّف مكتبة المستندات
|
||||
- `item_id` (string, مطلوب): المعرّف الفريد للملف أو المجلد المراد نسخه
|
||||
- `destination_folder_id` (string, مطلوب): معرّف مجلد الوجهة
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_sharepoint/move_file">
|
||||
**الوصف:** نقل ملف أو مجلد إلى موقع جديد داخل SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `site_id` (string, مطلوب): معرّف موقع SharePoint الكامل
|
||||
- `drive_id` (string, مطلوب): معرّف مكتبة المستندات
|
||||
- `item_id` (string, مطلوب): المعرّف الفريد للملف أو المجلد المراد نقله
|
||||
- `destination_folder_id` (string, مطلوب): معرّف مجلد الوجهة
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ SharePoint
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with SharePoint capabilities
|
||||
sharepoint_agent = Agent(
|
||||
role="SharePoint Manager",
|
||||
goal="Manage SharePoint sites, lists, and documents efficiently",
|
||||
backstory="An AI assistant specialized in SharePoint content management and collaboration.",
|
||||
apps=['microsoft_sharepoint'] # All SharePoint actions will be available
|
||||
)
|
||||
|
||||
# Task to organize SharePoint content
|
||||
content_organization_task = Task(
|
||||
description="List all accessible SharePoint sites and organize content by department",
|
||||
agent=sharepoint_agent,
|
||||
expected_output="SharePoint sites listed and content organized by department"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[sharepoint_agent],
|
||||
tasks=[content_organization_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## استكشاف الأخطاء وإصلاحها
|
||||
|
||||
### المشاكل الشائعة
|
||||
|
||||
**أخطاء الصلاحيات**
|
||||
|
||||
- تأكد من أن حساب Microsoft الخاص بك لديه الصلاحيات المناسبة لمواقع SharePoint
|
||||
- تحقق من أن اتصال OAuth يتضمن النطاقات المطلوبة (Sites.Read.All, Sites.ReadWrite.All)
|
||||
|
||||
**مشاكل معرّفات المواقع والقوائم**
|
||||
|
||||
- تحقق من صحة معرّفات المواقع والقوائم وصيغتها الصحيحة
|
||||
- استخدم إجراءات get_sites وget_site_lists لاكتشاف المعرّفات الصالحة
|
||||
|
||||
**مشاكل الحقول والمخطط**
|
||||
|
||||
- تأكد من تطابق أسماء الحقول تماماً مع مخطط قائمة SharePoint
|
||||
- تحقق من تضمين الحقول المطلوبة عند إنشاء أو تحديث عناصر القوائم
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Microsoft SharePoint
|
||||
أو استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
205
docs/ar/enterprise/integrations/microsoft_teams.mdx
Normal file
205
docs/ar/enterprise/integrations/microsoft_teams.mdx
Normal file
@@ -0,0 +1,205 @@
|
||||
---
|
||||
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>
|
||||
168
docs/ar/enterprise/integrations/microsoft_word.mdx
Normal file
168
docs/ar/enterprise/integrations/microsoft_word.mdx
Normal file
@@ -0,0 +1,168 @@
|
||||
---
|
||||
title: تكامل Microsoft Word
|
||||
description: "إنشاء المستندات وإدارتها مع تكامل Microsoft Word لـ CrewAI."
|
||||
icon: "file-word"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إنشاء وقراءة وإدارة مستندات Word والملفات النصية في OneDrive أو SharePoint. أتمت إنشاء المستندات، واسترجع المحتوى، وأدر خصائص المستندات، وبسّط سير عمل المستندات باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Microsoft Word، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Microsoft مع إمكانية الوصول إلى Word وOneDrive/SharePoint
|
||||
- ربط حساب Microsoft الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Microsoft Word
|
||||
|
||||
### 1. ربط حساب Microsoft الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Microsoft Word** في قسم تكاملات المصادقة
|
||||
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="microsoft_word/get_documents">
|
||||
**الوصف:** الحصول على جميع مستندات Word من OneDrive أو SharePoint.
|
||||
|
||||
**المعاملات:**
|
||||
- `top` (integer, اختياري): عدد العناصر المراد إرجاعها (الحد الأدنى 1، الحد الأقصى 999).
|
||||
- `filter` (string, اختياري): تصفية النتائج باستخدام صيغة OData.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_word/create_text_document">
|
||||
**الوصف:** إنشاء مستند نصي (.txt) مع محتوى. يُنصح به لإنشاء المحتوى برمجياً.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_name` (string, مطلوب): اسم المستند النصي (يجب أن ينتهي بـ .txt).
|
||||
- `content` (string, اختياري): المحتوى النصي للمستند.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_word/get_document_content">
|
||||
**الوصف:** الحصول على محتوى مستند (يعمل بشكل أفضل مع الملفات النصية).
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف المستند.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_word/get_document_properties">
|
||||
**الوصف:** الحصول على خصائص وبيانات وصفية لمستند.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف المستند.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_word/delete_document">
|
||||
**الوصف:** حذف مستند.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف المستند المراد حذفه.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_word/copy_document">
|
||||
**الوصف:** نسخ مستند إلى موقع جديد في OneDrive.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف المستند المراد نسخه
|
||||
- `name` (string, اختياري): الاسم الجديد للمستند المنسوخ
|
||||
- `parent_id` (string, اختياري): معرّف مجلد الوجهة (الافتراضي هو الجذر)
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="microsoft_word/move_document">
|
||||
**الوصف:** نقل مستند إلى موقع جديد في OneDrive.
|
||||
|
||||
**المعاملات:**
|
||||
- `file_id` (string, مطلوب): معرّف المستند المراد نقله
|
||||
- `parent_id` (string, مطلوب): معرّف مجلد الوجهة
|
||||
- `name` (string, اختياري): الاسم الجديد للمستند المنقول
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Microsoft Word
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Microsoft Word capabilities
|
||||
word_agent = Agent(
|
||||
role="Document Manager",
|
||||
goal="Manage Word documents and text files efficiently",
|
||||
backstory="An AI assistant specialized in Microsoft Word document operations and content management.",
|
||||
apps=['microsoft_word'] # All Word actions will be available
|
||||
)
|
||||
|
||||
# Task to create a new text document
|
||||
create_doc_task = Task(
|
||||
description="Create a new text document named 'meeting_notes.txt' with content 'Meeting Notes from January 2024: Key discussion points and action items.'",
|
||||
agent=word_agent,
|
||||
expected_output="New text document 'meeting_notes.txt' created successfully."
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[word_agent],
|
||||
tasks=[create_doc_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## استكشاف الأخطاء وإصلاحها
|
||||
|
||||
### المشاكل الشائعة
|
||||
|
||||
**أخطاء المصادقة**
|
||||
|
||||
- تأكد من أن حساب Microsoft الخاص بك لديه الصلاحيات اللازمة للوصول إلى الملفات (`Files.Read.All`, `Files.ReadWrite.All`).
|
||||
|
||||
**مشاكل إنشاء الملفات**
|
||||
|
||||
- عند إنشاء مستندات نصية، تأكد من أن `file_name` ينتهي بامتداد `.txt`.
|
||||
- تحقق من أن لديك صلاحيات الكتابة للموقع المستهدف.
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Microsoft Word
|
||||
أو استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
149
docs/ar/enterprise/integrations/notion.mdx
Normal file
149
docs/ar/enterprise/integrations/notion.mdx
Normal file
@@ -0,0 +1,149 @@
|
||||
---
|
||||
title: تكامل Notion
|
||||
description: "إدارة المستخدمين والتعليقات مع تكامل Notion لـ CrewAI."
|
||||
icon: "book"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة المستخدمين وإنشاء التعليقات عبر Notion. يمكنك الوصول إلى معلومات مستخدمي مساحة العمل وإنشاء تعليقات على الصفحات والمناقشات، مما يبسّط سير عمل التعاون باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Notion، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Notion بصلاحيات مساحة العمل المناسبة
|
||||
- ربط حساب Notion الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/crewai_plus/connectors)
|
||||
|
||||
## إعداد تكامل Notion
|
||||
|
||||
### 1. ربط حساب Notion الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Notion** في قسم تكاملات المصادقة
|
||||
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="notion/list_users">
|
||||
**الوصف:** عرض جميع المستخدمين في مساحة العمل.
|
||||
|
||||
**المعاملات:**
|
||||
- `page_size` (integer, اختياري): عدد العناصر في الاستجابة. الحد الأدنى: 1، الحد الأقصى: 100، الافتراضي: 100
|
||||
- `start_cursor` (string, اختياري): مؤشر للترقيم.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="notion/get_user">
|
||||
**الوصف:** استرجاع مستخدم محدد بواسطة المعرّف.
|
||||
|
||||
**المعاملات:**
|
||||
- `user_id` (string, مطلوب): معرّف المستخدم المراد استرجاعه.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="notion/create_comment">
|
||||
**الوصف:** إنشاء تعليق على صفحة أو مناقشة.
|
||||
|
||||
**المعاملات:**
|
||||
- `parent` (object, مطلوب): الصفحة الأصلية أو المناقشة للتعليق عليها.
|
||||
```json
|
||||
{
|
||||
"type": "page_id",
|
||||
"page_id": "PAGE_ID_HERE"
|
||||
}
|
||||
```
|
||||
- `rich_text` (array, مطلوب): المحتوى النصي الغني للتعليق.
|
||||
```json
|
||||
[
|
||||
{
|
||||
"type": "text",
|
||||
"text": {
|
||||
"content": "This is my comment text"
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Notion
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Notion capabilities
|
||||
notion_agent = Agent(
|
||||
role="Workspace Manager",
|
||||
goal="Manage workspace users and facilitate collaboration through comments",
|
||||
backstory="An AI assistant specialized in user management and team collaboration.",
|
||||
apps=['notion'] # All Notion actions will be available
|
||||
)
|
||||
|
||||
# Task to list workspace users
|
||||
user_management_task = Task(
|
||||
description="List all users in the workspace and provide a summary of team members",
|
||||
agent=notion_agent,
|
||||
expected_output="Complete list of workspace users with their details"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[notion_agent],
|
||||
tasks=[user_management_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## استكشاف الأخطاء وإصلاحها
|
||||
|
||||
### المشاكل الشائعة
|
||||
|
||||
**أخطاء الصلاحيات**
|
||||
|
||||
- تأكد من أن حساب Notion الخاص بك لديه الصلاحيات المناسبة لقراءة معلومات المستخدمين
|
||||
- تحقق من أن لديك صلاحيات التعليق على الصفحات أو المناقشات المستهدفة
|
||||
|
||||
**مشاكل إنشاء التعليقات**
|
||||
|
||||
- تحقق من صحة معرّفات الصفحات أو المناقشات وإمكانية الوصول إليها
|
||||
- تأكد من اتباع محتوى النص الغني لمواصفات صيغة Notion API
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Notion أو
|
||||
استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
331
docs/ar/enterprise/integrations/salesforce.mdx
Normal file
331
docs/ar/enterprise/integrations/salesforce.mdx
Normal file
@@ -0,0 +1,331 @@
|
||||
---
|
||||
title: تكامل Salesforce
|
||||
description: "أتمتة CRM والمبيعات مع تكامل Salesforce لـ CrewAI."
|
||||
icon: "salesforce"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة علاقات العملاء وعمليات المبيعات والبيانات عبر Salesforce. أنشئ السجلات وحدّثها، وأدر العملاء المحتملين والفرص، ونفّذ استعلامات SOQL، وبسّط سير عمل CRM باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Salesforce، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Salesforce بالصلاحيات المناسبة
|
||||
- ربط حساب Salesforce الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/integrations)
|
||||
|
||||
## إعداد تكامل Salesforce
|
||||
|
||||
### 1. ربط حساب Salesforce الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Salesforce** في قسم تكاملات المصادقة
|
||||
3. انقر على **Connect** وأكمل عملية OAuth
|
||||
4. امنح الصلاحيات اللازمة لإدارة CRM والمبيعات
|
||||
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="salesforce/create_record_contact">
|
||||
**الوصف:** إنشاء سجل جهة اتصال جديد في Salesforce.
|
||||
|
||||
**المعاملات:**
|
||||
- `LastName` (string, مطلوب): اسم العائلة - هذا الحقل مطلوب
|
||||
- `FirstName` (string, اختياري): الاسم الأول
|
||||
- `Email` (string, اختياري): عنوان البريد الإلكتروني
|
||||
- `accountId` (string, اختياري): معرّف الحساب المرتبط
|
||||
- `Title` (string, اختياري): المسمى الوظيفي
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="salesforce/create_record_lead">
|
||||
**الوصف:** إنشاء سجل عميل محتمل جديد في Salesforce.
|
||||
|
||||
**المعاملات:**
|
||||
- `LastName` (string, مطلوب): اسم العائلة - هذا الحقل مطلوب
|
||||
- `Company` (string, مطلوب): الشركة - هذا الحقل مطلوب
|
||||
- `FirstName` (string, اختياري): الاسم الأول
|
||||
- `Email` (string, اختياري): عنوان البريد الإلكتروني
|
||||
- `Status` (string, اختياري): حالة العميل المحتمل
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="salesforce/create_record_opportunity">
|
||||
**الوصف:** إنشاء سجل فرصة جديد في Salesforce.
|
||||
|
||||
**المعاملات:**
|
||||
- `Name` (string, مطلوب): اسم الفرصة - هذا الحقل مطلوب
|
||||
- `StageName` (string, اختياري): مرحلة الفرصة
|
||||
- `CloseDate` (string, اختياري): تاريخ الإغلاق بصيغة YYYY-MM-DD
|
||||
- `Amount` (string, اختياري): المبلغ المقدر للبيع
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="salesforce/create_record_account">
|
||||
**الوصف:** إنشاء سجل حساب جديد في Salesforce.
|
||||
|
||||
**المعاملات:**
|
||||
- `Name` (string, مطلوب): اسم الحساب - هذا الحقل مطلوب
|
||||
- `Website` (string, اختياري): عنوان URL للموقع الإلكتروني
|
||||
- `Phone` (string, اختياري): رقم الهاتف
|
||||
- `Description` (string, اختياري): وصف الحساب
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="salesforce/create_record_task">
|
||||
**الوصف:** إنشاء سجل مهمة جديد في Salesforce.
|
||||
|
||||
**المعاملات:**
|
||||
- `subject` (string, مطلوب): موضوع المهمة
|
||||
- `taskSubtype` (string, مطلوب): النوع الفرعي للمهمة - الخيارات: task, email, listEmail, call
|
||||
- `whatId` (string, اختياري): معرّف الحساب أو الفرصة المرتبطة
|
||||
- `Status` (string, اختياري): الحالة - الخيارات: Not Started, In Progress, Completed
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **تحديث السجلات**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="salesforce/update_record_contact">
|
||||
**الوصف:** تحديث سجل جهة اتصال موجود في Salesforce.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف السجل المراد تحديثه
|
||||
- `FirstName` (string, اختياري): الاسم الأول
|
||||
- `LastName` (string, اختياري): اسم العائلة
|
||||
- `Email` (string, اختياري): عنوان البريد الإلكتروني
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="salesforce/update_record_lead">
|
||||
**الوصف:** تحديث سجل عميل محتمل موجود في Salesforce.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف السجل المراد تحديثه
|
||||
- `LastName` (string, اختياري): اسم العائلة
|
||||
- `Company` (string, اختياري): اسم الشركة
|
||||
- `Status` (string, اختياري): حالة العميل المحتمل
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="salesforce/update_record_opportunity">
|
||||
**الوصف:** تحديث سجل فرصة موجود في Salesforce.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف السجل المراد تحديثه
|
||||
- `Name` (string, اختياري): اسم الفرصة
|
||||
- `StageName` (string, اختياري): مرحلة الفرصة
|
||||
- `Amount` (string, اختياري): المبلغ المقدر
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="salesforce/update_record_account">
|
||||
**الوصف:** تحديث سجل حساب موجود في Salesforce.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف السجل المراد تحديثه
|
||||
- `Name` (string, اختياري): اسم الحساب
|
||||
- `Website` (string, اختياري): عنوان URL للموقع الإلكتروني
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **استرجاع السجلات**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="salesforce/get_record_by_id_contact">
|
||||
**الوصف:** الحصول على سجل جهة اتصال بواسطة معرّفه.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف سجل جهة الاتصال
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="salesforce/get_record_by_id_lead">
|
||||
**الوصف:** الحصول على سجل عميل محتمل بواسطة معرّفه.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف سجل العميل المحتمل
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="salesforce/get_record_by_id_opportunity">
|
||||
**الوصف:** الحصول على سجل فرصة بواسطة معرّفه.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف سجل الفرصة
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="salesforce/get_record_by_id_account">
|
||||
**الوصف:** الحصول على سجل حساب بواسطة معرّفه.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordId` (string, مطلوب): معرّف سجل الحساب
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **البحث في السجلات**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="salesforce/search_records_contact">
|
||||
**الوصف:** البحث عن سجلات جهات الاتصال بتصفية متقدمة.
|
||||
|
||||
**المعاملات:**
|
||||
- `filterFormula` (object, اختياري): فلتر متقدم بصيغة التعبير العادي المنفصل
|
||||
- `sortBy` (string, اختياري): حقل الفرز
|
||||
- `sortDirection` (string, اختياري): اتجاه الفرز - الخيارات: ASC, DESC
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="salesforce/search_records_lead">
|
||||
**الوصف:** البحث عن سجلات العملاء المحتملين بتصفية متقدمة.
|
||||
|
||||
**المعاملات:**
|
||||
- `filterFormula` (object, اختياري): فلتر متقدم
|
||||
- `sortBy` (string, اختياري): حقل الفرز
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="salesforce/search_records_opportunity">
|
||||
**الوصف:** البحث عن سجلات الفرص بتصفية متقدمة.
|
||||
|
||||
**المعاملات:**
|
||||
- `filterFormula` (object, اختياري): فلتر متقدم
|
||||
- `sortBy` (string, اختياري): حقل الفرز
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **العمليات المتقدمة**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="salesforce/write_soql_query">
|
||||
**الوصف:** تنفيذ استعلامات SOQL مخصصة على بيانات Salesforce.
|
||||
|
||||
**المعاملات:**
|
||||
- `query` (string, مطلوب): استعلام SOQL (مثال: "SELECT Id, Name FROM Account WHERE Name = 'Example'")
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="salesforce/create_custom_object">
|
||||
**الوصف:** نشر كائن مخصص جديد في Salesforce.
|
||||
|
||||
**المعاملات:**
|
||||
- `label` (string, مطلوب): تسمية الكائن
|
||||
- `pluralLabel` (string, مطلوب): التسمية الجمعية
|
||||
- `recordName` (string, مطلوب): اسم السجل
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="salesforce/describe_action_schema">
|
||||
**الوصف:** الحصول على المخطط المتوقع لعمليات على أنواع كائنات محددة.
|
||||
|
||||
**المعاملات:**
|
||||
- `recordType` (string, مطلوب): نوع السجل المراد وصفه
|
||||
- `operation` (string, مطلوب): نوع العملية (مثال: "CREATE_RECORD" أو "UPDATE_RECORD")
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Salesforce
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Salesforce capabilities
|
||||
salesforce_agent = Agent(
|
||||
role="CRM Manager",
|
||||
goal="Manage customer relationships and sales processes efficiently",
|
||||
backstory="An AI assistant specialized in CRM operations and sales automation.",
|
||||
apps=['salesforce'] # All Salesforce actions will be available
|
||||
)
|
||||
|
||||
# Task to create a new lead
|
||||
create_lead_task = Task(
|
||||
description="Create a new lead for John Doe from Example Corp with email john.doe@example.com",
|
||||
agent=salesforce_agent,
|
||||
expected_output="Lead created successfully with lead ID"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[salesforce_agent],
|
||||
tasks=[create_lead_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### استعلامات SOQL المتقدمة وإعداد التقارير
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
data_analyst = Agent(
|
||||
role="Sales Data Analyst",
|
||||
goal="Generate insights from Salesforce data using SOQL queries",
|
||||
backstory="An analytical AI that excels at extracting meaningful insights from CRM data.",
|
||||
apps=['salesforce']
|
||||
)
|
||||
|
||||
# Complex task involving SOQL queries and data analysis
|
||||
analysis_task = Task(
|
||||
description="""
|
||||
1. Execute a SOQL query to find all opportunities closing this quarter
|
||||
2. Search for contacts at companies with opportunities over $100K
|
||||
3. Create a summary report of the sales pipeline status
|
||||
4. Update high-value opportunities with next steps
|
||||
""",
|
||||
agent=data_analyst,
|
||||
expected_output="Comprehensive sales pipeline analysis with actionable insights"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[data_analyst],
|
||||
tasks=[analysis_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Salesforce أو
|
||||
استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
196
docs/ar/enterprise/integrations/shopify.mdx
Normal file
196
docs/ar/enterprise/integrations/shopify.mdx
Normal file
@@ -0,0 +1,196 @@
|
||||
---
|
||||
title: تكامل Shopify
|
||||
description: "إدارة التجارة الإلكترونية والمتجر الإلكتروني مع تكامل Shopify لـ CrewAI."
|
||||
icon: "shopify"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة عمليات التجارة الإلكترونية عبر Shopify. تعامل مع العملاء والطلبات والمنتجات والمخزون وتحليلات المتجر لتبسيط أعمالك التجارية عبر الإنترنت باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Shopify، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- متجر Shopify بصلاحيات المسؤول المناسبة
|
||||
- ربط متجر Shopify الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/integrations)
|
||||
|
||||
## إعداد تكامل Shopify
|
||||
|
||||
### 1. ربط متجر Shopify الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Shopify** في قسم تكاملات المصادقة
|
||||
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="shopify/get_customers">
|
||||
**الوصف:** استرجاع قائمة العملاء من متجر Shopify.
|
||||
|
||||
**المعاملات:**
|
||||
- `customerIds` (string, اختياري): قائمة معرّفات العملاء مفصولة بفواصل
|
||||
- `limit` (string, اختياري): الحد الأقصى لعدد العملاء (الافتراضي: 250)
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="shopify/create_customer">
|
||||
**الوصف:** إنشاء عميل جديد في متجر Shopify.
|
||||
|
||||
**المعاملات:**
|
||||
- `firstName` (string, مطلوب): الاسم الأول للعميل
|
||||
- `lastName` (string, مطلوب): اسم العائلة للعميل
|
||||
- `email` (string, مطلوب): عنوان البريد الإلكتروني للعميل
|
||||
- `phone` (string, اختياري): رقم الهاتف
|
||||
- `tags` (string, اختياري): الوسوم كمصفوفة أو قائمة مفصولة بفواصل
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="shopify/update_customer">
|
||||
**الوصف:** تحديث عميل موجود في متجر Shopify.
|
||||
|
||||
**المعاملات:**
|
||||
- `customerId` (string, مطلوب): معرّف العميل المراد تحديثه
|
||||
- `firstName` (string, اختياري): الاسم الأول
|
||||
- `lastName` (string, اختياري): اسم العائلة
|
||||
- `email` (string, اختياري): عنوان البريد الإلكتروني
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **إدارة الطلبات**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="shopify/get_orders">
|
||||
**الوصف:** استرجاع قائمة الطلبات من متجر Shopify.
|
||||
|
||||
**المعاملات:**
|
||||
- `orderIds` (string, اختياري): قائمة معرّفات الطلبات مفصولة بفواصل
|
||||
- `limit` (string, اختياري): الحد الأقصى لعدد الطلبات (الافتراضي: 250)
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="shopify/create_order">
|
||||
**الوصف:** إنشاء طلب جديد في متجر Shopify.
|
||||
|
||||
**المعاملات:**
|
||||
- `email` (string, مطلوب): عنوان البريد الإلكتروني للعميل
|
||||
- `lineItems` (object, مطلوب): عناصر سطر الطلب بصيغة JSON
|
||||
- `fulfillmentStatus` (string, اختياري): حالة التنفيذ - الخيارات: fulfilled, null, partial, restocked
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="shopify/get_abandoned_carts">
|
||||
**الوصف:** استرجاع سلال التسوق المهجورة من متجر Shopify.
|
||||
|
||||
**المعاملات:**
|
||||
- `status` (string, اختياري): عرض عمليات الدفع بالحالة المحددة - الخيارات: open, closed (الافتراضي: open)
|
||||
- `limit` (string, اختياري): الحد الأقصى لعدد السلال (الافتراضي: 250)
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **إدارة المنتجات**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="shopify/get_products">
|
||||
**الوصف:** استرجاع قائمة المنتجات من متجر Shopify.
|
||||
|
||||
**المعاملات:**
|
||||
- `title` (string, اختياري): تصفية حسب عنوان المنتج
|
||||
- `status` (string, اختياري): تصفية حسب الحالة - الخيارات: active, archived, draft
|
||||
- `limit` (string, اختياري): الحد الأقصى لعدد المنتجات (الافتراضي: 250)
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="shopify/create_product">
|
||||
**الوصف:** إنشاء منتج جديد في متجر Shopify.
|
||||
|
||||
**المعاملات:**
|
||||
- `title` (string, مطلوب): عنوان المنتج
|
||||
- `productType` (string, مطلوب): نوع/فئة المنتج
|
||||
- `vendor` (string, مطلوب): مورد المنتج
|
||||
- `productDescription` (string, اختياري): وصف المنتج
|
||||
- `price` (string, اختياري): سعر المنتج
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="shopify/update_product">
|
||||
**الوصف:** تحديث منتج موجود في متجر Shopify.
|
||||
|
||||
**المعاملات:**
|
||||
- `productId` (string, مطلوب): معرّف المنتج المراد تحديثه
|
||||
- `title` (string, اختياري): عنوان المنتج
|
||||
- `price` (string, اختياري): سعر المنتج
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Shopify
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Shopify capabilities
|
||||
shopify_agent = Agent(
|
||||
role="E-commerce Manager",
|
||||
goal="Manage online store operations and customer relationships efficiently",
|
||||
backstory="An AI assistant specialized in e-commerce operations and online store management.",
|
||||
apps=['shopify'] # All Shopify actions will be available
|
||||
)
|
||||
|
||||
# Task to create a new customer
|
||||
create_customer_task = Task(
|
||||
description="Create a new VIP customer Jane Smith with email jane.smith@example.com and phone +1-555-0123",
|
||||
agent=shopify_agent,
|
||||
expected_output="Customer created successfully with customer ID"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[shopify_agent],
|
||||
tasks=[create_customer_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### الحصول على المساعدة
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Shopify أو
|
||||
استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
170
docs/ar/enterprise/integrations/slack.mdx
Normal file
170
docs/ar/enterprise/integrations/slack.mdx
Normal file
@@ -0,0 +1,170 @@
|
||||
---
|
||||
title: تكامل Slack
|
||||
description: "التواصل الجماعي والتعاون مع تكامل Slack لـ CrewAI."
|
||||
icon: "slack"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة التواصل الجماعي عبر Slack. أرسل الرسائل، وابحث في المحادثات، وأدر القنوات، ونسّق أنشطة الفريق لتبسيط سير عمل التعاون باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Slack، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- مساحة عمل Slack بالصلاحيات المناسبة
|
||||
- ربط مساحة عمل Slack الخاصة بك عبر [صفحة التكاملات](https://app.crewai.com/integrations)
|
||||
|
||||
## إعداد تكامل Slack
|
||||
|
||||
### 1. ربط مساحة عمل Slack الخاصة بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Slack** في قسم تكاملات المصادقة
|
||||
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="slack/list_members">
|
||||
**الوصف:** عرض جميع الأعضاء في قناة Slack.
|
||||
|
||||
**المعاملات:**
|
||||
- لا توجد معاملات مطلوبة
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="slack/get_user_by_email">
|
||||
**الوصف:** البحث عن مستخدم في مساحة عمل Slack بواسطة عنوان بريده الإلكتروني.
|
||||
|
||||
**المعاملات:**
|
||||
- `email` (string, مطلوب): عنوان البريد الإلكتروني للمستخدم في مساحة العمل
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="slack/get_users_by_name">
|
||||
**الوصف:** البحث عن المستخدمين بواسطة اسمهم أو اسم العرض.
|
||||
|
||||
**المعاملات:**
|
||||
- `name` (string, مطلوب): الاسم الحقيقي للمستخدم للبحث عنه
|
||||
- `displayName` (string, مطلوب): اسم عرض المستخدم للبحث عنه
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **إدارة القنوات**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="slack/list_channels">
|
||||
**الوصف:** عرض جميع القنوات في مساحة عمل Slack.
|
||||
|
||||
**المعاملات:**
|
||||
- لا توجد معاملات مطلوبة
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **المراسلة**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="slack/send_message">
|
||||
**الوصف:** إرسال رسالة إلى قناة Slack.
|
||||
|
||||
**المعاملات:**
|
||||
- `channel` (string, مطلوب): اسم القناة أو معرّفها
|
||||
- `message` (string, مطلوب): نص الرسالة المراد إرسالها
|
||||
- `botName` (string, مطلوب): اسم البوت الذي يرسل هذه الرسالة
|
||||
- `botIcon` (string, مطلوب): أيقونة البوت - يمكن أن تكون عنوان URL لصورة أو رمز تعبيري
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="slack/send_direct_message">
|
||||
**الوصف:** إرسال رسالة مباشرة إلى مستخدم محدد في Slack.
|
||||
|
||||
**المعاملات:**
|
||||
- `memberId` (string, مطلوب): معرّف المستخدم المستلم
|
||||
- `message` (string, مطلوب): نص الرسالة المراد إرسالها
|
||||
- `botName` (string, مطلوب): اسم البوت الذي يرسل هذه الرسالة
|
||||
- `botIcon` (string, مطلوب): أيقونة البوت
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **البحث والاكتشاف**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="slack/search_messages">
|
||||
**الوصف:** البحث عن الرسائل عبر مساحة عمل Slack.
|
||||
|
||||
**المعاملات:**
|
||||
- `query` (string, مطلوب): استعلام بحث باستخدام صيغة بحث Slack للعثور على الرسائل المطابقة
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Slack
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Slack capabilities
|
||||
slack_agent = Agent(
|
||||
role="Team Communication Manager",
|
||||
goal="Facilitate team communication and coordinate collaboration efficiently",
|
||||
backstory="An AI assistant specialized in team communication and workspace coordination.",
|
||||
apps=['slack'] # All Slack actions will be available
|
||||
)
|
||||
|
||||
# Task to send project updates
|
||||
update_task = Task(
|
||||
description="Send a project status update to the #general channel with current progress",
|
||||
agent=slack_agent,
|
||||
expected_output="Project update message sent successfully to team channel"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[slack_agent],
|
||||
tasks=[update_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## التواصل مع الدعم
|
||||
|
||||
<Card title="تحتاج مساعدة؟" icon="headset" href="mailto:support@crewai.com">
|
||||
تواصل مع فريق الدعم للحصول على المساعدة في إعداد تكامل Slack أو
|
||||
استكشاف الأخطاء وإصلاحها.
|
||||
</Card>
|
||||
202
docs/ar/enterprise/integrations/stripe.mdx
Normal file
202
docs/ar/enterprise/integrations/stripe.mdx
Normal file
@@ -0,0 +1,202 @@
|
||||
---
|
||||
title: تكامل Stripe
|
||||
description: "معالجة المدفوعات وإدارة الاشتراكات مع تكامل Stripe لـ CrewAI."
|
||||
icon: "stripe"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة المدفوعات والاشتراكات وفواتير العملاء عبر Stripe. تعامل مع بيانات العملاء، ومعالجة الاشتراكات، وإدارة المنتجات، وتتبع المعاملات المالية لتبسيط سير عمل المدفوعات باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Stripe، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Stripe بصلاحيات API المناسبة
|
||||
- ربط حساب Stripe الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/integrations)
|
||||
|
||||
## إعداد تكامل Stripe
|
||||
|
||||
### 1. ربط حساب Stripe الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Stripe** في قسم تكاملات المصادقة
|
||||
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="stripe/create_customer">
|
||||
**الوصف:** إنشاء عميل جديد في حساب Stripe.
|
||||
|
||||
**المعاملات:**
|
||||
- `emailCreateCustomer` (string, مطلوب): عنوان البريد الإلكتروني للعميل
|
||||
- `name` (string, اختياري): الاسم الكامل للعميل
|
||||
- `description` (string, اختياري): وصف العميل للمرجع الداخلي
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="stripe/get_customer_by_id">
|
||||
**الوصف:** استرجاع عميل محدد بواسطة معرّف عميل Stripe.
|
||||
|
||||
**المعاملات:**
|
||||
- `idGetCustomer` (string, مطلوب): معرّف عميل Stripe المراد استرجاعه
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="stripe/get_customers">
|
||||
**الوصف:** استرجاع قائمة العملاء مع تصفية اختيارية.
|
||||
|
||||
**المعاملات:**
|
||||
- `emailGetCustomers` (string, اختياري): تصفية العملاء حسب البريد الإلكتروني
|
||||
- `limitGetCustomers` (string, اختياري): الحد الأقصى لعدد العملاء (الافتراضي: 10)
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="stripe/update_customer">
|
||||
**الوصف:** تحديث معلومات عميل موجود.
|
||||
|
||||
**المعاملات:**
|
||||
- `customerId` (string, مطلوب): معرّف العميل المراد تحديثه
|
||||
- `emailUpdateCustomer` (string, اختياري): عنوان البريد الإلكتروني المحدّث
|
||||
- `name` (string, اختياري): اسم العميل المحدّث
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **إدارة الاشتراكات**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="stripe/create_subscription">
|
||||
**الوصف:** إنشاء اشتراك جديد لعميل.
|
||||
|
||||
**المعاملات:**
|
||||
- `customerIdCreateSubscription` (string, مطلوب): معرّف العميل الذي سيُنشأ له الاشتراك
|
||||
- `plan` (string, مطلوب): معرّف خطة الاشتراك
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="stripe/get_subscriptions">
|
||||
**الوصف:** استرجاع الاشتراكات مع تصفية اختيارية.
|
||||
|
||||
**المعاملات:**
|
||||
- `customerIdGetSubscriptions` (string, اختياري): تصفية الاشتراكات حسب معرّف العميل
|
||||
- `subscriptionStatus` (string, اختياري): تصفية حسب حالة الاشتراك - الخيارات: incomplete, trialing, active, past_due, canceled, unpaid
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **إدارة المنتجات**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="stripe/create_product">
|
||||
**الوصف:** إنشاء منتج جديد في كتالوج Stripe.
|
||||
|
||||
**المعاملات:**
|
||||
- `productName` (string, مطلوب): اسم المنتج
|
||||
- `description` (string, اختياري): وصف المنتج
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="stripe/get_products">
|
||||
**الوصف:** استرجاع قائمة المنتجات مع تصفية اختيارية.
|
||||
|
||||
**المعاملات:**
|
||||
- `limitGetProducts` (string, اختياري): الحد الأقصى لعدد المنتجات (الافتراضي: 10)
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **العمليات المالية**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="stripe/get_balance_transactions">
|
||||
**الوصف:** استرجاع معاملات الرصيد من حساب Stripe.
|
||||
|
||||
**المعاملات:**
|
||||
- `balanceTransactionType` (string, اختياري): تصفية حسب نوع المعاملة - الخيارات: charge, refund, payment, payment_refund
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="stripe/get_plans">
|
||||
**الوصف:** استرجاع خطط الاشتراك من حساب Stripe.
|
||||
|
||||
**المعاملات:**
|
||||
- `isPlanActive` (boolean, اختياري): تصفية حسب حالة الخطة
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Stripe
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Stripe capabilities
|
||||
stripe_agent = Agent(
|
||||
role="Payment Manager",
|
||||
goal="Manage customer payments, subscriptions, and billing operations efficiently",
|
||||
backstory="An AI assistant specialized in payment processing and subscription management.",
|
||||
apps=['stripe'] # All Stripe actions will be available
|
||||
)
|
||||
|
||||
# Task to create a new customer
|
||||
create_customer_task = Task(
|
||||
description="Create a new premium customer John Doe with email john.doe@example.com",
|
||||
agent=stripe_agent,
|
||||
expected_output="Customer created successfully with customer ID"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[stripe_agent],
|
||||
tasks=[create_customer_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
## مرجع حالات الاشتراك
|
||||
|
||||
فهم حالات الاشتراك:
|
||||
|
||||
- **incomplete** - الاشتراك يتطلب طريقة دفع أو تأكيد الدفع
|
||||
- **trialing** - الاشتراك في فترة تجريبية
|
||||
- **active** - الاشتراك نشط وحالي
|
||||
- **past_due** - فشل الدفع لكن الاشتراك لا يزال نشطاً
|
||||
- **canceled** - تم إلغاء الاشتراك
|
||||
- **unpaid** - فشل الدفع والاشتراك لم يعد نشطاً
|
||||
|
||||
يمكّن هذا التكامل أتمتة شاملة لإدارة المدفوعات والاشتراكات، مما يسمح لوكلاء الذكاء الاصطناعي بالتعامل مع عمليات الفوترة بسلاسة ضمن نظام Stripe البيئي.
|
||||
262
docs/ar/enterprise/integrations/zendesk.mdx
Normal file
262
docs/ar/enterprise/integrations/zendesk.mdx
Normal file
@@ -0,0 +1,262 @@
|
||||
---
|
||||
title: تكامل Zendesk
|
||||
description: "دعم العملاء وإدارة مكتب المساعدة مع تكامل Zendesk لـ CrewAI."
|
||||
icon: "headset"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## نظرة عامة
|
||||
|
||||
مكّن وكلاءك من إدارة عمليات دعم العملاء عبر Zendesk. أنشئ التذاكر وحدّثها، وأدر المستخدمين، وتتبع مقاييس الدعم، وبسّط سير عمل خدمة العملاء باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.
|
||||
|
||||
## المتطلبات الأساسية
|
||||
|
||||
قبل استخدام تكامل Zendesk، تأكد من توفر ما يلي:
|
||||
|
||||
- حساب [CrewAI AMP](https://app.crewai.com) مع اشتراك فعّال
|
||||
- حساب Zendesk بصلاحيات API المناسبة
|
||||
- ربط حساب Zendesk الخاص بك عبر [صفحة التكاملات](https://app.crewai.com/integrations)
|
||||
|
||||
## إعداد تكامل Zendesk
|
||||
|
||||
### 1. ربط حساب Zendesk الخاص بك
|
||||
|
||||
1. انتقل إلى [تكاملات CrewAI AMP](https://app.crewai.com/crewai_plus/connectors)
|
||||
2. ابحث عن **Zendesk** في قسم تكاملات المصادقة
|
||||
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="zendesk/create_ticket">
|
||||
**الوصف:** إنشاء تذكرة دعم جديدة في Zendesk.
|
||||
|
||||
**المعاملات:**
|
||||
- `ticketSubject` (string, مطلوب): سطر موضوع التذكرة
|
||||
- `ticketDescription` (string, مطلوب): أول تعليق يظهر على التذكرة
|
||||
- `requesterName` (string, مطلوب): اسم المستخدم الذي يطلب الدعم
|
||||
- `requesterEmail` (string, مطلوب): بريد المستخدم الذي يطلب الدعم
|
||||
- `ticketType` (string, اختياري): نوع التذكرة - الخيارات: problem, incident, question, task
|
||||
- `ticketPriority` (string, اختياري): مستوى الأولوية - الخيارات: urgent, high, normal, low
|
||||
- `ticketStatus` (string, اختياري): حالة التذكرة - الخيارات: new, open, pending, hold, solved, closed
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="zendesk/update_ticket">
|
||||
**الوصف:** تحديث تذكرة دعم موجودة في Zendesk.
|
||||
|
||||
**المعاملات:**
|
||||
- `ticketId` (string, مطلوب): معرّف التذكرة المراد تحديثها
|
||||
- `requesterName` (string, مطلوب): اسم المستخدم الذي طلب هذه التذكرة
|
||||
- `requesterEmail` (string, مطلوب): بريد المستخدم الذي طلب هذه التذكرة
|
||||
- `ticketSubject` (string, اختياري): موضوع التذكرة المحدّث
|
||||
- `ticketPriority` (string, اختياري): الأولوية المحدّثة
|
||||
- `ticketStatus` (string, اختياري): الحالة المحدّثة
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="zendesk/get_ticket_by_id">
|
||||
**الوصف:** استرجاع تذكرة محددة بواسطة معرّفها.
|
||||
|
||||
**المعاملات:**
|
||||
- `ticketId` (string, مطلوب): معرّف التذكرة المراد استرجاعها
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="zendesk/add_comment_to_ticket">
|
||||
**الوصف:** إضافة تعليق أو ملاحظة داخلية إلى تذكرة موجودة.
|
||||
|
||||
**المعاملات:**
|
||||
- `ticketId` (string, مطلوب): معرّف التذكرة لإضافة التعليق إليها
|
||||
- `commentBody` (string, مطلوب): رسالة التعليق
|
||||
- `isInternalNote` (boolean, اختياري): عيّن إلى true للملاحظات الداخلية بدلاً من الردود العامة
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="zendesk/search_tickets">
|
||||
**الوصف:** البحث عن التذاكر باستخدام فلاتر ومعايير مختلفة.
|
||||
|
||||
**المعاملات:**
|
||||
- `ticketSubject` (string, اختياري): تصفية حسب النص في موضوع التذكرة
|
||||
- `ticketStatus` (string, اختياري): تصفية حسب الحالة
|
||||
- `ticketPriority` (string, اختياري): تصفية حسب الأولوية
|
||||
- `sort_by` (string, اختياري): حقل الفرز - الخيارات: created_at, updated_at, priority, status
|
||||
- `sort_order` (string, اختياري): اتجاه الفرز - الخيارات: asc, desc
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **إدارة المستخدمين**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="zendesk/create_user">
|
||||
**الوصف:** إنشاء مستخدم جديد في Zendesk.
|
||||
|
||||
**المعاملات:**
|
||||
- `name` (string, مطلوب): الاسم الكامل للمستخدم
|
||||
- `email` (string, اختياري): عنوان البريد الإلكتروني
|
||||
- `phone` (string, اختياري): رقم الهاتف
|
||||
- `role` (string, اختياري): دور المستخدم - الخيارات: admin, agent, end-user
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="zendesk/update_user">
|
||||
**الوصف:** تحديث معلومات مستخدم موجود.
|
||||
|
||||
**المعاملات:**
|
||||
- `userId` (string, مطلوب): معرّف المستخدم المراد تحديثه
|
||||
- `name` (string, اختياري): اسم المستخدم المحدّث
|
||||
- `email` (string, اختياري): البريد الإلكتروني المحدّث
|
||||
- `role` (string, اختياري): الدور المحدّث
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="zendesk/get_user_by_id">
|
||||
**الوصف:** استرجاع مستخدم محدد بواسطة معرّفه.
|
||||
|
||||
**المعاملات:**
|
||||
- `userId` (string, مطلوب): معرّف المستخدم المراد استرجاعه
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="zendesk/search_users">
|
||||
**الوصف:** البحث عن المستخدمين باستخدام معايير مختلفة.
|
||||
|
||||
**المعاملات:**
|
||||
- `name` (string, اختياري): تصفية حسب اسم المستخدم
|
||||
- `email` (string, اختياري): تصفية حسب البريد الإلكتروني
|
||||
- `role` (string, اختياري): تصفية حسب الدور
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### **أدوات إدارية**
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="zendesk/get_ticket_fields">
|
||||
**الوصف:** استرجاع جميع الحقول القياسية والمخصصة المتاحة للتذاكر.
|
||||
|
||||
**المعاملات:**
|
||||
- `paginationParameters` (object, اختياري): إعدادات الترقيم
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="zendesk/get_ticket_audits">
|
||||
**الوصف:** الحصول على سجلات التدقيق (السجل للقراءة فقط) للتذاكر.
|
||||
|
||||
**المعاملات:**
|
||||
- `ticketId` (string, اختياري): الحصول على سجلات التدقيق لتذكرة محددة
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## مستويات أولوية التذاكر
|
||||
|
||||
فهم مستويات الأولوية:
|
||||
|
||||
- **urgent** - مشاكل حرجة تتطلب اهتماماً فورياً
|
||||
- **high** - مشاكل مهمة يجب معالجتها بسرعة
|
||||
- **normal** - أولوية قياسية لمعظم التذاكر
|
||||
- **low** - مشاكل ثانوية يمكن معالجتها عند الإمكان
|
||||
|
||||
## سير عمل حالة التذكرة
|
||||
|
||||
تقدم حالة التذكرة القياسي:
|
||||
|
||||
- **new** - أُنشئت حديثاً، لم تُعيّن بعد
|
||||
- **open** - يتم العمل عليها بنشاط
|
||||
- **pending** - في انتظار رد العميل أو إجراء خارجي
|
||||
- **hold** - متوقفة مؤقتاً
|
||||
- **solved** - تم حل المشكلة، في انتظار تأكيد العميل
|
||||
- **closed** - اكتملت التذكرة وأُغلقت
|
||||
|
||||
## أمثلة الاستخدام
|
||||
|
||||
### إعداد Agent أساسي لـ Zendesk
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
# Create an agent with Zendesk capabilities
|
||||
zendesk_agent = Agent(
|
||||
role="Support Manager",
|
||||
goal="Manage customer support tickets and provide excellent customer service",
|
||||
backstory="An AI assistant specialized in customer support operations and ticket management.",
|
||||
apps=['zendesk'] # All Zendesk actions will be available
|
||||
)
|
||||
|
||||
# Task to create a new support ticket
|
||||
create_ticket_task = Task(
|
||||
description="Create a high-priority support ticket for John Smith who is unable to access his account after password reset",
|
||||
agent=zendesk_agent,
|
||||
expected_output="Support ticket created successfully with ticket ID"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[zendesk_agent],
|
||||
tasks=[create_ticket_task]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### إدارة التذاكر المتقدمة
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
|
||||
ticket_manager = Agent(
|
||||
role="Ticket Manager",
|
||||
goal="Manage support ticket workflows and ensure timely resolution",
|
||||
backstory="An AI assistant that specializes in support ticket triage and workflow optimization.",
|
||||
apps=['zendesk']
|
||||
)
|
||||
|
||||
# Task to manage ticket lifecycle
|
||||
ticket_workflow = Task(
|
||||
description="""
|
||||
1. Create a new support ticket for account access issues
|
||||
2. Add internal notes with troubleshooting steps
|
||||
3. Update ticket priority based on customer tier
|
||||
4. Add resolution comments and close the ticket
|
||||
""",
|
||||
agent=ticket_manager,
|
||||
expected_output="Complete ticket lifecycle managed from creation to resolution"
|
||||
)
|
||||
|
||||
crew = Crew(
|
||||
agents=[ticket_manager],
|
||||
tasks=[ticket_workflow]
|
||||
)
|
||||
|
||||
crew.kickoff()
|
||||
```
|
||||
Reference in New Issue
Block a user