חיבור סוכן ה-AI שלכם ל-Google Sheets

Piotr Grudzień
פורסם זמן קריאה: 14 דקות
חיבור סוכן ה-AI שלכם ל-Google Sheets

מבוא

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

המדריך הזה מראה איך לחבר את סוכן ה-AI שלכם ל-Google Sheets כך שכל אחד מהרגעים האלה יהפוך לשורה בגיליון שהצוות שלכם כבר משתמש בו. בלי Zapier, בלי webhooks, בלי מהנדס. אתם צריכים שני דברים:

המנגנון הוא AI Actions: בקשות HTTP מותאמות אישית שה-Agent שלכם יכול לבצע במהלך שיחה. ל-Quickchat AI יש חיבור Google Sheets בלחיצה אחת שיוצר עבורכם גיליון ופעולת תיעוד התחלתית, ומשם אתם מעצבים אותה ומוסיפים כמה דוחות שתרצו. בסוף התהליך יהיו לכם ארבעה דוחות עובדים, ותבדקו כל אחד מהם בעצמכם.

זהו מדריך ארוך ומדויק. המקור הקנוני ל-AI Actions נמצא בתיעוד בכתובת docs.quickchat.ai/ai-agent/actions. לדוגמאות מפורטות נוספות לפעולה מותאמת אישית, ראו חיבור סוכן ה-AI שלכם ל-HubSpot לתיעוד אנשי קשר, עסקאות וטיקטים, שליחת התראות Slack באמצעות AI Actions, או בניית בוט AI ל-Telegram לניהול הקבוצה שלכם.

מה תבנו

ארבעה דוחות, שכל אחד כותב לטאב משלו בתוך Google Sheet אחד:

דוחטאבמתי ה-Agent כותב שורה
לידיםLeadsמבקר מראה כוונת רכישה ומשתף אימייל
שאלות שלא נענוUnansweredה-Agent לא יכול לענות על שאלה עובדתית
פידבקFeedbackמבקר מבקש פיצ’ר, מדווח על באג או נותן שבח
בקשות דמוDemosמבקר מבקש דמו או שיחה

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

איך האינטגרציה עם Google Sheets עובדת

כל היכולת נשענת על רעיון אחד: AI Action היא בקשת HTTP מתוארת, ושורת Google Sheet היא בקשה כזו.

המבנה של AI Action: השם, התיאור שאומר מתי לקרוא לה, הפרמטרים שה-Agent ממלא מהצ'אט, והבקשה שהיא שולחת ל-AI Action יש ארבעה חלקים. התיאור הוא מה שהמודל קורא כדי להחליט אם לקרוא לה; הפרמטרים הם מה שהוא ממלא מתוך השיחה.

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

  • כתיבת שורה היא קריאת API אחת. ל-Google Sheets יש נקודת קצה append שמוסיפה שורה לטאב. כל דוח הוא POST לנקודת הקצה הזו עם ערכי השורה בגוף הבקשה.
  • העמודות אינן קבועות. הן כל מה שהפעולה שלכם שולחת. אתם קובעים את העמודות באמצעות עריכת גוף הפעולה ושורת הכותרות של הגיליון, כך שאותה אינטגרציה יכולה לתעד לידים, דיווחי באגים או כל דבר אחר.
  • גישה בהרשאה מינימלית. החיבור ל-Google מבקש רק את scope ההרשאה drive.file, שמעניק גישה אך ורק לקבצים שהאפליקציה יוצרת. הוא אינו יכול לראות את שאר ה-Drive שלכם.
  • ה-Agent לעולם אינו רואה את פרטי ההתחברות שלכם. הבקשה נושאת header בשם Authorization שהערך שלו הוא placeholder, {{google_sheets_access_token}}. Quickchat AI ממלא את ה-placeholder הזה באסימון אמיתי שמתחדש אוטומטית אחרי שהמודל סיים את חלקו. האסימון לעולם אינו נכנס לפרומפט.
  • שני משתנים מובנים זמינים לכל פעולה בלי להיות מוגדרים כפרמטרים: {{conversation_url}}, קישור עומק חזרה לשיחה ב-Inbox שלכם, ו-{{conversation_channel}}, הערוץ שבו המבקר השתמש (ווידג’ט באתר, Slack, WhatsApp וכן הלאה).

