Skip to main content
כלי פונקציה מאפשרים לסוכני ה-AI שלכם להפעיל ממשקי API חיצוניים במהלך שיחות טלפון. השתמשו בהם כדי לחפש נתוני לקוחות, לבדוק זמינות, לקבוע פגישות או לבצע כל פעולה שה-backend שלכם תומך בה.

איך זה עובד

  1. הגדירו כלים באמצעות סכימה (אילו ארגומנטים הכלי מקבל)
  2. ספקו תצורת endpoint (המקום שבו ThunderPhone קורא ל-API שלכם) — או השמיטו אותה כדי לקבל קריאות לכלים ב-webhook של הארגון שלכם
  3. במהלך שיחה, ה-AI מחליט מתי להשתמש בכלי על סמך השיחה
  4. ThunderPhone קורא ל-endpoint שלכם עם ארגומנטי הכלי
  5. תגובת ה-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 מותאם אישית גובר.
החתימה משתמשת בסוד ה-webhook ברמת הארגון מתוך GET /v1/webhook. אם הארגון שלכם מעולם לא הגדיר את ה-webhook הישן, אין סוד וקריאות לכלים כוללות רק את X-ThunderPhone-Call-ID — מטפל שנכשל באופן קשיח כאשר חסרה חתימה ידחה אותן. הגדירו את ה-webhook הישן כדי לקבל סוד, או הציבו סוד משותף משלכם ב-endpoint.headers.

גוף הבקשה

עבור POST / PUT / PATCH, הגוף מכיל רק את הארגומנטים של הכלי (ללא מעטפת), בסריאליזציה קנונית (מפתחות ממוינים, מפרידים קומפקטיים):
עבור GET / DELETE, הארגומנטים נשלחים בתור פרמטרים של שאילתה והגוף ריק — החתימה מחושבת אז על מחרוזת בתים ריקה. ראו אימות חתימות webhook.

תגובה

החזירו תגובת JSON עם תוצאת הכלי:
התגובה מעוצבת ומועברת ל-AI כדי להמשיך את השיחה. תגובות שאינן 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 חותמים על מחרוזת בתים ריקה
המתכונים המלאים — כולל המקרה של גוף ריק וההסתייגות לגבי היעדר סוד — נמצאים ב-אימות חתימות webhook.

דוגמה: תהליך הזמנה מלא

הנה מערך כלים למערכת מלאה להזמנת פגישות:

שיטות מומלצות

השדה 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 וקריאות לכלים.