---
name: Team Collaboration (Slack / Teams / Notion / Asana)
priority: 2
keywords: slack, teams, microsoft teams, notion, asana, monday, clickup, linear, trello, jira, project management, إدارة مشاريع, مهام, tasks, channel, قناة, slack message
---

# Team Collaboration — Slack/Teams/Notion/Asana/Linear

## Slack
Auth: Bot Token (xoxb-...). Base: `https://slack.com/api`
```bash
# إرسال رسالة إلى قناة
exec_command "curl -s -X POST -H 'Authorization: Bearer $SLACK_TOKEN' -H 'Content-Type: application/json' \
  -d '{\"channel\":\"#general\",\"text\":\"تنبيه: طلب جديد بقيمة 5000 ر.س من Salla\"}' \
  'https://slack.com/api/chat.postMessage'"

# إرسال DM لشخص
exec_command "curl -s -X POST -H 'Authorization: Bearer $SLACK_TOKEN' -H 'Content-Type: application/json' \
  -d '{\"channel\":\"@U0123ABCD\",\"text\":\"...\"}' \
  'https://slack.com/api/chat.postMessage'"

# قائمة القنوات
exec_command "curl -s -H 'Authorization: Bearer $SLACK_TOKEN' \
  'https://slack.com/api/conversations.list?types=public_channel,private_channel'"

# الرد على thread
exec_command "curl -s -X POST -H 'Authorization: Bearer $SLACK_TOKEN' -H 'Content-Type: application/json' \
  -d '{\"channel\":\"$CHANNEL_ID\",\"thread_ts\":\"$PARENT_TS\",\"text\":\"رد...\"}' \
  'https://slack.com/api/chat.postMessage'"

# Block Kit (رسالة مع buttons)
exec_command "curl -s -X POST -H 'Authorization: Bearer $SLACK_TOKEN' -H 'Content-Type: application/json' \
  -d '{\"channel\":\"#sales\",\"blocks\":[{\"type\":\"section\",\"text\":{\"type\":\"mrkdwn\",\"text\":\"*طلب جديد:* 5000 ر.س\"},\"accessory\":{\"type\":\"button\",\"text\":{\"type\":\"plain_text\",\"text\":\"وافق\"},\"value\":\"approve\"}}]}' \
  'https://slack.com/api/chat.postMessage'"
```

## Microsoft Teams
أبسط طريقة: **Incoming Webhook** (لا يحتاج OAuth):
```bash
# تنشئ webhook من إعدادات القناة، تخزّن URL
exec_command "curl -s -X POST -H 'Content-Type: application/json' \
  -d '{\"text\":\"تنبيه: عميل VIP محتاج تدخل\"}' \
  '$TEAMS_WEBHOOK_URL'"

# Adaptive Card (رسالة منسّقة)
exec_command "curl -s -X POST -H 'Content-Type: application/json' \
  -d '{\"type\":\"message\",\"attachments\":[{\"contentType\":\"application/vnd.microsoft.card.adaptive\",\"content\":{\"type\":\"AdaptiveCard\",\"version\":\"1.4\",\"body\":[{\"type\":\"TextBlock\",\"text\":\"تقرير اليوم\",\"weight\":\"Bolder\",\"size\":\"Large\"},{\"type\":\"FactSet\",\"facts\":[{\"title\":\"المبيعات:\",\"value\":\"45000 ر.س\"},{\"title\":\"الطلبات:\",\"value\":\"23\"}]}]}}]}' \
  '$TEAMS_WEBHOOK_URL'"
```

## Notion (للوثائق + databases)
Auth: Internal Integration Token. Base: `https://api.notion.com/v1`
```bash
# إنشاء صفحة في database
exec_command "curl -s -X POST -H 'Authorization: Bearer $NOTION_TOKEN' -H 'Notion-Version: 2022-06-28' -H 'Content-Type: application/json' \
  -d '{\"parent\":{\"database_id\":\"$DB_ID\"},\"properties\":{\"Name\":{\"title\":[{\"text\":{\"content\":\"اجتماع TaseesAI Q3\"}}]},\"Date\":{\"date\":{\"start\":\"2026-05-10\"}},\"Status\":{\"select\":{\"name\":\"Done\"}}}}' \
  'https://api.notion.com/v1/pages'"

# Query database
exec_command "curl -s -X POST -H 'Authorization: Bearer $NOTION_TOKEN' -H 'Notion-Version: 2022-06-28' -H 'Content-Type: application/json' \
  -d '{\"filter\":{\"property\":\"Status\",\"select\":{\"equals\":\"In Progress\"}}}' \
  'https://api.notion.com/v1/databases/$DB_ID/query'"
```

## Asana
Auth: PAT. Base: `https://app.asana.com/api/1.0`
```bash
# إنشاء task
exec_command "curl -s -X POST -H 'Authorization: Bearer $ASANA_TOKEN' -H 'Content-Type: application/json' \
  -d '{\"data\":{\"name\":\"اعمل proposal لـTaseesAI\",\"projects\":[\"$PROJECT_ID\"],\"assignee\":\"$USER_ID\",\"due_on\":\"2026-05-15\",\"notes\":\"على QM Q3 plan\"}}' \
  'https://app.asana.com/api/1.0/tasks'"

# قائمة tasks في project
exec_command "curl -s -H 'Authorization: Bearer $ASANA_TOKEN' \
  'https://app.asana.com/api/1.0/projects/$PROJECT_ID/tasks?completed_since=now'"
```

## Linear (للـtech teams)
Auth: API key. GraphQL @ `https://api.linear.app/graphql`
```bash
# إنشاء issue
exec_command "curl -s -X POST -H 'Authorization: $LINEAR_KEY' -H 'Content-Type: application/json' \
  -d '{\"query\":\"mutation { issueCreate(input: {title: \\\"Bug في Salla webhook\\\", teamId: \\\"$TEAM_ID\\\"}) { issue { id identifier title }}}\"}' \
  'https://api.linear.app/graphql'"
```

## أنماط شائعة

### "طلب جديد قيمته كبيرة → نبّه فريق المبيعات في Slack"
```
كل ما يجي webhook من Salla بطلب > 1000 ر.س:
1. استدعِ Slack chat.postMessage بـBlock Kit
2. أضف buttons "وافق" و "تواصل مع العميل"
3. خزّن action في Notion للـaudit
```

### "اجمع تقرير يومي على Notion"
كل يوم 9 المساء:
1. اقرأ نشاط اليوم (مبيعات + شكاوى + tasks)
2. POST page في Notion database "Daily Reports"
3. ابعث Slack notification بـlink الصفحة

## أمثلة
- "ابعث للقناة #sales رسالة 'انتبهوا لطلب 8000'" → Slack chat.postMessage.
- "أنشئ task في Asana 'اتصل بأحمد بكرة'" → POST task.
- "ابعث تنبيه على Teams" → POST webhook URL.
- "ايش tasks اللي عليّ في Asana" → GET tasks بـassignee=me.

## القواعد الذهبية
- ❌ **ممنوع** spamming قنوات Slack — اعمل rate limit (1 رسالة كل 30 ثانية).
- ✅ **استخدم thread responses** بدل قنوات جديدة لاستفسارات متعلقة.
- ✅ **mention المالك (@user)** في الرسائل المهمة فقط.
- ✅ **archive رسائل > 90 يوم** من القنوات تلقائياً عبر Slack API.