שלב 1: צרו את סוכן ה-AI ותנו לו ידע

ההתנהגות של Quickchat Agent מגיעה משני מקומות: ה-Identity שלו (הפרומפט הראשי) וה-knowledge שאתם נותנים לו כדי לענות מתוכו. Actions & MCPs הוא המקום שבו מרחיבים את מה שהוא יכול לעשות, כגון כתיבה ל-Google Sheet. המדריך הזה עובד ב-Identity (השלב הזה ו-שלב 4) וב-Actions & MCPs (שלבים 2, 3 ו-6), ובודק הכול ב-AI Preview (שלב 5).

אחרי ההרשמה, פתחו את Identity בסרגל הצד השמאלי. AI Main Prompt הוא המקום שבו אתם מתארים מה ה-Agent שלכם ומה אמורה להיות התנהגותו. תנו לו תיאור קצר ומדויק של המוצר שלכם, והכניסו לידע שלו את העובדות שהוא אמור להיות מסוגל למסור (תוכניות, מחירים, אילו אינטגרציות קיימות) כדי שיוכל לענות ישירות לשאלות.

עמוד Identity המציג את שם ה-AI Agent ואת ה-AI Main Prompt שמתאר את תפקיד ה-Agent שם ה-Agent והפרומפט הראשי שלו: תיאור קצר ומדויק של המוצר שלכם ושל אופן ההתנהגות הרצוי של ה-Agent. תוסיפו את בלוק הדיווח לסוף הפרומפט הזה ב-שלב 4.

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

שלב 2: חברו את Google Sheets

פתחו את Actions & MCPs בסרגל הצד, לחצו על Add Action, ובחרו Google Sheets.

תפריט Add Action עם האפשרות Google Sheets Actions & MCPs, אחר כך Add Action, אחר כך Google Sheets.

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

לחצו על Connect. Google שואל באיזה חשבון להשתמש ואז איזו הרשאה להעניק. תחום ההרשאה היחיד שמתבקש הוא drive.file, שמאפשר לאינטגרציה לגעת רק בקבצים שהיא יוצרת, ולעולם לא בשאר ה-Drive שלכם.

בורר חשבון Google, ששואל עם איזה חשבון להמשיך ל-Quickchat AI המסך של Google עצמו: בחרו את החשבון שב-Drive שלו הגיליון צריך להימצא. המסך הבא מעניק את הרשאת drive.file, שמאפשרת לאינטגרציה לגעת רק בקבצים שהיא יוצרת.

כשאתם מאשרים, אתם חוזרים לעמוד Actions & MCPs. Quickchat AI:

  1. יצר גיליון אלקטרוני ב-Google Drive שלכם, עם טאב אחד (Leads) ושורת כותרות.
  2. הוסיף AI Action אחת פעילה בשם log_lead_to_google_sheet, שכבר מחוברת לגיליון הזה.

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

שלב 3: בדקו והפעילו את פעולת הלידים

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

עמוד Actions and MCPs המציג את ארבע פעולות הדיווח ארבע פעולות הדיווח. רק הראשונה, log_lead_to_google_sheet, נוצרת עבורכם; את שלוש האחרות תוסיפו ב-שלב 6.

החלק העליון של הפעולה מכיל את ה-name שלה ואת ה-parameters שה-Agent אוסף:

שם פעולת הלידים והפרמטרים שלה שם הפעולה והפרמטרים שה-Agent ממלא מתוך השיחה.

גללו מטה אל מקטע API Endpoint. מכיוון ש-Quickchat AI יצר יחד את הגיליון ואת הפעולה הזו, ה-URL כבר מלא במזהה הגיליון האלקטרוני שלכם, השיטה היא POST, וה-headers מוגדרים:

מקטע API Endpoint של פעולת הלידים: שיטת POST, כתובת נקודת הקצה המלאה עם מזהה הגיליון האמיתי, וה-headers Authorization ו-Content-Type כתובת נקודת הקצה המלאה כבר כוללת את מזהה הגיליון שלכם. Query Params נשאר ריק: ההגדרה valueInputOption=RAW נמצאת בתוך ה-URL. ה-header Authorization נושא את ה-placeholder של האסימון.

