> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tedro.io/llms.txt
> Use this file to discover all available pages before exploring further.

# צמתי Tool

> חיבור שירותים חיצוניים ו-API ל-workflows של Tedro.

# צמתי Tool

צמתי tool מאפשרים ל-workflow לתקשר עם מערכות חיצוניות. אפשר לקרוא ל-HTTP APIs, להתחבר לשרתי MCP ולשלב שירותי צד שלישי ישירות מתוך ה-workflow.

<Note>
  **אבטחה**: אישורי גישה של tools מוצפנים במנוחה ואינם נחשפים בתגובות API. האישורים נשלחים פעם אחת בזמן היצירה ואי אפשר לשלוף אותם שוב לאחר מכן.
</Note>

***

## tool.http\_request

**קריאה ל-HTTP endpoint חיצוני.**

צומת `HTTP Request` מבצע קריאות API יוצאות לשירותים חיצוניים. כך אפשר להתחבר ל-CRM, למערכת ticketing, לספק תשלומים או לכל REST API אחר.

### קונפיגורציה

| Option         | Type   | Required | Description                                                          |
| -------------- | ------ | -------- | -------------------------------------------------------------------- |
| `method`       | string | Yes      | שיטת HTTP: `GET`, `POST`, `PUT`, `DELETE`                            |
| `url`          | string | Yes      | כתובת ה-endpoint. תומכת בהחלפת משתני הקשר                            |
| `headers`      | object | No       | כותרות הבקשה במבנה key-value, למשל `Authorization` או `Content-Type` |
| `body`         | string | No       | תבנית body לבקשות POST או PUT. תומכת במשתני הקשר                     |
| `timeout`      | number | No       | זמן timeout במילישניות. ברירת המחדל: 10000                           |
| `credentialId` | string | No       | הפניה לאישור גישה שמור עבור אימות                                    |

### משתנים ב-URL וב-body

אפשר להשתמש במשתני הקשר בתוך ה-URL וה-body:

```
# URL with variable
https://api.example.com/orders/{{conversation.fields.order_id}}

# JSON body with variables
{
  "customer_phone": "{{contact.phone}}",
  "customer_name": "{{contact.name}}",
  "inquiry_type": "{{router.category}}"
}
```

### הגנות אבטחה

צומת `HTTP Request` כולל הגנות מובנות:

* **SSRF protection**: כתובות IP פרטיות וטווחי רשת פנימיים נחסמים
* **URL allowlists**: אדמינים יכולים לקבוע אילו דומיינים מותרים
* **Encrypted credentials**: מפתחות API וטוקנים נשמרים מוצפנים, לעולם לא נרשמים ליומנים ולא נחשפים
* **Request logging**: כל בקשה יוצאת נרשמת ב-run steps, כאשר כותרות רגישות מושחרות

### Outputs

| Output             | Type          | Description                              |
| ------------------ | ------------- | ---------------------------------------- |
| `response.status`  | number        | קוד הסטטוס של HTTP, למשל 200, 404 או 500 |
| `response.body`    | object/string | גוף התשובה לאחר parsing                  |
| `response.headers` | object        | כותרות התשובה                            |

### Connections

* **Inputs**: ידית כניסה אחת מהצומת הקודם
* **Outputs**: ידית יציאה אחת שמעבירה את התגובה לצומת הבא

### דוגמת שימוש

כאשר לקוח שואל על סטטוס הזמנה, אפשר להשתמש ב-`HTTP Request` כדי לקרוא ל-API של החנות: `GET https://api.myshop.com/orders/{{conversation.fields.order_id}}/status`. לאחר מכן מעבירים את התשובה ל-`AI Respond`, שיכול לנסח עדכון ברור ללקוח.

***

## tool.mcp\_call

**קריאה ל-tool על גבי שרת MCP (Model Context Protocol).**

צומת `MCP Call` מתחבר לשרתים תואמי MCP ומאפשר אינטגרציות מתקדמות עם שירותים שמממשים את הפרוטוקול. MCP מספק דרך סטנדרטית ליישומי AI לעבוד עם tools ומקורות נתונים חיצוניים.

### קונפיגורציה

| Option         | Type   | Required | Description                                                 |
| -------------- | ------ | -------- | ----------------------------------------------------------- |
| `serverUrl`    | string | Yes      | כתובת שרת ה-MCP                                             |
| `toolName`     | string | Yes      | שם ה-tool שצריך להפעיל על השרת                              |
| `parameters`   | object | No       | פרמטרים ייעודיים ל-tool במבנה key-value. תומכים במשתני הקשר |
| `credentialId` | string | No       | הפניה לאישור גישה שמור עבור אימות מול שרת ה-MCP             |

### Outputs

| Output    | Type    | Description                          |
| --------- | ------- | ------------------------------------ |
| `result`  | object  | תוצאת ההרצה שהוחזרה על ידי שרת ה-MCP |
| `isError` | boolean | האם הרצת ה-tool הסתיימה בשגיאה       |

### Connections

* **Inputs**: ידית כניסה אחת מהצומת הקודם
* **Outputs**: ידית יציאה אחת שמעבירה את תוצאת ה-tool לצומת הבא

### דוגמת שימוש

אפשר להתחבר לשרת MCP שמספק tools לחיפוש בבסיס ידע. לדוגמה, לקרוא ל-tool בשם `search_knowledge_base` עם שאלת הלקוח, ואז להעביר את התוצאות ל-`AI Respond` כדי לנסח תשובה שמבוססת על המידע הפנימי שלכם.

<Note>
  MCP הוא דפוס אינטגרציה מתקדם. רוב ה-workflows יסתפקו ב-`tool.http_request` לצורך אינטגרציות API רגילות. השתמשו ב-`tool.mcp_call` כאשר השירות החיצוני מממש במפורש את Model Context Protocol.
</Note>

## ניהול אישורי גישה לכלים

אישורי הגישה של tools מנוהלים תחת **Settings > Tools** ב-workspace:

1. **יוצרים tool definition** עם כתובת ה-endpoint והשיטה
2. **מוסיפים credentials** כמו API key, bearer token או headers מותאמים -- האישורים מוצפנים מיד
3. **בודקים את החיבור** באמצעות כפתור הבדיקה המובנה
4. **מפנים אל ה-tool** מתוך workflow nodes על ידי בחירה שלו מתוך כלי הבחירה ב-inspector

ה-credentials:

* **מוצפנים במנוחה**
* נשלחים פעם אחת בזמן היצירה, ו-**לעולם לא מוחזרים** בתגובות API
* מבודדים לפי workspace, עם אכיפת tenant isolation
* גלויים רק למשתמשים בתפקיד **Admin**
