<!-- נוצר אוטומטית ממקור התיעוד הקנוני של Teloring. אין לערוך קובץ זה. -->

עמוד קנוני: https://docs.teloring.com/he/docs/product/studio/conditions
עודכן לאחרונה: 2026-08-20T20:49:57.000Z

# תנאים — בלוקי ה‑IF

**תנאי** מחליט לאיזה כיוון התהליך ממשיך. הוא נושא את תג הענבר **IF** ויש לו **פורט פלט אחד לכל תוצאה**, כך שאפשר לחבר מסלול שונה לכל אחת.

בסטודיו יש שלושה בלוקי תנאי:

| בלוק | על מה הוא שואל | פלטים |
| --- | --- | --- |
| [תנאי If/Else](#condition-ifelse) | האם הערך הזה תואם לכלל שלי? | פורט אחד לכל הסתעפות IF, ובנוסף ELSE אופציונלי |
| [שעות פעילות](#business-hours) | האם אנחנו פתוחים עכשיו? | **פתוח** · **סגור** |
| [זמינות נציגים](#agent-availability) | האם מישהו מחובר כדי לקחת את זה? | **מחובר** · **מנותק** |

שלושתם מופיעים בקבוצת **זרימה** בבורר הבלוקים, ושלושתם עובדים גם בתהליכי הודעות וגם בתהליכי קול.

![תהליך שמסתעף לפי תנאי](pathname:///img/screenshots/he/product/studio/condition-branches-canvas.png)

---

## תנאי If/Else {#condition-ifelse}

מנתב את התהליך על ידי השוואת ערך לכלל. כל כלל שתוסיפו הופך לפורט פלט משלו, עם תווית.

### מאפיינים

| מאפיין | אפשרויות | מה הוא עושה |
| --- | --- | --- |
| **מצב התאמה** | ההתאמה הראשונה בלבד · כל ההסתעפויות התואמות | מה לעשות כשיותר מכלל אחד תואם. |
| **הסתעפויות IF** | רשימת כללים | כל שורה היא הסתעפות אחת. ראו למטה. |
| **הוספת הסתעפות ELSE** | מופעל / כבוי | מוסיף פורט "תופס הכול" עבור כל מה שלא תאם לדבר. |
| **תווית ה‑ELSE** | טקסט | השם שמוצג מתחת לפורט ה‑ELSE. ברירת המחדל היא *כל השאר*. |

### מבנה של כלל

לכל שורת IF ארבעה חלקים:

| חלק | מה שמים בו |
| --- | --- |
| **תווית ההסתעפות** | שם קצר — `מכירות`, `תמיכה`, `VIP`. הוא הופך לתווית הפורט על הקנבס, אז כדאי שיהיה קריא. |
| **ערך / משתנה** | הדבר שנבדק, כתוב כמפתח משתנה פשוט: `message.content`,‏ `client_reply.content`,‏ `http.json.status`. |
| **אופרטור** | איך להשוות. ראו את הטבלה למטה. |
| **השוואה כ** | טקסט · מספר · בוליאני · משתנה — איך לקרוא את הצד הימני. |
| **השוואה מול** | מול מה להשוות: מילה, מספר, `true`, או משתנה אחר. |

![הגדרת תנאי If/Else](pathname:///img/screenshots/he/product/studio/condition-if-else.png)

### אופרטורים

| אופרטור | נכון כאשר | הערות |
| --- | --- | --- |
| **שווה ל** | שני הערכים זהים | |
| **אינו שווה ל** | הם שונים | |
| **מכיל** | הטקסט מהצד השני מופיע בכל מקום בערך | אינו רגיש לאותיות גדולות/קטנות |
| **אינו מכיל** | הוא אינו מופיע | אינו רגיש לאותיות גדולות/קטנות |
| **מתחיל ב** | הערך מתחיל בטקסט | אינו רגיש לאותיות גדולות/קטנות |
| **מסתיים ב** | הערך מסתיים בטקסט | אינו רגיש לאותיות גדולות/קטנות |
| **גדול מ** | שמאל > ימין | מספרים בלבד; ערך שאינו מספרי לעולם אינו תואם |
| **גדול או שווה** | שמאל ≥ ימין | מספרים בלבד |
| **קטן מ** | שמאל &lt; ימין | מספרים בלבד |
| **קטן או שווה** | שמאל ≤ ימין | מספרים בלבד |
| **קיים** | הערך קיים ואינו ריק | **השוואה מול** נדחה |
| **אינו קיים** | הערך חסר או ריק | **השוואה מול** נדחה |

:::tip
`מכיל` הוא סוס העבודה לתשובות של לקוחות — אנשים מקלידים "מכירות בבקשה" ו"אני צריך מכירות", לא "מכירות". השתמשו ב‑`שווה ל` רק כשאתם שולטים בערך, למשל קוד תגובת HTTP או ספרה בתפריט IVR.
:::

### מצב התאמה

| מצב | התנהגות |
| --- | --- |
| **ההתאמה הראשונה בלבד** | הכללים נבדקים מלמעלה למטה; הראשון שתואם מנצח ורק ההסתעפות שלו רצה. סדרו את הכללים מהספציפי ביותר לכללי ביותר. |
| **כל ההסתעפויות התואמות** | כל כלל שתואם מריץ את ההסתעפות שלו, במקביל. |

הסתעפות ה‑**ELSE** רצה רק כשאף כלל IF לא תאם כלל.

### פורטים של הסתעפויות

כל כלל IF מוסיף פורט מתחת לבלוק, עם תווית של שם ההסתעפות; ‏ELSE מוסיף פורט נוסף. גררו מחבר מכל פורט למה שאמור לקרות במסלול הזה. פורט שתשאירו לא מחובר פשוט מסיים את המסלול — וזו דרך לגיטימית לחלוטין לומר "אל תעשה כלום במקרה הזה".

### תנאים אחרי המתנה

כשתנאי יושב אחרי **מענה בהודעה** עם *המתנה לתשובת הלקוח* מופעלת, הוא נבדק מול תשובת הלקוח. גם `{{message.content}}` וגם `{{client_reply.content}}` מכילים את התשובה הזו.

:::caution
אם תנאי שאחרי המתנה אינו תואם לדבר **ואין לו הסתעפות ELSE**, התהליך נשאר מוחנה בתנאי ומעריך אותו מחדש בהודעה הבאה של הלקוח. זה שימושי עבור "תמשיך לשאול עד שהוא יבחר אפשרות תקינה", אבל זה אומר שלקוח יכול להיתקע בלולאה לנצח. תמיד תנו לו דרך החוצה: הסתעפות ELSE, מסירה לאדם, או בלוק [סיום סשן](./actions.md#end-session).
:::

---

## שעות פעילות {#business-hours}

מנתב את התהליך לפי **לוח זמנים בעל שם** שהגדרתם בהגדרות — שעות פתיחה שבועיות באזור זמן שנבחר, עם לוחות חגים אופציונליים.

### מאפיינים

| מאפיין | מה הוא עושה |
| --- | --- |
| **לוח זמנים** *(חובה)* | בחרו אחד מלוחות שעות הפעילות של החשבון. |

### פלטים

| פורט | רץ כאשר |
| --- | --- |
| **פתוח** | השעה הנוכחית נמצאת בתוך שעות הפתיחה של הלוח. |
| **סגור** | היא מחוץ להן, או שהיום הוא חג בלוח שהלוח מתחשב בו. |

| משתנה | מכיל |
| --- | --- |
| `{{business_hours.status}}` | `open` או `closed` |
| `{{business_hours.schedule_id}}` | איזה לוח נבדק |
| `{{business_hours.timezone}}` | אזור הזמן של הלוח |

### הערות

- נעשה שימוש ב**אזור הזמן של הלוח עצמו**, לא של הלקוח ולא של הדפדפן. לצוות בתל אביב ולצוות בלונדון יכול להיות לוח משלהם באותו חשבון.
- הלוחות נוצרים ב**הגדרות ← שעות פעילות**. לחשבונות חדשים אין לוחות — צרו את אלה שאתם באמת צריכים. ראו [הגדרות](../settings.md).
- אפשר להשתמש באותו לוח בכל מספר של תהליכים. שנו את השעות פעם אחת וכל התהליכים יעקבו.

**שימושים טובים:** מענה אוטומטי מחוץ לשעות הפעילות בערוצי הודעות, והסתעפות "אנחנו סגורים, השאירו הודעה" בתהליך טלפוני.

---

## זמינות נציגים {#agent-availability}

שואל האם מישהו **מחובר ל‑Teloring כרגע** — אותה נקודה ירוקה שאתם רואים בצ׳אט הצוות. זו בדיקת סשן חי, ולא סטטוס שהנציג קובע.

### מאפיינים

| מאפיין | אפשרויות | מה הוא עושה |
| --- | --- | --- |
| **בדיקה** | נציגים ספציפיים · כל אחד בחשבון | על מי להסתכל. |
| **נציגים לבדיקה** *(חובה עבור ספציפיים)* | בוחר נציגים | הנציגים שההסתעפות הזו תלויה בהם. |
| **נחשב מחובר כאשר** | לפחות נציג אחד שנבחר מחובר · כל הנציגים שנבחרו מחוברים | כמה מחמירה הבדיקה. מופיע עבור **נציגים ספציפיים**. |

![הגדרת זמינות נציגים](pathname:///img/screenshots/he/product/studio/condition-agent-availability.png)

### פלטים

| פורט | רץ כאשר |
| --- | --- |
| **מחובר** | הבדיקה עברה. |
| **מנותק** | הבדיקה לא עברה. |

| משתנה | מכיל |
| --- | --- |
| `{{availability.status}}` | `online` או `offline` |
| `{{availability.online_count}}` · `{{availability.offline_count}}` · `{{availability.checked_count}}` | המספרים שמאחורי התשובה |
| `{{availability.online_ids}}` · `{{availability.offline_ids}}` | אילו נציגים |
| `{{availability.first_online_id}}` · `{{availability.first_online_name}}` | "מישהו שיכול לקחת את זה", בנוחות |

### שני כללים שכדאי להכיר

- **בחירה ריקה לעולם אינה "כולם".** אם **בדיקה** מוגדרת ל*נציגים ספציפיים* ולא נבחר אף נציג, התוצאה היא **מנותק** והבלוק מציג אזהרה. זה בכוונה: בלוק שלא הושלם לא צריך להתנהג בשקט כמו *כל אחד בחשבון* ולעבור רק כי עמית לא קשור במקרה מחובר.
- **נציגי AI לעולם אינם נחשבים מחוברים.** אין להם סשן, ולכן נציג AI שזמין תמיד אינו יכול לספק הסתעפות של זמינות אנושית. הם גם אינם מופיעים בבוחר.

:::tip
`{{availability.first_online_name}}` שימושי להודעה כמו `מחברים אתכם אל {{availability.first_online_name}}…` ממש לפני מסירת השיחה.
:::

## הבא

- [פעולות — בלוקי ה‑THEN](./actions.md) — מה כל הסתעפות יכולה לעשות.
- [משתנים](./variables.md) — מה אפשר לבדוק בכלל.
- [מתכוני תהליכים](./examples.md) — הסתעפות בתוך תהליכים שלמים.