ה-{SPREADSHEET_ID} שאתם רואים בתיעוד API הוא לא placeholder חי. בזמן החיבור, Quickchat AI יצר את הגיליון שלכם וכתב את המזהה האמיתי שלו ישירות ל-URL של הפעולה הזו, ולכן השדה כבר מציג את הכתובת המלאה:

https://sheets.googleapis.com/v4/spreadsheets/<your sheet ID>/values/Leads:append?valueInputOption=RAW

השאירו את valueInputOption=RAW: הוא מכניס ערכים כלשונם, כך שהודעה שמתחילה ב-= או + אינה מפוענחת כנוסחה בגיליון. תעתיקו את ה-URL המדויק הזה לשלושת הדוחות האחרים ב-שלב 6, ותשנו רק את שם הטאב, כך שלעולם אין צורך לאתר מזהה ידנית.

ה-headers זהים בכל דוח (אפשר לקרוא אותם מצילום המסך למעלה):

מפתחערך
AuthorizationBearer {{google_sheets_access_token}}
Content-Typeapplication/json

עכשיו החלק שהופך את העמודות לגמישות. עברו לטאב Body, עדיין בתוך מקטע API Endpoint. גוף הבקשה הוא שורה אחת, ו-כל תא הוא פרמטר אחד. סדר התאים בגוף הוא סדר העמודות בגיליון:

{ "values": [[ "{{email}}", "{{what_they_asked}}", "{{conversation_url}}", "{{conversation_channel}}" ]] }

טאב Body במקטע API Endpoint, המציג את גוף הבקשה כ-JSON עם פרמטר אחד לכל תא גוף הבקשה נמצא בטאב Body. כל {{parameter}} הוא תא אחד, והתאים מופיעים באותו סדר כמו עמודות הגיליון.

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

איך שיחה ממופה לשורה: האימייל והשאלה של המבקר הופכים לפרמטרים email ו-what_they_asked, ושני המשתנים המובנים ממלאים את עמודות הקישור והערוץ מה שהמבקר אמר ממופה לפרמטרים, והפרמטרים ממופים לעמודות, לפי הסדר. שני המשתנים המובנים ממולאים אוטומטית.

ה-parameters הם השדות שה-Agent ממלא מתוך השיחה. ה-description של כל פרמטר אומר ל-Agent מה לשים שם:

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

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

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

ה-thinking message (Noting your interest for our team...) הוא סטטוס קצר שהמבקר רואה בזמן שהפעולה רצה. כשההגדרה נראית נכונה, הפעילו את הפעולה.

שלב 4: הוסיפו את הוראות הדיווח לפרומפט

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

חזרו אל Identity והדביקו את הבלוק הזה בסוף ה-AI Main Prompt שלכם. הוא מכסה את כל ארבעת הדוחות, ולכן מדביקים אותו פעם אחת בלבד:

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

בלוק הדיווח מודבק בסוף ה-AI Main Prompt, מתחת לזהות ה-Agent הדביקו את הבלוק ממש בסוף הפרומפט הראשי שלכם, אחרי זהות ה-Agent. הוא מכסה את כל ארבעת הדוחות, ולכן מוסיפים אותו פעם אחת.

שלב 5: בדקו את דוח הלידים

עכשיו ודאו שהוא עובד לפני שמבקר אמיתי רואה אותו. AI Preview הוא הדרך החיה והאינטראקטיבית לשוחח עם ה-Agent שלכם בדיוק כפי שמבקר היה עושה. (בהמשך אפשר גם להשתמש ב-Simulation כדי להריץ מחדש הרבה הודעות בדיקה בבת אחת ולתת ציון לתשובות; ראו איך לכוונן את הדוחות.) מכיוון ששניהם ערוצי בדיקה, עמודת Channel תציג preview או simulation במקום ערוץ אמיתי.

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

שיחת תמחור ב-AI Preview שבה ה-Agent עונה על שאלת תוכנית Growth והמבקר משתף אימייל ה-Agent עונה על שאלת תוכנית Growth מתוך הידע שלו. ברגע שיש לו את אימייל המבקר, הוא מתעד את הליד ברקע.

