איך זה עובד
- הגדירו כלים באמצעות סכימה (אילו ארגומנטים הכלי מקבל)
- ספקו תצורת
endpoint(המקום שבו ThunderPhone קורא ל-API שלכם) — או השמיטו אותה כדי לקבל קריאות לכלים ב-webhook של הארגון שלכם - במהלך שיחה, ה-AI מחליט מתי להשתמש בכלי על סמך השיחה
- ThunderPhone קורא ל-endpoint שלכם עם ארגומנטי הכלי
- תגובת ה-API שלכם מוחזרת ל-AI כדי להמשיך את השיחה
כלי פונקציה הם הנתיב לשימוש ב-API משלכם. ThunderPhone כולל גם
כלים המנוהלים על ידי הפלטפורמה ואינם דורשים endpoint:
חיבורי אפליקציות (HubSpot, Salesforce, Slack,
Google Calendar, Google Sheets, Cal.com),
חיבורי API, וכן
שרתי MCP.
סכימת כלי
כל כלי פועל לפי המבנה הבא:הגדרת פונקציה
תצורת Endpoint
תצורת ה-
endpoint אינה נשלחת למודל ה-AI — היא משמשת את ThunderPhone בלבד להפעלת קריאת הכלי.שני נתיבי הפעלה
הבקשה שהשרת שלכם מקבל תלויה בשאלה אם לכלי ישendpoint:
שני הנתיבים הם חוסמים — ה-AI ממתין באמצע המשפט
לתוצאה — עם זמן קצוב של 20 שניות. הקפידו שהמטפלים יהיו מהירים. אפשר
לשלב ביניהם: בשיחה שבה לארגון יש כתובת webhook, כלים עם
endpoint
נקראים ישירות והשאר חוזרים ל-webhook.
קריאות ישירות לנקודות קצה
כאשר ה-AI מפעיל כלי שיש לוendpoint, ThunderPhone שולחת
בקשה לכתובת ה-URL שלכם:
כותרות בקשה
endpoint.headers שלכם נכללות תמיד
כפי שהן, בנוסף לשתי כותרות במרחב השמות של ThunderPhone:
X-ThunderPhone-Signature— HMAC-SHA256 של הבתים המדויקים של גוף הבקשה, עם מפתח שהוא סוד ה-webhook של הארגון שלכםX-ThunderPhone-Call-ID— מזהה השיחה הנוכחית
Content-Type: application/json מוגדר אלא אם endpoint.headers שלכם
דורסים אותו — Content-Type מותאם אישית גובר.
גוף הבקשה
עבורPOST / PUT / PATCH, הגוף מכיל רק את הארגומנטים של הכלי
(ללא מעטפת), בסריאליזציה קנונית (מפתחות ממוינים, מפרידים קומפקטיים):
GET / DELETE, הארגומנטים נשלחים בתור פרמטרים של שאילתה
והגוף ריק — החתימה מחושבת אז על מחרוזת בתים ריקה. ראו
אימות חתימות webhook.
תגובה
החזירו תגובת JSON עם תוצאת הכלי:{"data": "<text>"};
זמני קצובה וכשלי חיבור מדווחים ל-AI כשגיאות, כך
שהסוכן יכול להתנצל ולהמשיך במקום להיתקע.
ניתוב במצב webhook
כלים ללאendpoint מנותבים לכתובת ה-webhook הישנה של הארגון
שלכם כבקשת telephony.tool (שיחות טלפון) או web.tool
(שיחות web) חתומה. בניגוד להתראות ביקורת
שנשלחות לנקודות קצה של webhook לאחר הביצוע, בקשה זו היא
הביצוע — תגובת ה-HTTP שלכם היא תוצאת הכלי.
web.tool כולל origin_domain במקום from_number /
to_number. השיבו עם תוצאת הכלי כ-JSON — אותו חוזה תגובה
כמו בקריאות ישירות לנקודות קצה. הבקשה חתומה עם סוד ה-webhook של הארגון
על הגוף הגולמי, כמו כל webhook אחר.
נקודות קצה של webhook שנרשמו לקבלת התראות
מקבלות בנוסף התראת
telephony.tool / web.tool שאינה חוסמת
לאחר שכל כלי מופעל (בכל נתיב שהפעיל אותו), כולל
תגובת הכלי — שימושי עבור נתיבי ביקורת. ראו את
קטלוג האירועים.אימות חתימה
קריאות ישירות לכלים נחתמות באותו אופן כמו webhooks:- HMAC-SHA256 על בתים מדויקים של גוף הבקשה (ה-JSON הקנוני — מפתחות ממוינים, ללא רווחים נוספים)
- עם המפתח של סוד ה-webhook של הארגון שלכם
- כלים מסוג
GET/DELETEחותמים על מחרוזת בתים ריקה
דוגמה: תהליך הזמנה מלא
הנה מערך כלים למערכת מלאה להזמנת פגישות:שיטות מומלצות
כתבו תיאורים ברורים
כתבו תיאורים ברורים
השדה
description עוזר לבינה המלאכותית להבין מתי להשתמש בכלי. פרטו במדויק מה הוא עושה ומתי מתאים להשתמש בו.טפלו בשגיאות בצורה תקינה
טפלו בשגיאות בצורה תקינה
החזירו הודעות שגיאה שהבינה המלאכותית יכולה להבין:
{"error": "No slots available for that date"} במקום שגיאות 500 כלליות.שמרו על תגובות תמציתיות
שמרו על תגובות תמציתיות
החזירו רק את מה שהבינה המלאכותית צריכה כדי להמשיך את השיחה. מטענים גדולים מאטים את זמני התגובה.
השתמשו בשדות חובה בתבונה
השתמשו בשדות חובה בתבונה
סמנו שדות כ-
required רק כשזה באמת נחוץ. הבינה המלאכותית תבקש מהמשתמש את המידע הנדרש לפני הקריאה לכלי.קשור
חיבורי אפליקציות
כלים המנוהלים על ידי הפלטפורמה עבור HubSpot, Salesforce, Slack, Google
Calendar, Google Sheets ו-Cal.com — ללא צורך בנקודת קצה.
שרתי MCP
צרפו שרת MCP ואפשרו לסוכן לקרוא לכלים שלו.
חיבורי API
אינטגרציות REST לשימוש חוזר שתוכלו לצרף לסוכנים.
אמתו חתימות webhook
כלי עזר אחד לאימות עבור webhooks וקריאות לכלים.