דילוג לתוכן הראשי

פעולות — בלוקי ה‑THEN

פעולה היא שלב שעושה משהו: שולח הודעה, מעדכן שיחה, כותב ל‑CRM שלכם, קורא ל‑API חיצוני, שולח אימייל, או ממיר ערך עבור הבלוק הבא.

הפעולות נושאות את התג הטורקיז THEN. אתם מוסיפים אותן מבורר הבלוקים: גררו מחבר מכל בלוק ושחררו אותו על קנבס ריק.

הרשימה המלאה

פעולהקבוצהמה היא עושה
מענה בהודעהשיחותשולחת הודעה ללקוח, ויכולה להשהות את התהליך עד שהוא ישיב.
הערה פרטיתשיחותמוסיפה הערה פנימית שהלקוח לעולם אינו רואה.
שינוי שיחהשיחותמוסרת לאדם, לצוות או לתור ההמתנה; מתייגת, קובעת עדיפות, מסמנת כטופל, משנה שם ומגדירה מאפייני שיחה.
סיום סשןשיחותמשחררת את השיחה מסטודיו, ואופציונלית מסמנת אותה כטופלה.
המתנהזרימהמשהה את המסלול הזה ל‑1–15 שניות.
שמירה כמשתנהזרימהשומרת ערך לצמיתות תחת var.* עבור הרצות עתידיות.
עדכון איש קשרCRMכותבת לשדות ברשומת איש הקשר.
רשומת לקוחCRMיוצרת או מעדכנת רשומת אובייקט ב‑CRM תחת לקוח.
בקשת HTTPחיצוניקוראת ל‑API חיצוני, ואופציונלית לוכדת את התגובה.
שליחת אימיילחיצונישולחת אימייל מתיבה או מהשולח המערכתי של Teloring.
קודכליםמריצה טרנספורמציית JavaScript קטנה בסביבה מבודדת.
תאריך ושעהכליםמקבלת, מעצבת, מוסיפה, מחסירה, משווה, מחלצת או מעגלת תאריכים.
שליחת התראת Teloringכליםמתריעה לנציגים בתוך Teloring — פעמון, צליל, אימייל ודחיפה בדפדפן.
השמעת צלילקולמשמיעה הקלטה למתקשר.
המתנה / השהיהקולמשהה את השיחה לרגע קצר.
תפריט IVRקולמשמיעה תפריט ומנתבת לפי ספרה במקלדת.
העברה לנציגקולמצלצלת לנציג בדפדפן ומגשרת את השיחה.
העברה לטלפון חיצוניקולמעבירה את השיחה למספר חיצוני.
ניתוקקולמסיימת את השיחה.

בלוקי הסתעפות — תנאי If/Else, שעות פעילות, זמינות נציגים — נושאים את תג הענבר IF ומתועדים בתנאים.