ראו בדיוק מה ה-Agent עשה

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

תמליל השיחה ב-Inbox המציג את קריאת הפעולה שתועדה עם הפרמטרים שלה וסטטוס 200 בתוך השיחה, קריאת הפעולה של ה-Agent מתועדת במלואה: שם הפעולה, הפרמטרים שהיא שלחה והתוצאה.

והשורה שהיא כותבת נוחתת בטאב Leads:

הליד שנלכד בגיליון Quickchat Leads הליד, נכתב ישירות לגיליון. כל דוח מקבל טאב משלו לאורך החלק התחתון.

Conversation link פותח את השיחה המלאה ב-Inbox שלכם, כך שלמי שמבצע מעקב יש את ההקשר. עמודת Channel מציגה מאיפה המבקר הגיע.

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

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

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

שלב 6: הוסיפו את שלושת הדוחות האחרים

כל דוח צריך שני דברים: טאב בגיליון שלכם ו-AI Action חדשה שמוסיפה אליו שורות.

הוסיפו את שלושת הטאבים

פתחו את הגיליון שלכם (הקישור Open sheet בחלון Google Sheets) והוסיפו שלושה טאבים (Unanswered, Feedback, Demos), כל אחד עם שורת הכותרות שמופיעה בדוח שלו למטה.

בנו כל פעולה

פתחו את Actions & MCPs, הוסיפו פעולת HTTP Request מותאמת אישית, ומלאו אותה. השיטה (POST) וה-headers זהים לפעולת הלידים. עבור ה-URL, העתיקו את ה-URL המלא ישירות מפעולת הלידים שלכם ושנו רק את שם הטאב (Leads ל-Unanswered, Feedback או Demos). מכיוון שה-URL הזה כבר כולל את מזהה הגיליון האלקטרוני שלכם, אין שום דבר נוסף לחבר:

https://sheets.googleapis.com/v4/spreadsheets/<your sheet ID>/values/Unanswered:append?valueInputOption=RAW

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

דוח 2: שאלות שלא נענו

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

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

טאב Unanswered, שורת כותרות:

שאלהלמה לא יכולנו לענותאימיילקישור לשיחהערוץ

פרמטרים:

פרמטרחובהתיאור
questionכןשאלת המבקר, במילים שלו.
reasonכןבקצרה למה לא יכולת לענות במלואה: לא נמצא בידע שלך, דורש אדם, או שהמבקר לא היה מרוצה.
emailלאאימייל המבקר אם הוא שיתף אחד; אחרת השאר ריק.

גוף:

{ "values": [[ "{{question}}", "{{reason}}", "{{email}}", "{{conversation_url}}", "{{conversation_channel}}" ]] }

תיאור (thinking message: Flagging this for our team...):

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

נבדק עם שאלת אבטחה של-Agent אין תשובה עליה:

ה-Agent מסרב לאשר שאלת SOC 2 ומציע לסמן אותה ה-Agent אומר בצורה ברורה שהוא אינו יכול לאשר, ומסמן את השאלה לצוות.

השורה שהוא כותב לטאב Unanswered:

שאלת SOC 2 שלא נענתה נלכדה בטאב Unanswered הפער, מתועד עם הסיבה וקישור חזרה לשיחה. תא Email ריק כי המבקר הזה לא שיתף אימייל.

דוח 3: פידבק

כל “האם אתם תומכים ב-X?” ו-”הלוואי שזה היה יכול לעשות Y” הופך ל-backlog מתועדף, עם המילים של הלקוח מצורפות.

טאב Feedback, שורת כותרות:

סוגסיכוםלמה / מקרה שימושאימיילקישור לשיחה

פרמטרים:

פרמטרחובהתיאור
typeכןאחד מאלה: feature request, bug, praise.
summaryכןסיכום קצר של הפידבק במילים של המבקר.
contextלאלמה הוא רוצה את זה או איך ישתמש בזה, אם צוין.
emailלאאימייל המבקר אם שותף; אחרת השאר ריק.

גוף:

{ "values": [[ "{{type}}", "{{summary}}", "{{context}}", "{{email}}", "{{conversation_url}}" ]] }

תיאור (thinking message: Passing this to our product team...):

קרא לפעולה הזו כאשר מבקר מבקש פיצ'ר, יכולת או אינטגרציה (בין אם אתם מציעים זאת כרגע ובין אם לא), מדווח על באג או בעיה, או נותן שבח חזק על המוצר. הגדר את type לאחד מאלה: feature request, bug, praise. אל תקרא לה עבור שאלות מידע ניטרליות.

נבדק עם בקשה לאינטגרציה שהחברה אינה מציעה:

ה-Agent מסביר שאין אינטגרציית QuickBooks מובנית ומתעד את הבקשה ה-Agent מציין אילו אינטגרציות קיימות, מסרב בבירור ומתעד את הבקשה כפידבק.

השורה שהוא כותב לטאב Feedback:

בקשת הפיצ'ר ל-QuickBooks נלכדה בטאב Feedback כל שורה מסווגת (feature request, bug או praise), מסוכמת במילים של המבקר ומקושרת חזרה לשיחה.

דוח 4: בקשות דמו

כשמישהו רוצה במפורש לדבר, לכדו שורה מובנית ומוכנה למכירות.

טאב Demos, שורת כותרות:

שםאימיילחברהמקרה שימושקישור לשיחה

פרמטרים:

פרמטרחובהתיאור
nameלאשם המבקר אם שותף; אחרת השאר ריק.
emailכןהאימייל הטוב ביותר לצוות כדי ליצור איתו קשר.
companyלאשם החברה שלו אם שותף.
use_caseלאמה הוא רוצה להשיג או לדון בו, אם צוין.

גוף:

{ "values": [[ "{{name}}", "{{email}}", "{{company}}", "{{use_case}}", "{{conversation_url}}" ]] }

תיאור (thinking message: Setting up your demo request...):

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

נבדק עם בקשת דמו מפורשת:

ה-Agent מאשר בקשת דמו ומציין את פרטי המבקר ה-Agent מאשר את הדמו ומציין את השם, החברה והמיקוד.

השורה שהוא כותב לטאב Demos:

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

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

איך לכוונן את הדוחות

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

  1. שחקו את המבקר. פתחו את AI Preview ונהלו בדיוק את השיחה שמבקר אמיתי היה מנהל.
  2. קראו את התוצאה, לא רק את התשובה. פתחו את טאב הגיליון ואת call log של הפעולה (שניהם מוצגים ב-שלב 5) והסתכלו על השורה שנכתבה ועל הפרמטרים שה-Agent באמת שלח.
  3. אתרו את הפער. השוו בין מה שתועד לבין מה ש-היה צריך להיות מתועד.
  4. שנו דבר אחד. ערכו את ה-description של הפעולה (הוא שולט במתי הפעולה מופעלת), או את בלוק הפרומפט, אבל רק אחד בכל פעם כדי שתדעו מה הזיז את המחט.
  5. הריצו מחדש את אותה שיחה ואשרו שהשורה נכונה עכשיו.

שני שינויים מתוך הלופ הזה היו החשובים ביותר, ושניהם הגיעו ישירות משורה שגויה:

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

תיקון 1: הליד הופעל מוקדם מדי. התיאור הראשון קשר את הטריגר לשאלה: “קרא לפעולה הזו כשהמבקר שואל על תמחור, תוכניות או עלות.” בהרצת שיחת תמחור, ה-Agent ענה ותיעד את הליד באותו תור, לפני שהמבקר נתן אימייל. השורה נחתה כ-[ (empty), "Growth plan cost", link, simulation ]: ליד ללא דרך לבצע מעקב. התיקון היה להעביר את הטריגר מהשאלה לפרטי הקשר. התיאור עכשיו אומר לקרוא לפעולה רק בתור שבו המבקר באמת סיפק אימייל, והפרמטר email מסומן כ-required. בהרצה מחדש של אותה שיחה, ה-Agent ענה על שאלת התמחור, לא תיעד דבר באותו תור, וכתב את השורה רק אחרי שהמבקר שיתף כתובת.