דברים שנכונים לכל פעולה

  • שדות טקסט מקבלים משתנים. הקלידו {{ או גררו משתנה ממדור המשתנים הזמינים. ראו משתנים.
  • פלטים הופכים למשתנים. כל מה שפעולה מפיקה זמין לכל בלוק שאחריה.
  • התפצלות מריצה הכול. אם מפעולה יוצאים שלושה מחברים, כל שלושת המסלולים רצים.
  • פעולה שנכשלת עוצרת את המסלול שלה בלבד, לא את כל התהליך — הסתעפויות אחרות ממשיכות.

מענה בהודעה

שולחת הודעה ללקוח בשיחה, בדיוק כאילו נציג הקליד אותה. היא יוצאת בערוץ שבו השיחה מתנהלת — WhatsApp, אימייל, SMS, טלגרם, צ׳אט באתר וכן הלאה.

זה גם הבלוק שהופך תהליך לשיחה: הפעילו את המתנה לתשובת הלקוח והתהליך יושהה עד שהלקוח ישיב.

תהליכי הודעות בלבד.

מאפיינים

מאפייןמה הוא עושהברירת מחדל
מזהה השיחהלאיזו שיחה לשלוח. השאירו את ברירת המחדל כדי להשיב בשיחה שהפעילה את התהליך.{{conversation.id}}
הודעה (חובה)הטקסט לשליחה. השתמשו במשתנים להתאמה אישית.ריק
המתנה לתשובת הלקוחמשהה את המסלול הזה עד שהלקוח משיב. התשובה שלו הופכת ל‑{{message.content}} החדש וזמינה גם כ‑{{client_reply.content}}.כבוי
פסק זמן להמתנה (דקות)כמה זמן להמתין לפני ויתור. 0 פירושו ללא פסק זמן — התהליך ממשיך להמתין. בכל מקרה Teloring מחזיקה תהליך ממתין עד 30 יום. מופיע רק כשההמתנה מופעלת.0

הגדרת מענה בהודעה

פלטים

משתנהמכיל
{{reply.message_id}}ההודעה שנשלחה
{{reply.conversation_id}}לאן היא נשלחה
{{reply.sent_at}}מתי
{{reply.status}}סטטוס השליחה
{{client_reply.content}}מה הלקוח השיב (כשיש המתנה)
{{client_reply.content_type}}סוג התשובה
{{client_reply.message_id}} · {{client_reply.received_at}}הודעת התשובה וחותמת הזמן

איך ההמתנה מתנהגת

  • כל עוד התהליך ממתין, השיחה נשארת בתור בוט סטודיו.
  • תשובת הלקוח נצרכת על ידי התהליך הממתין — היא אינה מתחילה הרצה שנייה של אותו תהליך.
  • לאחר ההמתנה, אפשר לבדוק את התשובה גם עם {{message.content}} וגם עם {{client_reply.content}}; שניהם מכילים את אותו טקסט.
  • אם תנאי שאחרי המתנה אינו תואם לאף הסתעפות ואין הסתעפות ELSE, התהליך ממשיך להמתין באותו תנאי ומעריך אותו מחדש בהודעה הבאה של הלקוח. הוסיפו הסתעפות ELSE, או בלוק סיום סשן, כדי שלקוח לעולם לא ייתקע בתוך התהליך.
  • אם פסק הזמן פג, ההרצה מסתיימת בסטטוס timed_out.
טיפ

שאלו שאלה אחת בכל מענה בהודעה. שתי שאלות בהודעה אחת מקבלות תשובה אחת, ולתנאי שלכם אין מה להתאים בצורה נקייה.


הערה פרטית

מוסיפה הערה פנימית לשיחה. היא מופיעה בציר הזמן של השיחה עבור הנציגים ולעולם אינה נשלחת ללקוח, בשום ערוץ.

מאפיינים

מאפייןמה הוא עושהברירת מחדל
מזהה השיחהאיזו שיחה מקבלת את ההערה.{{conversation.id}}
הערה פרטיתטקסט ההערה. משתנים נתמכים.ריק

פלטים

משתנהמכיל
{{private_note.message_id}}ההערה
{{private_note.conversation_id}}לאן היא נוספה
{{private_note.created_at}} · {{private_note.status}}מתי, ומה התוצאה

שימושים טובים: לתעד מה בוט אסף לפני המסירה, להדביק סטטוס הזמנה שנמשך מ‑API, או להשאיר את הסיבה להסלמת שיחה.


שינוי שיחה

מעדכנת את השיחה — והכי חשוב, זה המקום שבו אתם מוסרים אותה לאדם: לנציג ספציפי, לצוות שלם או לתור ההמתנה.

מאפיינים

מאפייןאפשרויותמה הוא עושה
מזהה השיחהטקסט / משתנהאיזו שיחה לעדכן. ברירת המחדל היא {{conversation.id}}.
התערבות אנושיתמופעל / כבוימוסר את השיחה לאדם. ‏סטודיו מפסיק להחזיק בה, כך שההודעה הבאה מהלקוח מגיעה לנציג ולא חזרה לתהליך.
מסירה אלתור ההמתנה (הנציג הפנוי הבא) · נציג ספציפי · צוותמופיע כשההתערבות האנושית מופעלת.
נציגבוחר נציגיםמופיע כשמוסרים לנציג ספציפי.
צוותבוחר צוותיםמופיע כשמוסרים לצוות. הסימן מציין צוות שמשייך אוטומטית לחבר מחובר; המספר בסוגריים הוא כמות הנציגים בו.
מצב תוויותהוספת תוויות · החלפת תוויות · הסרת תוויותאיך התוויות שלמטה מוחלות.
תוויותתווית אחת בכל שורההתוויות להוספה, לקביעה או להסרה.
עדיפותללא שינוי · נמוכה · בינונית · גבוהה · דחופהקובע את עדיפות השיחה.
סטטוסללא שינוי · פתוחה · ממתינה · טופלהקובע את סטטוס השיחה.
דגלללא שינוי · ללא · חשוב · למעקבקובע את דגל השיחה.
נושאטקסט / משתנהמשנה את שם השיחה.
מאפייני שיחהבוחר מאפיינים + ערךמגדיר את מאפייני השיחה של החשבון שלכם בשיחה הזו. בחרו את המאפיין, הקלידו את הערך — משתנים מותרים. ראו למטה.

הגדרת שינוי שיחה

פלטים

משתנהמכיל
{{conversation.status}}תוצאת העדכון
{{conversation.updated_fields}}אילו שדות השתנו
{{conversation.handover}}queue,‏ agent,‏ team או ריק
{{conversation.handover_agent_id}}הנציג שאליו נמסרה — במסירה לצוות, החבר ששויך אוטומטית, או ריק אם היא ממתינה בתור
{{conversation.handover_team_id}}הצוות שאליו נמסרה
{{conversation.handover_team_name}}שם הצוות הזה
{{conversation.custom_attributes}}כל מאפייני השיחה, כאובייקט אחד
{{conversation.custom_attributes.<api_id>}}מאפיין בודד — למשל {{conversation.custom_attributes.reason_for_contact}}

הגדרת מאפייני שיחה

מאפייני שיחה הם השדות של החשבון שלכם על שיחה — סיבת הפנייה, תוצאה, מספר הזמנה. הם נמצאים בבלוק הזה ולא בבלוק נפרד, כי הם שדות של השיחה בדיוק כמו עדיפות ונושא.

לחצו הוספת שדה תחת מאפייני שיחה, בחרו מאפיין ותנו לו ערך. הערך מקבל משתנים, כך שתהליך יכול לסווג שיחה לפי מה שהוא כבר יודע:

התהליךמגדיר
תפריט שואל "במה מדובר?"סיבת הפנייה = הכפתור שהלקוח לחץ
טופס פותח את השיחהמספר הזמנה = {{answers.order_number}}
בקשת HTTP מאתרת את הלקוחרמת החשבון = {{http.json.tier}}
הבוט מסמן את השיחה כטופלה בעצמותוצאה = נפתר על ידי הבוט
כללהתנהגות
הערכים מאומתיםערך שאינו אחת מהאפשרויות ברשימה נפתחת מכשיל את הבלוק, כך שתהליך לעולם לא יכתוב משהו שפאנל הנציג יסרב להציג.
מאפיינים שנמחקו מדולגיםמאפיין שהוסר מההגדרות אחרי שהתהליך נבנה נדחה, והבלוק ממשיך לרוץ.
מאפיינים אחרים נשמריםהגדרת מאפיין אחד לעולם אינה מנקה את השאר.
בחירה מרובההפרידו ערכים בפסיקים או בשורות חדשות.

הבלוק מפיק את הערכים החדשים, כך שכל בלוק שאחריו — ובראשם בקשת HTTP — רואה את מה שנכתב זה עתה. המאפיינים זמינים גם מהטריגר, בלי הבלוק הזה, בהודעה נכנסת, בשיחה נכנסת ובשינוי בשיחה. ראו משתנים.

להבין את ההתערבות האנושית

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

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

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

לכל תהליך שמדבר עם לקוחות צריך להיות מסלול לאדם. חברו הסתעפות של "אני רוצה לדבר עם מישהו", או הסתעפות גיבוי, לבלוק שינוי שיחה עם התערבות אנושית מופעלת.


סיום סשן

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

מאפיינים

מאפייןמה הוא עושהברירת מחדל
מזהה השיחהאיזו שיחה לשחרר.{{conversation.id}}
לסמן גם את השיחה כטופלה?מסמנת גם את השיחה כטופלה.כבוי

פלטים

משתנהמכיל
{{session.status}}תוצאה
{{session.conversation_id}}השיחה
{{session.resolved}}האם היא גם סומנה כטופלה

סיום סשן מול התערבות אנושית

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

המתנה

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

תהליכי הודעות בלבד. תהליכי קול משתמשים בהמתנה / השהיה.

מאפיינים

מאפייןמה הוא עושהברירת מחדל
משך ההמתנה (שניות)בין שנייה אחת ל‑15 שניות.3

פלטים

משתנהמכיל
{{wait.seconds}}כמה זמן הוא המתין
לידיעה

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


שמירה כמשתנה

שומרת ערך לצמיתות, כך שהרצות מאוחרות יותר של אותו תהליך יוכלו לקרוא אותו בחזרה. משתנים רגילים חיים רק להרצה אחת; משתנה שמור שורד אותה.

מאפיינים

מאפייןמה הוא עושהברירת מחדל
מפתח המשתנההשם שתחתיו לשמור. תמיד בתוך מרחב השמות var.. מפתחות דינמיים מותרים, למשל var.{{contact.phone}}.address.var.my_value
ערךמה לשמור. משתנים נתמכים.{{message.content}}
סוג הערךטקסט · מספר · בוליאני · JSONטקסט
דריסת משתנה קייםהאם מותר להחליף ערך קיים באותו מפתח.מופעל

פלטים

משתנהמכיל
{{saved_variable.key}}המפתח המנורמל שנכתב
{{saved_variable.value}}הערך השמור
{{saved_variable.status}}תוצאה

איך משתנים שמורים עובדים

  • הם לכל תהליך בנפרד. לשני תהליכים יכול להיות var.counter משלהם בלי התנגשות.
  • הם נטענים לכל הרצה של אותו תהליך, כך ש‑{{var.my_value}} זמין כבר מהבלוק הראשון.
  • המפתחות נאלצים לתוך מרחב השמות var., כך שערך שמור לעולם אינו יכול לדרוס משתנה של מערכת, של איש קשר, של שיחה או של הודעה.
  • תווים לא נתמכים במפתח הופכים לקווים תחתונים.
  • סקרו ומחקו אותם ב**⚙ הגדרות התהליך ← משתנים שמורים**.

שימושים טובים: לזכור העדפה של לקוח לפי מספר טלפון, לשמור את המזהה האחרון שסונכרן ממערכת חיצונית, או להחזיק מונה מצטבר.


עדכון איש קשר

כותבת לשדות ברשומת איש הקשר — האדם, לא החברה.

מאפיינים

מאפייןמה הוא עושהברירת מחדל
מזהה איש הקשראיזה איש קשר לעדכן.{{contact.id}}
שדות לעדכוןשורות של שדה ← ערך. שם השדה הוא רשימה נפתחת של שדות איש הקשר שהחשבון שלכם באמת הגדיר בעורך השדות. שדה שכבר בשימוש בשורה אחת נעלם מהרשימות האחרות. הערכים תומכים במשתנים.ריק

פלטים

משתנהמכיל
{{contact.status}}תוצאה
{{contact.updated_fields}}אילו שדות נכתבו
הערה

שדות מערכת מוגנים אינם ניתנים לכתיבה על ידי תהליך. אם שדה שאתם מצפים לו חסר ברשימה, הוסיפו אותו קודם בעורך השדות של איש הקשר — ראו CRM ולקוחות.


רשומת לקוח

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

מאפיינים

מאפייןאפשרויותמה הוא עושה
פעולההוספת רשומה חדשה · עריכת רשומה קיימתהאם ליצור או לעדכן.
מזהה הלקוחטקסט / משתנהלאיזה לקוח הרשומה שייכת. ברירת המחדל היא {{customer.id}}.
סוג האובייקט (חובה)רשימה נפתחת של אובייקטי ה‑CRM המופעלים בחשבוןאיזה אובייקט הרשומה הזו. רשימת השדות שלמטה נגזרת מהבחירה הזו.
מזהה הרשומהטקסט / משתנהאיזו רשומה לערוך. מופיע רק עבור עריכת רשומה קיימת.
שדות הרשומהשורות של שדה ← ערךהרשימה הנפתחת מציגה את השדות האמיתיים של סוג האובייקט שנבחר. מושבתת עד שנבחר סוג אובייקט. הערכים תומכים במשתנים.

הגדרת רשומת לקוח

פלטים

משתנהמכיל
{{record.status}}created או updated
{{record.id}}הרשומה
{{record.schema_id}}סוג האובייקט
{{record.customer_id}}הלקוח

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

טיפ

יצירת רשומה כאן מפעילה את טריגר רשומת הלקוח. זה שימושי לשרשור תהליכים — אבל היזהרו מתהליך שמפעיל את עצמו.


בקשת HTTP

שולחת נתונים למערכת חיצונית, או מושכת נתונים ממנה. זהו הגשר הכללי בין Teloring לשאר המערכות שלכם.

מאפיינים

מאפייןאפשרויותמה הוא עושה
שיטהGET · POST · PUT · PATCH · DELETE · COPY · HEAD · OPTIONSשיטת ה‑HTTP.
כתובת (חובה)טקסט / משתנההכתובת המלאה. משתנים נתמכים, למשל https://api.example.com/orders/{{contact.id}}.
כותרות הבקשהשורות מפתח/ערךכל כותרת שתצטרכו. ‏Content-Type, ‏Cache-Control, ‏User-Agent ו‑Accept מוצעות כערכים מוכנים. הערכים תומכים במשתנים.
סוג הגוףללא · JSON · Form dataמה לשלוח בגוף הבקשה.
גוף JSONאזור טקסטמופיע עבור JSON. חייב להיות JSON תקין.
שדות טופסשורות מפתח/ערךמופיע עבור Form data. הערכים תומכים במשתנים.
פסק זמן לבקשה (שניות)1–60כמה זמן להמתין לשרת.
לכידת התגובה לפעולות הבאותמופעל / כבויראו למטה.

הגדרת בקשת HTTP

לכידת התגובה — מופעל או כבוי?

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

פלטים

משתנהמכיל
{{http.status}}סטטוס השליחה
{{http.task_id}}מזהה משימת הרקע, כשהלכידה כבויה
{{http.status_code}}קוד סטטוס HTTP, למשל 200
{{http.ok}}true עבור תגובת 2xx
{{http.content_type}}סוג התוכן של התגובה
{{http.body}}גוף התגובה הגולמי
{{http.json}}התגובה מפוענחת כ‑JSON
{{http.headers}}כותרות התגובה
{{http.error}}השגיאה, אם הקריאה נכשלה

כאשר התגובה היא אובייקט JSON, השדות שלה משוטחים גם למשתנים נפרדים — {{http.json.order_id}}, {{http.json.customer.name}} וכן הלאה.

משתנים בתוך גוף JSON

סטודיו מודע לטיפוסים כשהוא ממלא גוף JSON:

  • משתנה שממלא ערך שלם — כתוב חשוף ("answers": {{answers.list}}) או כמחרוזת שלמה במרכאות ("answers": "{{answers.list}}") — שומר על טיפוס ה‑JSON האמיתי שלו. מערכים נשארים מערכים, מספרים נשארים מספרים, אובייקטים נשארים אובייקטים.
  • משתנה בתוך מחרוזת ארוכה יותר ("greeting": "שלום {{contact.name}}!") מוחלף כטקסט, עם מרכאות ותווים מיוחדים שעברו בריחה בטוחה.
  • משתנה שאין לו ערך נשאר כפי שהוא.

העורך מאמת את ה‑JSON תוך כדי ההקלדה. ‏JSON לא תקין צובע את התיבה באדום ומוסיף תג אזהרה על הבלוק; אפשר להמשיך לערוך, אבל תקנו לפני הפרסום.

אבטחה

סטודיו קורא רק לכתובות ציבוריות ב‑http:// וב‑https://. כתובות localhost, רשתות פרטיות, loopback,‏ link-local וכתובות מטא‑דאטה של ספקי ענן חסומות, כך שתהליך לעולם אינו יכול לשמש כדי להגיע לתוך התשתית.


שליחת אימייל

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

מאפיינים

מאפייןאפשרויותמה הוא עושה
שליחה מאחת מתיבות האימייל שלי · השולח המערכתי של Teloringממי האימייל מגיע.
תיבת אימיילרשימה נפתחת של תיבות אימייל מחוברותמופיעה עבור אפשרות התיבה. כל תיבת אימייל מחוברת יכולה לשלוח — גם תיבות שיחות וגם תיבות לשליחה בלבד.
שולח מערכתיהודעה לקריאה בלבדמופיעה עבור אפשרות המערכת, ומציגה את הכתובת שתשמש.
אל (חובה)טקסט / משתנהכתובת אחת או יותר. ברירת המחדל היא {{contact.email}}.
CC · BCC · כתובת למענהטקסט / משתנהאופציונלי.
נושא (חובה)טקסט / משתנהשורת הנושא.
פורמט הגוףטקסט רגיל · HTMLאיך הגוף נכתב.
גוף (חובה)אזור טקסטתוכן האימייל. משתנים נתמכים.
כותרות מותאמותשורות מפתח/ערךכותרות טכניות אופציונליות. ‏X-Teloring-Flow, ‏X-Campaign, ‏X-Priority ו‑List-Unsubscribe מוצעות כערכים מוכנים.

הגדרת שליחת אימייל

פלטים

משתנהמכיל
{{email.status}}sent,‏ failed או test
{{email.message_id}}ההודעה שנשלחה
{{email.from}} · {{email.to}} · {{email.subject}}מה נשלח, ולמי
{{email.provider}}איזה שירות מסר אותו
{{email.error}}השגיאה, אם נכשל

נמענים ומגבלות

  • השדות אל, CC, BCC וכתובת למענה מקבלים כמה כתובות מופרדות בפסיקים, בנקודה‑פסיק או בשורות חדשות, ומזהים את התבנית Name <address@example.com>.
  • כל כתובת מאומתת וכפילויות מוסרות. לכל היותר 25 נמענים בסך הכול.
  • לכל היותר 10 כותרות מותאמות. כותרות מיעון ושרשור (From, To, Cc, Bcc, Reply-To, Subject, Message-ID, Content-Type, …) נקבעות בשדות שלמעלה ואינן ניתנות לדריסה כאן.
  • בכל פורמט גוף שתבחרו, נשלחים גם חלק טקסט וגם חלק HTML, כך שהאימייל מוצג נכון בכל מקום.
זהירות

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

הערה

הרצת בדיקה מזהה את השולח ומאמתת הכול, אך אינה שולחת דבר. הבלוק מדווח email.status = test.


קוד

מריצה טרנספורמציית JavaScript קטנה ומחזירה ערך לבלוקים שאחריה. השתמשו בה לדברים ששדה טקסט אינו יכול לעשות: ניקוי מספר טלפון, פיצול שם, עיצוב מחדש של מזהה, בחירת פריט אחד מתוך רשימה.

מאפיינים

מאפייןמה הוא עושה
קוד JavaScript (חובה)הקוד להרצה. הוא חייב להחזיר ערך באמצעות return.

בלוקים חדשים מתחילים עם דוגמה עובדת:

const phone = "{{contact.phone}}";
const cleanNumber = phone.replace(/^\+/, '');
return cleanNumber;

קריאת משתנים

שתי דרכים, שתיהן תקינות:

// 1 — מוחלף לפני הרצת הקוד
const name = "{{contact.name}}";

// 2 — נקרא מאובייקט המשתנים הקפוא
const phone = variables["contact.phone"];

פלטים

משתנהמכיל
{{code.status}}תוצאה
{{code.result}}הערך שהוחזר, עם שמירה על הטיפוס שלו
{{code.result_text}}הערך שהוחזר כטקסט
{{code.error}}השגיאה, אם הקוד נכשל

מה הסביבה המבודדת מתירה

בלוק הקוד רץ בבידוד, עם תקרת זיכרון ומגבלת זמן קצרה. הוא נועד לעיבוד נתונים בלבד:

מותרחסום
פעולות על מחרוזות, מספרים, מערכים, אובייקטים, תאריכים וביטויים רגולרייםfetch,‏ XMLHttpRequest,‏ WebSocket — אין רשת
אובייקט ה‑variables וכל {{variable}} שתחליפוrequire,‏ import,‏ process — אין מודולים, אין סביבה
החזרת כל ערך שניתן להמרה ל‑JSONeval,‏ Function,‏ WebAssembly

קוד שאינו מחזיר ערך מכשיל את הבלוק בכוונה, כך שהתהליך לעולם לא ימשיך עם נתונים חסרים. כדי לקרוא לשירות חיצוני, השתמשו בבקשת HTTP.


תאריך ושעה

מחשבת ומעצבת תאריכים. כל פעולה מודעת לאזור זמן.

מאפיינים

מאפייןאפשרויותמה הוא עושה
פעולהקבלת התאריך/השעה הנוכחיים · הוספת זמן · החסרת זמן · עיצוב תאריך · חילוץ חלק · זמן בין תאריכים · עיגול תאריךמה לחשב.
תאריך קלטטקסט / משתנההתאריך לעבוד עליו, בפורמט ISO. השאירו ריק עבור "עכשיו".
תאריך שניטקסט / משתנההתאריך השני. מופיע עבור זמן בין תאריכים.
כמותמספרכמה להוסיף או להחסיר. מופיע עבור הוספה והחסרה.
יחידהשניות · דקות · שעות · ימים · שבועותהיחידה עבור הכמות.
חלקתאריך · שעה · שנה · חודש · יום · שעה · דקה · יום בשבועאיזה חלק לחלץ. מופיע עבור חילוץ חלק.
פורמטטקסטתבנית הפלט, למשל %Y-%m-%d %H:%M:%S. מופיע עבור עיצוב תאריך.
אזור זמןטקסטאזור הזמן שבו החישוב מתבצע. ברירת המחדל היא Asia/Jerusalem.

פלטים

משתנהמכיל
{{datetime.status}}תוצאה
{{datetime.result}}הערך המחושב
{{datetime.result_text}}הערך כטקסט
{{datetime.date}} · {{datetime.time}}חלק התאריך וחלק השעה
{{datetime.timestamp}}חותמת זמן Unix

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


שליחת התראת Teloring

מתריעה לנציגים בתוך Teloring — פעמון ההתראות, צליל, אימייל ודחיפה בדפדפן. השתמשו בה לכל דבר ששני סוגי ההתראות המובנים אינם מכסים: ליד חדש, סף באנליטיקס, ‏SLA שעומד להיפרץ, הגשת טופס, לקוח VIP שכותב.

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

התהליך בוחר מה ולמי. הנמען בוחר איך.

הבלוק הזה קובע את הטקסט ואת הנמענים. הוא לעולם אינו קובע איך ההתראה מגיעה אליהם — זה נשאר אצל כל נציג, בפרופיל שלו.

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

מאפיינים

מאפייןאפשרויותמה הוא עושה
שליחה אל (חובה)נציגים ספציפיים · הנציג המשויך לשיחה הזו · כל חברי צוותמי מקבל התראה.
נציגיםרשימת סימון של נציגיםמופיעה עבור נציגים ספציפיים. נציגים אנושיים בלבד — לנציג AI אין תיבה לקבלת התראות.
צוותרשימה נפתחת של צוותיםמופיעה עבור כל חברי צוות. כל חבר מקבל התראה.
מזהה השיחהטקסט / משתנהמופיע עבור הנציג המשויך לשיחה הזו. ברירת המחדל היא {{conversation.id}}.
הודעה (חובה)אזור טקסטהטקסט שהנציגים רואים. משתנים נתמכים — איש קשר חדש {{contact.name}} נוצר!
פרטים נוספיםאזור טקסטשורה שנייה אופציונלית, שמוצגת ברשימת הפעמון, באימייל ובדחיפה בדפדפן.
לחיצה על ההתראה פותחתאת השיחה מהתהליך הזה · כלום — טקסט בלבד · עמוד ספציפי ב‑Teloringלאן ההתראה מקשרת.
עמוד ב‑Teloringטקסט / משתנהמופיע עבור אפשרות העמוד הספציפי. נתיב בתוך Teloring, כמו /dashboard/customers.

הגדרת שליחת התראת Teloring

פלטים

משתנהמכיל
{{notification.status}}sent,‏ no_recipients,‏ test_mode או failed
{{notification.recipients}}לכמה נציגים ההתראה כוונה
{{notification.delivered}}כמה באמת קיבלו משהו, אחרי שההגדרות האישיות שלהם הוחלו
{{notification.message}}הטקסט הסופי, עם משתנים שפוענחו
{{notification.error}}השגיאה, אם נכשל

recipients ו‑delivered הם בדרך כלל המספרים שאתם צריכים בזמן איתור תקלות. ‏recipients: 3, delivered: 0 פירושו שהתהליך מצא שלושה נציגים ולאף אחד מהם לא היו התראות סטודיו מופעלות.

להבין את "שליחה אל"

אפשרותמתורגמת לכשאף אחד אינו תואם
נציגים ספציפייםבדיוק הנציגים שסימנתם.הבלוק מדווח no_recipients.
הנציג המשויך לשיחה הזומי שמחזיק כרגע בשיחה.לשיחה ללא שיוך אין בעלים, ולכן הבלוק מסתיים עם no_recipients. זו אינה שגיאה — התהליך ממשיך.
כל חברי צוותכל חבר בצוות שנבחר, ברגע שהבלוק רץ.צוות ריק או שנמחק מדווח no_recipients.

מגבלות ובטיחות

  • קישורים חיצוניים בלתי אפשריים. שדה עמוד ב‑Teloring מקבל רק נתיב בתוך Teloring. כתובת מלאה נזרקת, כך שהתראה לעולם אינה יכולה להפוך לקישור לאתר חיצוני.
  • שדה הודעה נחתך ל‑160 תווים ופרטים נוספים ל‑600.
  • הטקסט מוצג כטקסט רגיל בכל מקום שבו הוא מופיע, כולל בתוך האימייל.
  • שדה הודעה ריק מכשיל את הבלוק. כמו בכל מקום בסטודיו, משתנה שלא ניתן לפענח נשאר גלוי ({{contact.name}}) במקום להתרוקן בשקט, כדי שתוכלו לזהות את הטעות.
  • אותה התראה אינה יכולה להגיע לאותו נציג פעמיים בתוך 60 שניות.
הערה

הרצת בדיקה מזהה את הנמענים ואת הטקסט ומאמתת הכול, אך אינה מתריעה לאיש. הבלוק מדווח notification.status = test_mode. בדיקת תהליך לעולם אינה מצלצלת לנציגים אמיתיים.

דוגמה — יידוע צוות המכירות על ליד חדש

  1. טריגר: שינוי לקוח ← נוצר
  2. תנאי: If/Else ← {{customer.new.lifecycle_stage}} שווה ל‑lead
  3. ואז: שליחת התראת Teloring
    • שליחה אל: כל חברי צוות ← מכירות
    • הודעה: ליד חדש: {{customer.new.name}}
    • פרטים נוספים: טלפון {{contact.phone}} · מקור {{customer.new.source}}
    • לחיצה על ההתראה פותחת: עמוד ספציפי ב‑Teloring ← /dashboard/customers

כל חבר בצוות המכירות שהפעיל התראות סטודיו מקבל התרעה, כל אחד בשיטות שהוא בחר.

הבא