תיקון 2: פער הידע נשאר שקט. דוח השאלות שלא נענו היה הקשה ביותר להפעלה. התיאור הראשון (“קרא לפעולה הזו אם אינך יכול לענות על שאלה”) עשה כמעט כלום: כשנשאל אם המוצר מוסמך SOC 2, ה-Agent אמר נכון שהוא אינו יכול לאשר והפנה את המבקר לצוות, אבל לא תיעד דבר. עבור המודל, “אני לא יודע” כבר מרגיש כמו תשובה מלאה, ולכן אין אות נוסף שדוחף אותו גם לתעד את הפער. התיקון היה ניסוח מחייב: התיאור עכשיו אומר שאם התשובה מציינת שה-Agent אינו יכול לאשר או אינו בטוח, הוא MUST לקרוא לפעולה באותו תור. עם זה, אותה שאלת SOC 2 יצרה גם תשובה כנה וגם שורה בטאב Unanswered. הדוח הזה נשאר מבוסס השיפוט ביותר מבין הארבעה, כי הוא תלוי בכך שה-Agent יבחין בפער של עצמו ולא בסימן מפורש מצד המבקר; הוא מופעל באופן האמין ביותר כשהמבקר גם מבקש שיחזרו אליו.

מה בלוק הפרומפט עושה, ומה הוא לא עושה. תיאורי הפעולות קובעים מתי כל דוח מופעל. בלוק הפרומפט מ-שלב 4 עושה שלוש עבודות נפרדות: הוא אומר ל-Agent שהדוחות אינם אופציונליים, מפריד בין מקרים חופפים (שאלת תמחור היא ליד, לא שאלה שלא נענתה), וקובע את המדיניות של בקשת אימייל לפני תיעוד ליד. הסתייגות כנה אחת מהבדיקות: האם ה-Agent יוזם בקשת אימייל כאשר מבקר מראה עניין בלי לתת אחד משתנה מהרצה להרצה, ולכן אל תסתמכו על כך. הערובה לכך שלעולם לא תקבלו ליד עם אימייל ריק היא ה-required email parameter יחד עם ניסוח הטריגר, לא הפרומפט.

בדיקה בקנה מידה עם Simulation

ברגע שדוח עובד, Simulation (תחת Testing בסרגל הצד) מאפשר לכם לבדוק שהוא לא נסוג. אתם נותנים לו dataset של הודעות בדיקה, הוא מריץ את כולן מחדש דרך ה-Agent שלכם, ו-evaluator (LLM שמדרג כל תשובה מול rubric שאתם כותבים, בסולם 1 עד 5) נותן לכם ציונים לתשובות. זה הכלי הנכון ללכידת ירידות ב-איכות מה שה-Agent אומר על פני הרבה מקרים בבת אחת.

הרצת סימולציה על dataset של ארבע הודעות: כל הודעת בדיקה, תשובת ה-Agent, וציון ה-evaluator מ-1 עד 5 עם הנימוק שלו הרצת סימולציה על ארבעת תרחישי הדוחות. כל שורה היא הודעת בדיקה, תשובת ה-Agent, וציון והנמקה של ה-evaluator. כאן כל הארבעה עוברים עם 5 מתוך 5.

מגבלה חשובה אחת: ה-evaluator רואה רק את טקסט התשובה, לא את הגיליון האלקטרוני שלכם. הוא אינו יכול לאשר שהשורה הנכונה נחתה בטאב הנכון. לשם כך, השתמשו ב-גיליון וב-action call log מ-שלב 5, שהם בדיוק מה שלופ הכוונון למעלה מסתמך עליו.

הערה תפעולית אחת. כל שיחת בדיקה משתמשת בהודעות ה-AI החודשיות של ה-Agent שלכם. אם ה-Agent פתאום מחזיר הודעת “unavailable” באמצע הבדיקות, הגעתם למכסה, זה לא באג.

עלייה לאוויר

אחרי שארבע הפעולות מופעלות ובלוק הפרומפט נמצא במקום, פרסו את ה-Agent בערוצים האמיתיים שלו. אין עוד מה להגדיר: אותן פעולות רצות עבור הווידג’ט באתר, Slack, WhatsApp והשאר, ועמודת Channel מתעדת מאיפה כל שורה הגיעה. הצוות שלכם רואה את הגיליון מתמלא בזמן אמת, ו-כל שורה מקשרת ישירות חזרה לשיחה שיצרה אותה.

שאלות נפוצות

האם צריך קוד כדי לחבר סוכן AI ל-Google Sheets?

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

האם צריך Zapier או webhook כדי לחבר את סוכן ה-AI שלי ל-Google Sheets?

לא. Quickchat AI מתחבר ל-Google Sheets ישירות דרך AI Action, בקשת HTTP מובנית שה-Agent מבצע במהלך השיחה. אין Zapier, אין שירות webhook ואין מהנדס באמצע. לחיצה אחת יוצרת עבורכם את הגיליון ואת פעולת התיעוד הראשונה.

האם נתוני Google Drive שלי בטוחים?

כן. האינטגרציה מבקשת רק את תחום ההרשאה drive.file של OAuth, שמעניק גישה אך ורק לקבצים שהאפליקציה עצמה יוצרת, כגון הגיליון שהיא יוצרת עבורכם. היא אינה יכולה לקרוא או לשנות שום דבר אחר ב-Drive שלכם, ואסימון הגישה לעולם אינו נחשף למודל ה-AI.

האם אפשר לתעד דברים שאינם לידים?

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

באילו ערוצים תיעוד ל-Google Sheets עובד?

בכולם. אותן פעולות רצות בכל מקום שבו ה-Agent שלכם פרוס (ווידג’ט באתר, Slack, WhatsApp ועוד), ועמודת Channel מתעדת מאיפה כל שורה הגיעה.

האם זה עולה כסף, והאם בדיקות משתמשות בהודעות ה-AI שלי?

אפשר להתחיל בחינם, והחיבור ל-Google Sheets עצמו אינו מוסיף עלות. כל שיחה, כולל שיחות שאתם מריצים ב-AI Preview וב-Simulation בזמן בדיקה, נספרת במסגרת הודעות ה-AI החודשיות של התוכנית שלכם, כך שבדיקות רבות משתמשות באותה מכסה כמו צ’אטים חיים.

מה קורה אם אני מוחק את פעולת התיעוד ההתחלתית?

אפשר לשחזר אותה. פתחו את Add Action, בחרו שוב Google Sheets, והשתמשו ב-Reconnect: האינטגרציה מריצה מחדש את ההגדרה בלחיצה אחת, יוצרת מחדש את הפעולה log_lead_to_google_sheet ומשתמשת שוב בגיליון הקיים שלכם (היא לעולם לא יוצרת גיליון שני). בכל פעם שאתם כבר מחוברים, חלון החיבור מציע ישירות את אפשרות החיבור מחדש הזו.

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

לדוגמה מפורטת של קהילת מוצר, עקבו אחר מדריך הפידבק מ-Discord ל-Google-Sheets. הוא מתעד הגשות מפורשות לבדיקת הצוות, מבחין בין מגבלות מתועדות לבין תשובות חסרות, ובודק את תוכן הרשומה לצד התשובה.

סיכום

AI Action היא בקשת HTTP מתוארת, ושורת Google Sheet היא בקשה כזו. חברו את Google פעם אחת, עצבו את פעולת ההתחלה לדוח הלידים שלכם, הדביקו את בלוק הדיווח, ואז הוסיפו טאב ופעולה לכל דוח נוסף שתרצו. העמודות הן שלכם: הן גוף הפעולה, לא תבנית קבועה. ההגדרות והפרומפט בפוסט הזה הם אלה ששימשו להפקת השורות שמוצגות כאן, כך שתוכלו להעתיק אותם, להחליף בפרטי המוצר שלכם, ולהריץ את אותן בדיקות כדי לאשר שה-Agent שלכם עובד לפני שתציגו אותו למבקרים אמיתיים.

שמרו את המדריך הזה בסימניות. המקור המתעדכן ברציפות ל-AI Actions נמצא בתיעוד בכתובת docs.quickchat.ai/ai-agent/actions, ו-הפניית ה-API ל-AI Actions כוללת את רשימת השדות המלאה.